ch392 接收緩沖區(qū)的數(shù)據(jù)讀取后仍然保留在接收緩沖區(qū)中, CH392ClearRecvBuf 無效

發(fā)現(xiàn)用CH392GetRecvLength獲取長度,CH392GetRecvData讀取數(shù)據(jù)后,接收緩沖區(qū)的數(shù)據(jù)任然保留著,于是在CH392GetRecvData讀取數(shù)據(jù)后,主動用?CH392ClearRecvBuf 清除該socket的接收緩存,但是無效,這可能是什么原因造成呢?

我的應(yīng)用輪詢讀CH392接收緩沖區(qū)的有效數(shù)據(jù)長度,有數(shù)據(jù)就進(jìn)行處理,實(shí)際沒有用到中斷,是這種方式不可行嗎?


我用的淘寶買的以太網(wǎng)模塊,spi接口,讀到的芯片版本23.又發(fā)現(xiàn)2個問題

  1. 按照例程 tcp _server的設(shè)置打開socket 0 后,在發(fā)送listen命令后,用串口讀取到的數(shù)據(jù)是socket 0 的第一個狀態(tài)碼即socket狀態(tài)時0x05,但第二個TCP狀態(tài)碼是關(guān)閉狀態(tài),如果延時20ms多發(fā)送幾次listen命令,讀到的第一和第二狀態(tài)碼都是2f,并且listen命令的返回碼是0x2c

  2. 還是做tcp server 實(shí)驗(yàn),如果只打開socket3,會同時檢測到socket 0 的第一狀態(tài)碼也打開了。之前的實(shí)驗(yàn)也發(fā)現(xiàn)打開socket 0,1,2 沒有打開socket3,卻發(fā)現(xiàn)在收到syn報文后,socket 3自動打開并進(jìn)入connect狀態(tài)。

    程序方面已經(jīng)按例程改到最簡,區(qū)別就是uart接口和spi的區(qū)別了

  3. 1653008683893463.png

  4. 1653008683164198.jpg




“我的應(yīng)用輪詢讀CH392接收緩沖區(qū)的有效數(shù)據(jù)長度,有數(shù)據(jù)就進(jìn)行處理,實(shí)際沒有用到中斷,是這種方式不可行嗎?”,這種方式不太合理,會很占用CH392的處理,正常情況是讀出數(shù)據(jù)后緩沖區(qū)數(shù)據(jù)就會自動清空。


還是不太對,可能是硬件問題,不知有沒有朋友用過這個款的模塊,是否有成功工作的?


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

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