目标:移植正点原子stm32f103zet6串口程序到stm32f103c8t6
问题1:
程序运行到usb初始化,卡住
原因:
hw_config中使用printf函数,由于没有初始化 串口1,导致卡住。
解决方法:
1.初始化串口1
2.注释hw_config中所有printf
问题2:
未知usb设备
原因:
1.虚拟串口驱动安装问题
2.usb时钟错误,必须为48M
3.缺少上拉电阻
解决方法:
1.安装问题:右键-更新驱动程序-浏览我的计算机查找驱动软件-C:\Program Files (x86)\STMicroelectronics\Software\Virtual comport driver\Win8-下一步
2.时钟问题:hw_config中Set_USBClock函数
主频48M时RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_Div1);
3.如果是高速设备,则会在 D+上接一个 1.5K 的电阻到 VCC,而如果是低速设备,则会在 D-上接一个 1.5K 的电阻到 VCC
4.连接电脑只能选择高速设备