CH563Q usb device 和 udp client.

你好, 2個(gè)問(wèn)題請(qǐng)教下,

1.我目前把 CH563Q exam 的 usb deviceudp client整合一個(gè)程序, 由芯片usb接口插入host之后程序啟動(dòng),

先把usb初始化,然后進(jìn)入無(wú)窮回圈, usb 中斷處理 host命令, 當(dāng)接收命令去啟動(dòng) udp client之后, usb 就在也不會(huì)發(fā)生沒(méi)有中斷了;

如果不啟動(dòng) udp client,則usb數(shù)據(jù)包收發(fā)都正常. 這需要什么特殊處理嗎?

例程大致如下(和 exam例子差不多):

IRQ_Handler? -> USBDev_IRQHandler

?????????????????????? -> CH563NET_ETHIsr

???????????????????? -> CH563NET_TimeIsr

main -> USBDev_ModeSet/Init/UsbInt_Enable ->

while(1)? {

if(net_enable) {

??? if(!init) {?

??????? CH563NET_LibInit

??????? CH563NET_CreatSocket

??? } else {

??????? CH563NET_MainTask

? ? ? ? CH563NET_HandleGlobalInt

??? }

}

2.CH563NET_GetPHYStatus 是否只在調(diào)用 CH563NET_SocketCreat 之后獲取的狀態(tài)才是有效的, 還是只能在發(fā)生改變時(shí),

? 中斷獲取?

3.udp client網(wǎng)絡(luò)初始化時(shí)默認(rèn)是有 enable ping功能的,這是不是當(dāng) CH563NET_SocketCreat 都完成之后

(這里都有指定ip等,返回都正確),

連上網(wǎng)線, 在別的 pc 或平臺(tái)直接 pin ch563 ip就可以, 不需要在代碼加上 PROTO_TYPE_IP_RAW 的處理?





啟動(dòng)網(wǎng)絡(luò)后,您可以先看一下設(shè)備是否能正常做完枚舉的過(guò)程。CH563NET_GetPHYStatus 函數(shù),是用于Socket創(chuàng)建之前,正常的流程是網(wǎng)絡(luò)庫(kù)函數(shù)初始化完之后,就可以調(diào)用CH563NET_GetPHYStatus 函數(shù)檢查PHY的連接狀態(tài)。再完成Socket創(chuàng)建后,正常while循環(huán)調(diào)用網(wǎng)絡(luò)的主函數(shù),PC就可以正常PINGCH563。


建議把udp_client移植到usb_device下,在函數(shù)進(jìn)入主循環(huán)前把USB和udp參數(shù)初始化完成。并在usb驅(qū)動(dòng)可能進(jìn)入的循環(huán)里都加上

CH563NET_MainTask();

if(CH563NET_QueryGlobalInt())? CH563NET_HandlerGlobalInt();


謝謝, 已經(jīng)找到問(wèn)題了, 原來(lái)是調(diào)用了 CH563NET_Init(庫(kù)初始化) 以后, 全局中斷被關(guān)了, 重新打開(kāi)就行了.


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

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