利用Ai8051U做USB实验的8种场景记录贴。
介绍:用Ai8051U-34K64擎天柱核心板学习单片机有一段时间了。
STC的硬件USB非常方便下载、仿真及通信功能的开发。
虽然一直用,但没有按照论坛视频做一下USB的那三个printf_usb的实验。
因为要排查一个usb的错误,顺便做了一下USB的实验。
环境:
Ai8051U-34K64擎天柱核心板,Keil5开发环境,AiCube-ISP(6.96F)下载工具。
步骤:
根据Ai8051U-34K64的8位、32位两种指令模式,USB的cdc、hid两种设备类型,开发用的query、interrupt两种技术,整个实验主要分八个实验场景。
具体步骤很简单,按照视频教程或者Ai8051U的芯片手册中的第二章关于实验部分的描述做即可。
过程中几个要点记录一下。
一、在Keil5中选择芯片类型及目标程序选项。如下图:
1、32位Ai8051U。
2、8位Ai8051U。
二、在AiCube-ISP中每次下载程序时选择CPU指令模式、USB是CDC或HID模式和不停电下载参数。如下图:
1、选择CPU指令模式。
2、选择USB是CDC或HID模式及不停电下载参数。
三、在测试USB通信时,选择CDC/HID-串口助手或USB-HID助手。如下图:
程序:
核心代码因query和interrupt编程技术分成两个:main-query.c和main-int.c,Keil5中通过这里选择不同的场景:
源代码:
遗留问题:
在HID模式的库中,没有OutNumber变量。
造成在调用函数:USB_SendData(UsbOutBuffer, ????)时????这里该填什么数呢?
问题详细描述请见:USB库的HID库中没有OutNumber变量。
页:
[1]