来源:CH32V307例程代码1.9版本
错误代码文件位置:EVT\EXAM\USB\USBHS\DEVICE\CompositeKM\User\ch32v30x_usbhs_device.c
工程:v307模拟高速键鼠设备“CompositeKM”
具体位置:ch32v30x_usbhs_device.c文件的114行处。
位置截图:
理由:本工程是配置v307为模拟鼠标和键盘工程,114行的代码,应该是要打开SETUP中断、传输中断、复位中断和挂起中断。其中的复位中断开启的这个标志位根据数据手册286页(下图)的解释应该叫做“USBHS_UIE_BUS_RST”而不是“USBHS_UIE_DETECT”
例程代码里面写的USBHS_UIE_DETECT是在主机模式下使用的,但是这个例程是设备模式。
虽然在头文件的宏定义里面“USBHS_UIE_BUS_RST”和“USBHS_UIE_DETECT”是代表同一数值(下图),最终实现的结果也不会有影响,但是我们在阅读和学习代码的时候容易搞的一头雾水。
希望官方在处理例程代码的时候,不光光要考虑功能是否正确,同时也要稍微注意一下代码是否规范。