最近用CubeMX 生成的USB虚拟串口的程序,发现一个问题,USB的发送函数不能与USART1的发送函数一起用,主循环里面如果有USB和USART1的发送函数,串口助手只有USART1的可以收到数据,USB虚拟串口没有数据上传,检查USB的发送状态发现一直处于BUSY。 如果把HAL_UART_Transmit(&huart1, temp, 8, 1000);去掉USB虚拟串口接收数据又是正常的。 请教各位指点指点!感激不尽啊 uint8_t temp[8]={"abcdefgh"}; int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USB_DEVICE_Init(); MX_USART2_UART_Init(); while (1) { HAL_Delay(500); HAL_GPIO_TogglePin(GPIOC, LED4_Pin); CDC_Transmit_FS(temp, 8); HAL_UART_Transmit(&huart1, temp, 8, 1000); } } |
stm32 USB的CDC类传输掉数据
【MCU实战经验】基于STM32F103C8T6的hart总线调试器设计
求教STM32F103进入STOP模式后用外部中断唤醒的问题
基于STM32F103RCT6的无源蜂鸣器音乐播放(生日快乐歌)
STM32F103c8t6有没有DAC 功能?
STM32F103x中文数据手册
新手求教,为何在我电脑上找不到STM32F1Xx.h文件
金龙107例程汇总(STM32F107)
万利STM32F107VC 原理图
STM32F103 ADC多通道检测必须要DMA吗?
”,必须重新拔插USB先才能枚举成功
这几天有其他事情没搞他了,过几天有空了再搞,兄弟如果找出原因了分享一下。如果我先找到原因我也分享。
也有可能再检查检查
看了一些资料知道了大概,UAB枚举的时候需要用到VBUS引脚,而VBUS引脚与USART1的引脚复用,就是这个原因,使用USB设备的时候PA9要接5V,USART1只能映射到其他引脚上面了,我目前是这样解决的,不知道其他人是怎么解决的
看了一些资料知道了大概,UAB枚举的时候需要用到VBUS引脚,而VBUS引脚与USART1的引脚复用,就是这个原因,使用USB设备的时候PA9要接5V,USART1只能映射到其他引脚上面了,我目前是这样解决的,不知道其他人是怎么解决的。