打印

STM32F103VC 串口停顿问题调试

[复制链接]
2509|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
TRUE_ARM|  楼主 | 2012-1-14 13:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于STM32的一个产品,软件运行一定的时间(好多天)后,发现数据传输存在中断现象。好郁闷的,刚开始一直都很正常的,于是开始检查原因。
软件主要功能有,蓝牙,串口,SD 卡,ADC 信号采集及处理,存储,USB 转串口,PWM控制蜂鸣器等。现象:除了串口数据传输有时会丢失之外,一切都正常。后来把数据同步向USB 转串口传输,发现当出现串口停顿的时候,USB 转串口依然正常。基本上可以确定是跟串口的硬件相关。但为什么串口会坏呢?3个样机都一样的问题啊。

再检查原理图:使用PA2/PA3对应的UART2,PB10/TIM2_CH3,发现TIM2_CH3的默认输出是PA2,REMAP之后是PB10。我是使用TIM2_CH3产生的PWM控制蜂鸣器的,而蜂鸣器不是一直在响的,关闭的时候,我把对应的REMAP功能取消:GPIO_PinRemapConfig(GPIO_FullRemap_TIM2,DISABLE);

这时候TIM2_CH3的输出是不是变成了PA2了? 这样UART2和PWM 打架了?
为什么UART1 也受影响了呢?

如果UART 之间有关联的话可以解释的通。
还请ST 的专家帮忙分析。

我现在已经去掉PWM 了,直接使用定时器来控制IO(PB10)来控制蜂鸣器,继续观察。
沙发
caiwenbin| | 2012-1-14 22:48 | 只看该作者
牛人啊,
蓝牙好不好做啊?

使用特权

评论回复
板凳
TRUE_ARM|  楼主 | 2012-1-17 23:14 | 只看该作者
我个人觉得这个问题,值得关注的,特别是你需要用到外设重新REMAP的时候。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

124

主题

454

帖子

1

粉丝