实验资料
USB从机驱动库,从STM官网下载
USB例程,有虚拟串口,鼠标实验等
USB的驱动库
USB虚拟串口移植:
1.在platform_config.h中添加你板子的芯片,将其他包含的头文件屏蔽掉
2.修改文件hw_config.c
(1).将库文件中原来的数据删除,定义自己创建的发送接收数据结构
发送数据的结构体,根据读写指的大小来确定buffer发送多少个字节出去
(2).屏蔽掉set_systim()函数
(3)添加两个中断服务函数
(4)将配置时钟的换掉
(4)添加进入低功耗代码
(5)离开低功耗模式
(6)配置唤醒中断和USB处理中断
(7).软件控制USB的连接和断开,是通过配置管脚上的1.5 K的电阻连接和断开。由于开发板是直接脸上了1.5k的电阻,所以无法通过软件去控制
(8)设置USB的断开连接
(9)添加一个将发送接收变量初始化和能打印串口信息的函数
(10)将接收到的数据放进定义好的数组(屏蔽掉的数定义接受协议,根据回车换行来判断数据有没有接收完毕)
(11)发送一个字节到USB虚拟串口的程序
(12)创建usb_printf函数,作用类似于串口的printf
(13).创建数据存放的数组。
编写main.c文件
(1)初始化USB虚拟串口
(2)接收字节的回调函数
(3)等待接收完毕,将存储在USB_USART_RX_BUF内的数据发送回上位机
判断接收完毕的标志:
当延迟10ms了,接收到的字节数还不会发改变时,则接收数据完毕
(4).将数据写入内部FLASH,要指定写入的趋势地址,BUFFER和长度
写FLASH操作
(1)先解锁
(2) 清除标志位
(3)擦除扇区
(4) 写入数据
(5)上锁
代码:
跳转程序
指定一个APP地址进行跳转,在APP程序里要设置中断向量的偏移
下载USB虚拟串口驱动
根据操作系统的版本来安装驱动