打印

串口发送 字 遇到问题

[复制链接]
1810|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sdrztw001|  楼主 | 2012-4-10 15:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
中断程序如下
void USART1_IRQHandler(void)
{
  if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)
  {
      chars=USART_ReceiveData(USART1);
       aa[count++]=chars;
       USART_SendData(USART1, aa[1]);
      
        if(count>7)
          count=0;
     b=0;
     
    }      
  
if(USART_GetITStatus(USART1,USART_IT_TXE)!=RESET)
  {
       USART_ITConfig(USART1,USART_IT_TXE,DISABLE);
  }
}
字“啊”编码为B0A1 chars返回的完全正确 aa【1】返回的是 00 a1 a0 a0 a0 a0 a0 a0 a0 a1     a1是正确的 中间却变成了a0 初步判断是a0&b0 导致结果不正确 为什么会出现这个问题?
沙发
gaochy1126| | 2012-4-10 17:06 | 只看该作者
是不是设定的位数发送不正确呢?fifo有问题吗

使用特权

评论回复
板凳
airwill| | 2012-4-10 19:12 | 只看该作者
有确定是 发的问题还是收的问题?

使用特权

评论回复
地板
sdrztw001|  楼主 | 2012-4-10 21:08 | 只看该作者
3# airwill
发送没问题 接受也应该是没问题 第一次发送时候也没问题,但是再发送就出现问题了 ,问题出现在 存入缓存 的时候,串口接收没问题

使用特权

评论回复
5
sdrztw001|  楼主 | 2012-4-10 21:10 | 只看该作者
2# gaochy1126
USART_InitStructure.USART_BaudRate = 115200;
  USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  USART_InitStructure.USART_StopBits = USART_StopBits_1;
  USART_InitStructure.USART_Parity = USART_Parity_No;
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  USART_Init(USART1, &USART_InitStructure);
   USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
  USART_ITConfig(USART1,USART_IT_TXE,DISABLE);  
  USART_Cmd(USART1,ENABLE);
应该是没问题的

使用特权

评论回复
6
sdrztw001|  楼主 | 2012-4-10 22:21 | 只看该作者
找到问题了  给aa分配个内存就好了 原因待查

使用特权

评论回复
7
gaochy1126| | 2012-4-11 10:15 | 只看该作者
学习了,感谢楼主能够分享自己的心得与体会!!!! 6# sdrztw001

使用特权

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

本版积分规则

1

主题

30

帖子

1

粉丝