CH571使用IAP引導(dǎo),USB復(fù)位重新識(shí)別

CH571使用官網(wǎng)提供的IAP引導(dǎo)做修改,進(jìn)入IAP之后,初始化IAP的USB下載程序。延時(shí)2S,如無下載通信,則進(jìn)入用戶APP,用戶程序中將USB初始化為HID輸入設(shè)備。


問題:

因?yàn)镮AP中已經(jīng)初始化USB,2S之后進(jìn)行用戶程序后,如何讓電腦重新識(shí)別USB為HID。


嘗試重置配置USB的各個(gè)控制寄存器,電腦都沒有重新識(shí)別USB設(shè)備。

IAP中USB的配置官方提供如下:

image.png


用戶程序中,嘗試USB配置,但實(shí)際電腦并不會(huì)重新識(shí)別USB,沒有枚舉過程

image.png


電腦重新禁用一次USB設(shè)備,重新啟用,就可以正常的枚舉為HID設(shè)備


感覺應(yīng)該讓CH573的USB禁用D+和D-下位,應(yīng)該電腦就會(huì)重新識(shí)別呀。但是并沒有啟作用


禁用D+和D-,要等個(gè)幾ms,等系統(tǒng)反應(yīng)過來,認(rèn)為設(shè)備移除,這個(gè)時(shí)候如果新設(shè)備接入(D+或者D-上拉啟用),主機(jī)會(huì)識(shí)別到新設(shè)備插入,然后重新枚舉。


但是感覺我這個(gè)寄存器配置是不是有問題。我在后面都延時(shí)500ms了,都沒有反反應(yīng)


? ? //禁用USB,拉低D+和D-電低,讓電腦認(rèn)為USB拔出

? ? R16_PIN_ANALOG_IE |= RB_PIN_USB_IE;

? ? R16_PIN_ANALOG_IE &= ~RB_PIN_USB_DP_PU;

? ? R8_USB_CTRL &= ~RB_UC_DEV_PU_EN;

? ? DelayMs(20);

? ? R8_UDEV_CTRL = 0x00;



以上代碼已驗(yàn)證OK。實(shí)際并不是代碼有問題,而是用戶程序里面USB可以根據(jù)配置分別加載成HID或CDC,結(jié)果以上代碼只是添加到了HID配置的前面,沒有添加到CDC配置的前面,但當(dāng)前配置成了CDC模式,導(dǎo)致一直沒有加載重置USB的代碼。


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

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