打印

USART3异常

[复制链接]
3371|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dbayj|  楼主 | 2011-4-12 09:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前两天突然发现USART3通信不正常了,发送的字符与接收的字符不一样,总有几个会发生错误。这是我的中断程序。
if (USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)
{
        USART_ClearITPendingBit(USART3, USART_IT_RXNE);
        USART_SendData(USART3,USART_ReceiveData(USART3));
}
其他部分只做了窜口初始化,以前一直正常,这几天出毛病了,好头痛。
     换过232芯片,情况一样,还是错误。哪位大侠能帮我分析下原因啊,不胜感激。
沙发
denike| | 2011-4-13 14:58 | 只看该作者
USART_SendData(USART3,USART_ReceiveData(USART3));
接收中断里面发生串口数据 有问题吧???

使用特权

评论回复
板凳
gaopeimin| | 2011-4-13 15:28 | 只看该作者
USART_ClearITPendingBit(USART3, USART_IT_RXNE);
USART_SendData(USART3, USART_ReceiveData(USART3));
再加上 一句:
while (USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET);
有可能是没有发送完,串口3又进串口中断,又开始发送数据了。你试试

使用特权

评论回复
地板
dbayj|  楼主 | 2011-4-14 10:27 | 只看该作者
非常感谢两位的回答,我现在不能马上实验,要等到晚上,非常感谢:)

使用特权

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

本版积分规则

个人签名:学无止境 拒绝浮躁

2

主题

703

帖子

1

粉丝