STM32F107——OTG模块之USB设备之虚拟串口移植(一)

来源:互联网 发布:c语言utf8转unicode 编辑:程序博客网 时间:2024/06/07 17:24

本篇介绍移植之前需要注意的一些事项,解决一些移植初期的疑问。


问题1:在STM32F107上移植一个usb设备(虚拟串口VCP)需要准备哪些材料?

  • 一个STM32F107模板工程,配置好时钟之类的系统初始化问题(网上资料很多);
  • 一块测试板,淘宝上可以购买到,或者自己做一个带usb系统板(金龙或者神州4);
  • 一个支持虚拟串口的驱动,用于安装在测试的PC上(从ST官网/论坛下载);
  • USB设备库,由ST提供,一般和标准外设库放在一起(从ST官网/论坛下载);
  • 收集《ST官方USB培训资料》、《USB2.0技术规范_CN》等(同时建议从各大论坛下载教程,不过必须说明的     是,目前网络上关于107的移植教程都不是很仔细,建议大家只是打开工程对着学习一下文件结构和一些必要文     件的简介);
  • 调试工具:串口调试助手,USB数据线,PC,TTL转USB模块等;

问题2:STM32F107上移植,要参考哪个USB库?


STMF1系列的USB部分分为两个系列,F103系列对应的USB库命名一般为:《STM32_USB-FS-Device_Lib》;F107系列对应的USB命名一般为:《stm32_f105-07_f2_f4_usb-host-device_lib》。其中每个库ST官方都给了对应的帮助文档,F103库对应的帮助文档为:《AN2953》,F107库的对应帮助文档为:《UM0424 》。且不管是哪个系列的库,都有多个版本,不过大部分都兼容,大家可以随意选择,版本越高,功能越全。需要说明的是,在参考金龙107的资料的时候发现有一个《STM32_USB-FS-Device_Lib_V3.1.0RC》,这个库很模糊,到现在也不知道是那个系列的芯片上的。


问题3:当F107做设备的时候时候可以根据F103的库抑制?

答:STM32F1系列芯片支持的USB功能不一样,F103系列只支持USB设备,F107系列可以开发为USB设备、USB主机和OTG设备。当在F107上移植一个USB设备工程(VCP)时,由于网上关于F103的设备VCP移植工程的介绍比较多,且资料比较详细,所以会考虑这样一个问题:是否可以在F107上直接用F103的库来抑制?答案我不敢百分百说不,但是个人认为是不可以的,就比如F103的USB库的中断有高低中断处理,而F107库中并没有这个内容,所以建议大家参考F107的USB库。



(开发时准备的资料有:下图所示)





原创粉丝点击