@TECH48?
您好,ch395模塊通過(guò)網(wǎng)線和電腦連接,可以在ch395模塊端獲取到電腦的mac地址嗎?如果可以,能否告知具體方法。如果不能,有沒(méi)有其他芯片有該功能呢?
@TECH48?
您好,ch395模塊通過(guò)網(wǎng)線和電腦連接,可以在ch395模塊端獲取到電腦的mac地址嗎?如果可以,能否告知具體方法。如果不能,有沒(méi)有其他芯片有該功能呢?
您好,CH395可以獲取到電腦端mac地址。將395的socket0配置成macraw模式(僅socket0支持macraw模式),電腦端會(huì)發(fā)送arp包,395在接收中斷中收到后可以解析出電腦的mac地址。
具體步驟可以參考MACRAW例程。后續(xù)有其他問(wèn)題可以郵箱聯(lián)系(lq@wch.cn)
您好,我使用單個(gè)socket作為客戶端發(fā)送數(shù)據(jù),實(shí)測(cè)發(fā)現(xiàn)最大只能發(fā)4k字節(jié)的數(shù)據(jù),修改緩沖區(qū)多次沒(méi)有成功。
請(qǐng)問(wèn)CH395對(duì)單次發(fā)送最大字節(jié)數(shù)據(jù)有限制么?是否可以如圖修改單個(gè)socket緩沖區(qū),其他緩沖區(qū)均不配置?緩沖區(qū)配置后有什么注意事項(xiàng),或需要放在哪個(gè)操作前后呢?
您好,CH395可以調(diào)用上述函數(shù)向socket發(fā)送緩沖區(qū)寫入數(shù)據(jù),數(shù)據(jù)寫入后由底層協(xié)議棧去往外發(fā)送,發(fā)送時(shí)數(shù)據(jù)包的長(zhǎng)度最大為1514,發(fā)送完成后會(huì)產(chǎn)生發(fā)送緩沖區(qū)空的中斷,只有在產(chǎn)生發(fā)送該中斷后才能繼續(xù)向發(fā)送緩沖區(qū)中再次寫入數(shù)據(jù)。因此,采用默認(rèn)的2K大小即可。后續(xù)其他問(wèn)題可以郵箱交流(lq@wch.cn)
您好,請(qǐng)教一個(gè)問(wèn)題,目前我們使用的是gd32f2系列的單片機(jī),通過(guò)spi連接到ch395,做udp服務(wù)器,總共有3種udp包都使用socket2,基本上頻率都在50-100ms之間,長(zhǎng)度為13-30個(gè)字節(jié)之間,目前在客戶那里發(fā)生一個(gè)現(xiàn)象,在上電后,udp通信2-3s之后,udp就無(wú)法接收數(shù)據(jù)了,具體為讀取中斷狀態(tài),發(fā)現(xiàn)socket2接收緩沖區(qū)非空為1,但是讀取接收緩沖區(qū)的長(zhǎng)度卻為0。放大了接收緩沖區(qū)沒(méi)有發(fā)現(xiàn)有什么用,請(qǐng)問(wèn)這可能是什么原因?qū)е碌哪兀?/p>
再添加一個(gè)情況,在我們的設(shè)備直連電腦進(jìn)行udp模擬測(cè)試時(shí),會(huì)發(fā)現(xiàn)發(fā)送sendto的返回值為0xff
您好,我這邊用例程測(cè)試,同時(shí)有三個(gè)UDP客戶端給395發(fā)不同數(shù)據(jù)包是沒(méi)有問(wèn)題的,如果方便的話可以將您的代碼和原理圖發(fā)我看一下,還有您說(shuō)的發(fā)送sendto的返回值為0xff,具體指的是哪個(gè)函數(shù),也可通過(guò)郵箱交流(郵箱:lq@wch.cn )
您好,已發(fā)送至您郵件。sendto是指的socket中udp的發(fā)送函數(shù),內(nèi)部是調(diào)用的貴司ch395的發(fā)送,在發(fā)送完之后判斷發(fā)送完成中斷超時(shí),所以返回0xff,成功則返回0
我有一個(gè)很奇怪的問(wèn)題,我使用CH395Q,SPI模式。我將SOCKET0設(shè)置為TCP CLIENT時(shí),使用CH395CMDGetSocketStatus去獲取socket與tcp狀態(tài),軍可以獲得正確的結(jié)果,且數(shù)據(jù)發(fā)送與接收通訊正常。而使用TCP SERVER時(shí),socket的建立過(guò)程都是正確的,且外部可以與這個(gè)服務(wù)建立連接,但不能接收與發(fā)送數(shù)據(jù)也不能進(jìn)入中斷,使用CH395CMDGetSocketStatus去獲取socket與tcp狀態(tài)都是0。可以提供一些解決思路嗎?換成UDP時(shí),使用CH395CMDGetSocketStatus去獲取socket狀態(tài),也是0,非常不解,急需支持
您好,395做服務(wù)器時(shí)是多連接的,配置的socket只負(fù)責(zé)監(jiān)聽(tīng),還需要設(shè)置其他socket來(lái)進(jìn)行數(shù)據(jù)通信。
可以參考一下我司的例程:Socket-8-TCP-Server.zip,也可以把代碼發(fā)郵箱看一下(郵箱:lq@wch.cn)
用CH395Q開(kāi)發(fā)的網(wǎng)絡(luò)模塊,用一段時(shí)間,就會(huì)壞掉,連接不上,是什么問(wèn)題?
用CH395Q開(kāi)發(fā)的網(wǎng)絡(luò)模塊,用一段時(shí)間,就會(huì)壞年,連接不上,是什么問(wèn)題?
您好,如果是CH395做tcp_client連接一段時(shí)間后就自動(dòng)斷開(kāi)連接:
1.395如果沒(méi)有開(kāi)啟keep_alive功能,檢查一下是否因?yàn)榻⑦B接后長(zhǎng)時(shí)間不通信由keep_alive機(jī)制導(dǎo)致的斷開(kāi)
2.wireshark抓一下斷開(kāi)和再次連接的網(wǎng)絡(luò)包分析一下情況
3.如果395還在正常運(yùn)行只是因?yàn)槟撤N原因斷開(kāi)后再次連接不能連上,此時(shí)換個(gè)源端口去連接對(duì)端服務(wù)器看是否能再次建立連接
后續(xù)可以把抓包和日志發(fā)我分析一下,也可通過(guò)郵箱交流問(wèn)題(郵箱:lq@wch.cn)
你好,我們現(xiàn)在用的是2個(gè)CH395Q互相連接,現(xiàn)在出現(xiàn)的問(wèn)題是如果兩個(gè)同時(shí)上電,有一定概率出現(xiàn)無(wú)法連接的情況,觀察網(wǎng)線發(fā)現(xiàn)指示燈不亮,軟件部分的話初始化沒(méi)問(wèn)題,想請(qǐng)問(wèn)一下是不是在中斷里需要進(jìn)行操作重連,還有就是為什么是概率出現(xiàn)斷連的情況。
您好,可能是phy沒(méi)有協(xié)商成功,可以嘗試用交叉線進(jìn)行連接或在失敗時(shí)調(diào)用CMD_SET_PHY命令重新進(jìn)行連接。
后續(xù)可以郵箱交流(lq@wch.cn)