來源:CH32V307例程代碼1.9版本
錯(cuò)誤代碼文件位置:EVT\EXAM\USB\USBHS\DEVICE\CompositeKM\User\ch32v30x_usbhs_device.c
工程:v307模擬高速鍵鼠設(shè)備“CompositeKM”
具體位置:ch32v30x_usbhs_device.c文件的114行處。
位置截圖:
理由:本工程是配置v307為模擬鼠標(biāo)和鍵盤工程,114行的代碼,應(yīng)該是要打開SETUP中斷、傳輸中斷、復(fù)位中斷和掛起中斷。其中的復(fù)位中斷開啟的這個(gè)標(biāo)志位根據(jù)數(shù)據(jù)手冊(cè)286頁(下圖)的解釋應(yīng)該叫做“USBHS_UIE_BUS_RST”而不是“USBHS_UIE_DETECT”
例程代碼里面寫的USBHS_UIE_DETECT是在主機(jī)模式下使用的,但是這個(gè)例程是設(shè)備模式。
雖然在頭文件的宏定義里面“USBHS_UIE_BUS_RST”和“USBHS_UIE_DETECT”是代表同一數(shù)值(下圖),最終實(shí)現(xiàn)的結(jié)果也不會(huì)有影響,但是我們?cè)陂喿x和學(xué)習(xí)代碼的時(shí)候容易搞的一頭霧水。
希望官方在處理例程代碼的時(shí)候,不光光要考慮功能是否正確,同時(shí)也要稍微注意一下代碼是否規(guī)范。