[STM32F2] 串口1发送接收问题

[复制链接]
1530|7
 楼主| ge_yuer 发表于 2015-10-12 09:54 | 显示全部楼层 |阅读模式
使用串口1,初始化后,中断处理为:接收到数据立即发送,数据有误,中断处理如下:
void USART1_IRQHandler(void)
{
  if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
  {
                while (USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);
                 USART_SendData(USART1,USART_ReceiveData(USART1));
   }
                USART_ClearITPendingBit(USART1, USART_IT_RXNE);
                USART_ClearFlag(USART1,USART_FLAG_RXNE);
}

用串口助手发送0x01,串口助手接收到的数据为40,不知道什么情况了。请大家帮忙啊。
 楼主| ge_yuer 发表于 2015-10-12 10:38 | 显示全部楼层
我用串口助手发送1~8数值,我串口接收到的分别为:0x7f,0x3f,0x7e,0x1f,0x7d,0x3e,0x7c,0x0f;接收到立即发送出去,我串口助手接收到的数据为:0x40,0x60,0x20,0x70,0x41,0x30,0x10,0x78;请大侠帮我看看是怎么回事啊?急死了。
lu50211 发表于 2015-10-12 12:29 | 显示全部楼层
波特率是否OK?
 楼主| ge_yuer 发表于 2015-10-12 12:39 | 显示全部楼层

配置的和串口助手的一致啊。这个应该没什么问题。
mmuuss586 发表于 2015-10-12 19:42 | 显示全部楼层
板子一直发数据0X55看看,正常的话用示波器看,接近方波;
再用示波器看下波特率是否正确,不对的话可能时钟部分问题;
309030 发表于 2015-10-12 20:41 | 显示全部楼层
楼上的方法是高招
稳稳の幸福 发表于 2015-10-12 21:26 | 显示全部楼层
板子一直发数据0X55看看,正常的话用示波器看,接近方波;
 楼主| ge_yuer 发表于 2015-10-13 13:29 | 显示全部楼层
mmuuss586 发表于 2015-10-12 19:42
板子一直发数据0X55看看,正常的话用示波器看,接近方波;
再用示波器看下波特率是否正确,不对的话可能时 ...

恩,谢谢你了。我调试下看看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

40

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部