搜索
查看: 4373|回复: 8

[已解决] 请教STM32F105 使用CubeMX生成USB虚拟串口的问题

[复制链接]

该用户从未签到

2

主题

22

帖子

2

蝴蝶豆

中级会员

最后登录
2019-11-23
发表于 2017-4-17 09:58:01 | 显示全部楼层 |阅读模式
最近用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);
  }
}






回复

使用道具 举报

该用户从未签到

2

主题

22

帖子

2

蝴蝶豆

中级会员

最后登录
2019-11-23
 楼主| 发表于 2017-4-17 12:58:21 | 显示全部楼层
自己顶一下!贴出来的是USART2的初始化,我是试过了USART1,然后又试了USART2,没有改过来。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

22

帖子

2

蝴蝶豆

中级会员

最后登录
2019-11-23
 楼主| 发表于 2017-4-17 17:04:44 | 显示全部楼层
另外刚刚还发现如果USART1不初始化的话,复位之后USB枚举不成功,显示“Unknown device
”,必须重新拔插USB先才能枚举成功
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

1

帖子

0

蝴蝶豆

新手上路

最后登录
2017-5-23
发表于 2017-5-11 14:52:20 | 显示全部楼层
哥们儿,你解决了吗,我也碰到了类似问题
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

51

帖子

0

蝴蝶豆

高级会员

最后登录
2020-1-2
发表于 2017-5-12 09:51:30 | 显示全部楼层
应该是没有影响的,好好查查,说不定是硬件
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

22

帖子

2

蝴蝶豆

中级会员

最后登录
2019-11-23
 楼主| 发表于 2017-5-15 08:34:53 | 显示全部楼层
ximshi 发表于 2017-5-11 14:52
哥们儿,你解决了吗,我也碰到了类似问题

这几天有其他事情没搞他了,过几天有空了再搞,兄弟如果找出原因了分享一下。如果我先找到原因我也分享。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

22

帖子

2

蝴蝶豆

中级会员

最后登录
2019-11-23
 楼主| 发表于 2017-5-15 08:35:26 | 显示全部楼层
yukaigogogo 发表于 2017-5-12 09:51
应该是没有影响的,好好查查,说不定是硬件

也有可能再检查检查
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

22

帖子

2

蝴蝶豆

中级会员

最后登录
2019-11-23
 楼主| 发表于 2017-5-23 08:30:07 | 显示全部楼层
ximshi 发表于 2017-5-11 14:52
哥们儿,你解决了吗,我也碰到了类似问题

看了一些资料知道了大概,UAB枚举的时候需要用到VBUS引脚,而VBUS引脚与USART1的引脚复用,就是这个原因,使用USB设备的时候PA9要接5V,USART1只能映射到其他引脚上面了,我目前是这样解决的,不知道其他人是怎么解决的
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

22

帖子

2

蝴蝶豆

中级会员

最后登录
2019-11-23
 楼主| 发表于 2017-5-23 08:31:43 | 显示全部楼层
yukaigogogo 发表于 2017-5-12 09:51
应该是没有影响的,好好查查,说不定是硬件

看了一些资料知道了大概,UAB枚举的时候需要用到VBUS引脚,而VBUS引脚与USART1的引脚复用,就是这个原因,使用USB设备的时候PA9要接5V,USART1只能映射到其他引脚上面了,我目前是这样解决的,不知道其他人是怎么解决的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-5-7 19:17 , Processed in 0.167777 second(s), 41 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表