CH395Q 初始化socket失敗

采用異步串口通信,Socket 0 作為TCP服務器;

CH395Q初始化時,出現(xiàn)兩個失敗:

(1)CH395OpenSocket(0),函數(shù)返回值為0x20;

(2)CH395TCPListen(0),函數(shù)返回值為0x11,CH395_ERR_MEM? ? 0x11;

請問應該是什么問題導致,謝謝

另外,Socket 0 的發(fā)送/接收緩沖區(qū)是5K

CH395SetSocketRecvBuf(0,0,10); ? /* Socket 0 ,接收緩沖區(qū)10*512 = 5K,發(fā)送緩沖區(qū)10*512 = 5K*/

CH395SetSocketSendBuf(0,10,10);??



使用P52 / RST,作為復位PIN

52 26 RST 輸出 電源上電復位和外部復位輸出,高電平有效




您好,

1.返回0x20代表socket已打開,排查一下代碼是否在其他地方已經(jīng)開啟了socket。如果沒有,在打開socket前調(diào)用close函數(shù)測試一下是否可以恢復正常。

2.返回0x11代表內(nèi)存錯誤,正常不會產(chǎn)生此錯誤??梢韵炔辉O置socket收發(fā)緩沖區(qū)測試一下。

3.關(guān)于收發(fā)緩沖區(qū)的設置,參考手冊的8.3.9章節(jié)說明。

4.根據(jù)您的描述,應該用的是CH395L,可以用0x01命令查一下固件版本。另外,52腳并不是復位腳,395L的復位腳是RSTI(63腳),拉低復位。建議在操作395前執(zhí)行一下復位操作。


如果方便,可將您的芯片版本和測試代碼郵件發(fā)來看一下(郵箱:lq@wch.cn)


多謝答疑,還有幾個問題想請教下;

1.返回0x20代表socket已打開,排查一下代碼是否在其他地方已經(jīng)開啟了socket。如果沒有,在打開socket前調(diào)用close函數(shù)測試一下是否可以恢復正常。

2.返回0x11代表內(nèi)存錯誤,正常不會產(chǎn)生此錯誤。可以先不設置socket收發(fā)緩沖區(qū)測試一下。

===此兩處錯誤,我使用CH395SetKeepLive(0,1);后,Socket 0 初始化正常,

===請問下CH395SetKeepLive作用是什么,對后面報文收發(fā),有無影響;


4.根據(jù)您的描述,應該用的是CH395L,可以用0x01命令查一下固件版本。另外,52腳并不是復位腳,395L的復位腳是RSTI(63腳),拉低復位。建議在操作395前執(zhí)行一下復位操作。

===? 我描述有誤,板子上使用的芯片是CH395Q E284版本,硬件設計 26腳作為復位引腳,和MCU的引腳相連;

=== 請問下,26腳(RST)作為復位引腳,CH395Q能否正常使用;還是說,必須要使用36腳(RSTI),和MCU相連;



上一個關(guān)于 1? 2 的問題,回答有誤,我再把操作說明下;

1.返回0x20代表socket已打開,排查一下代碼是否在其他地方已經(jīng)開啟了socket。如果沒有,在打開socket前調(diào)用close函數(shù)測試一下是否可以恢復正常。

2.返回0x11代表內(nèi)存錯誤,正常不會產(chǎn)生此錯誤??梢韵炔辉O置socket收發(fā)緩沖區(qū)測試一下。

===?此兩處錯誤,在以下操作后,Socket 0 初始化正常;

? ? ? ? ? (1)代碼添加 CH395CMDReset(),對CH395Q進行復位,代碼燒錄板子上,此時CH395Q不通;

? ? ? ? ? (2)再注掉?CH395CMDReset(),代碼燒錄板子上,CH395Q通,且Socket 0 初始化成功;


有兩個問題,(1)CH395指令,有沒有解復位的指令;

? ? ? ? ? ? ? ? ? ? ?(2)Socket 0 初始化失敗,是不是和您講的,與復位引腳有關(guān);必須要使用36腳(RSTI),和MCU相連;


您好,

1.keeplive功能為tcp的保活機制,具體作用可參考網(wǎng)上資料。該功能本身不會影響tcp通信,開啟keeplive功能對于tcp客戶端和tcp服務器有些不同,可參考手冊5.59章節(jié)。

image.png

2.open_socket和是否開啟keepLive功能無關(guān),建議您可以用邏輯分析儀抓時序看一下是否因時序問題導致socket打開異常。

3.RST引腳是輸出腳,RSTI腳才是復位腳,想要實現(xiàn)引腳復位需要接RSTI腳。建議在操作395前加上對其的復位操作。

image.png

4.?CH395CMDReset() 該命令執(zhí)行的是通過寫入復位命令碼實現(xiàn)復位,調(diào)用此命令后需延時50ms左右。image.png


可以參考我司提供的例程并對照手冊進行開發(fā)設計。后續(xù)有其他問題可郵件交流:(lq@wch.cn)

手冊:http://www.findthetime.net/downloads/CH395DS1_PDF.html

EVT例程:http://www.findthetime.net/downloads/CH395EVT_ZIP.html


非常感謝!請問第4條,

4.?CH395CMDReset() 該命令執(zhí)行的是通過寫入復位命令碼實現(xiàn)復位,調(diào)用此命令后需延時50ms左右。

=== 請問下,有沒有復位的命令,我在手冊沒找到;

? ? ? ?因為寫入復位命令碼后,CH395Q就不通信了;


395沒有解復位的命令。

建議執(zhí)行復位后通過check命令(命令碼:0x06)確保通信接口是正常的,否則后續(xù)操作肯定是異常的導致無法正常通信??梢杂眠壿嫹治鰞x抓一下上電后的時序,這樣可以較容易分析和排查問題。

可把抓的時序發(fā)送到我的郵箱看一下(郵箱:lq@wch.cn)


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频