打印
[应用相关]

USB驱动的移植(转载)

[复制链接]
353|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
现在使用的STM32L053R8T6单片机带有USB接口,原先一直使用UART转USB芯片来完成USB功能的支持,现在这款单片机带了就希望使用以下。由于已经建立了自己的工程目录,再重新使用STM32CubeMX生成的工程文件,重新建立是不显示的,所以本文探索将USB驱动文件移植到自己项目中的方法,我使用的是USB的CDCD类,步骤如下:

    1、使用STM32CubeMX使能USB,如下图所示:





使用特权

评论回复
沙发
paotangsan|  楼主 | 2019-6-17 14:09 | 只看该作者

2、设置时钟,USB需要48M时钟,使用内部和外部均可,我这里使用外部时钟。


使用特权

评论回复
板凳
paotangsan|  楼主 | 2019-6-17 14:09 | 只看该作者
3、生成工程文件。

使用特权

评论回复
地板
paotangsan|  楼主 | 2019-6-17 14:09 | 只看该作者

4、在自己的工程目录中加入如下图所示的2个文件,如果此2个文件不存在,则从新生成的工程目录中复制即可(包含头文件)。


使用特权

评论回复
5
paotangsan|  楼主 | 2019-6-17 14:10 | 只看该作者

   5、在自己的工程目录中加入以下4个文件,这4个文件需从新生成的工程目录中复制(包含头文件)。


使用特权

评论回复
6
paotangsan|  楼主 | 2019-6-17 14:10 | 只看该作者

6、在自己的工程目录中加入或更新以下文件,USB开头的文件需要从新生成的工程目录中复制(包含头文件),其余文件需要更新。


使用特权

评论回复
7
paotangsan|  楼主 | 2019-6-17 14:11 | 只看该作者

7、更新时钟设置程序,一定要更新。


使用特权

评论回复
8
paotangsan|  楼主 | 2019-6-17 14:11 | 只看该作者
8、在main.cpp中,包含usb_device.h文件,并调用MX_USB_DEVICE_Init函数初始化USB,样例程序如下:

#include "include.h"
#include "usb_device.h"

CTarget Target;

boolean bMilliSecond_1000 = FALSE;
boolean bMilliSecond_100 = FALSE;

int main(void)
{
        uint8_t temp[3] = {0xC1, 0xC1, 0xC1};
       
        MX_USB_DEVICE_Init();
       
  while (1)
  {
                if (bMilliSecond_1000 == TRUE)
                {
                        bMilliSecond_1000 = FALSE;
                        Target.HAL.LED.Turn();       
                        Target.HAL.TestUart1.SendData(temp, 3);
                }
                if (bMilliSecond_100 == TRUE)
                {
                        bMilliSecond_100 = FALSE;
                        Target.HAL.E0.Turn();
                        Target.HAL.E1.Turn();
                        Target.HAL.E2.Turn();
                        Target.HAL.E3.Turn();
                }
                if (Target.HAL.TestUart1.IsReceivedData() == TRUE)
                {
                        Target.HAL.TestUart2.SendData(Target.HAL.TestUart1.u8_Buffer, Target.HAL.TestUart1.u16_Number);
                }
  }
}


使用特权

评论回复
9
paotangsan|  楼主 | 2019-6-17 14:12 | 只看该作者

9、对文件进行编译,下载程序。

    10、硬件USB的USB_DP引脚需要1.5K上拉,务必注意,我就没有上拉,后来在PCB上飞的线。

    11、进入ST的官网,搜索32102,下载CDC驱动。


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

4079

帖子

0

粉丝