在keil5上简单使用USB CDC 通信

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:22   1278   0

keil5提供了样板virtualcom,就在上面修改。

我们需要修改的是USBD_User_CDC_0.c和VirtualCOM.c函数

keil给出的模板是既使用串口又使用USB,对于只需要USB功能的见到USART统统删。

USBD_User_CDC_0.c只需要保存USBD_CDC0_ACM_SetLineCoding和USBD_CDC0_ACM_GetLineCoding两个函数,并删除里面串口的东西。

VirtualCOM.c里调用的函数像 USBD_Initialize USBD_Connect在rl_usb.h里声明,并且是库函数,我们无法看到具体代码,所以我们只需要知道函数的作用和返回值就好大笑

首先USBD_Initialize ()被调用,进行初始化

然后是 USBD_Connect()//connects the USB Device to the USB Bus

接着调用USBD_Configured(),返回值大于0说明配置好可以进行通信

使用USBD_CDC_ACM_ReadData()函数读取来自USB主机的多个数据字节,返回值大于0的值是读取到的字节个数,小于0的话参考usbStatus。
使用USBD_CDC_ACM_WriteData()函数发送数据给USB主机,返回值大于0的值是要发送到的字节个数,小于0的话参考usbStatus

这样就完成了一个最简单的USB通信,PC端用超级终端或者其他软件与开发板通信。
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP