CH395Q連接超過十分鐘就會斷開PHY

現(xiàn)在現(xiàn)象就是當(dāng)我初始化完成之后,獲取到DHCP分配的地址,然后連接tcp,發(fā)送間隔為500ms發(fā)送一次,每次發(fā)送記錄的當(dāng)前數(shù)值,每次發(fā)送大概十分鐘的數(shù)據(jù),就會顯示進(jìn)入phy中斷,我寫的代碼就會自動重新連接,這是什么情況,一直解決不掉。

1732533968854013.png

1732533990721732.png

void?ch395q__init()
{
????ch395q.status?=?init;
????CH395Q_Reset();
	/*獲取芯片版本*/
	while((ch395_version?=?CH395CMDGET_IC_VER())?!=?0x47)
	{
		print_log("CH395CMDGetVer?ERR\r\n");
		HAL_Delay(100);
	}
	//測試命令,按位取反返回說明測試通過
	while(CH395CMDCheckExist(0x55)?==?0xaa)
	{
		print_log("\r\nCH395CMDCheck?OK\r\n");
		break;
	}
	//初始化模塊:成功返回?0?
	while(!CH395CMDInitCH395())
	{
		print_log("\r\nCH395CMDInitCH395?OK\r\n");
		break;
	}
	osDelay(200);
	print_log("\r\nstart\r\n");
????
????while(1)?{
????????
????????
????????osDelay(50);
????????if(ch395q.status?==?getipsuccess)?{
????????????ch395q.status?=?conneting;
????????????break;
????????}
????
????}
????SetTCP_MQTT();
????
????CH395UdpSendBuf((uint8_t*)"join?success222222222222222222222222222222",50,0);
????ch395q.sendSatatus?=?sendRead;
????ch395q.status?=?conent;
????uint8_t?testsad[10];
????uint16_t?testnumnum?=?0;
????
????while(1)?{
???????
????????if(ch395q.status?==?conent)?{?
????????????if(ch395q.sendSatatus?==?sendsuccess)?{
????????????????ch395q.sendSatatus?=?sendRead;
????????????}
????????????if(ch395q.sendSatatus?==?sendRead)?{
????????????????ch395q.sendSatatus?=?sending;
????????????????testnumnum++;
????????????????int?length?=?sprintf((char?*)testsad,?"%d",?testnumnum);?//?格式化字符串
????????????????CH395UdpSendBuf(testsad,length,0);???????/*?發(fā)送的時候要加一個判斷,發(fā)送完成上一包才能發(fā)送這一包?*/

????????????}
????????}?else?{
????????????break;
????????}
?
????????osDelay(500);
????}
????

}


中斷是可以一直進(jìn)的


我把邊緣網(wǎng)關(guān)模塊重啟之后就好了,目前懷疑是網(wǎng)關(guān)的原因



我把邊緣網(wǎng)關(guān)模塊重啟之后就好了,目前懷疑是網(wǎng)關(guān)的原因



您好,可以從下幾個方面排查下

1.確定下是不是真的產(chǎn)生了phychange這個中斷還是產(chǎn)生了其他中斷但代碼讀取誤報成了phychange中斷。可以在主程序中一直調(diào)用查phy狀態(tài)的命令碼,看下異常產(chǎn)生phychange中斷時,phy的狀態(tài)是否真的有改變。如果有邏輯分析儀的話可以抓個時序看下更方便些。

2.進(jìn)路由器后臺看一下dhcp的租期是多久。如果改用靜態(tài)ip直連電腦同網(wǎng)段tcp通信,是否也有此現(xiàn)象。

3.在您發(fā)來的代碼中沒有看到對395INT腳的判斷,這個部分是怎么處理的呢。方便的話可以同步抓個包看一下通信正常到異常期間的包。

可以將上述測試結(jié)果郵件發(fā)來看一下,后續(xù)可以郵件交流。郵箱:lq@wch.cn


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

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