打印
[STM32F1]

串口数据错误

[复制链接]
359|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xxmmi|  楼主 | 2020-5-9 23:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用stm32F103芯片获取传感器ASCII码数据,在正常模式下,其应该发送的是数据应该是:“0”“.”0""0""0""1""\t""5""4""\r""\n",从示波器上看发送过来的数据没问题,但是我这边将读取的数据通过printf函数发送给串口调试助手,但是从助手上看只只有部分数据读取:"5""4""\r""\n"

使用特权

评论回复
沙发
yufe| | 2020-5-9 23:21 | 只看该作者

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
xxmmi|  楼主 | 2020-5-9 23:26 | 只看该作者

void USART3_IRQHandler(void)
{  
    uint8_t  ch;
         
        // 接收数据
  if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)
  {         
        USART_ClearITPendingBit(USART3, USART_IT_RXNE);// 清除中断标志
               
        ch = USART_ReceiveData(USART3);
        Com3RBuf[Com3Index]=(uint8_t)ch;

       printf("ch=%d\r\n",(uint8_t)Com3RBuf[Com3Index]);
       Com3Index++;

      if(Com3RBuf[2]==0x0A))
      {
           Rec3FinishF=1;
           Com3Index=0;
       }
  }
         // 发送数据
         
     else if(USART_GetITStatus(USART3, USART_IT_TXE) != RESET)
    {
      USART_ClearITPendingBit(USART3, USART_IT_TXE);
               
     if(Com3Index<Index3End)
     {
        USART_SendData(USART3, (uint8_t)Com3TBuf[Com3Index++]);
        while(USART_GetFlagStatus(USART3,USART_FLAG_TXE) == RESET);               
      }
     else
      {
        Com3Index=0;
        USART_ITConfig(USART3, USART_IT_TXE, DISABLE);
     }
   }
        }

使用特权

评论回复
地板
huwr| | 2020-5-9 23:29 | 只看该作者
把串口助手设置为16进制接收试试

使用特权

评论回复
5
songqian17| | 2020-5-9 23:33 | 只看该作者
16进制效果也是不全的,只是显示35 34 0D 0A

使用特权

评论回复
6
juventus9554| | 2020-5-9 23:35 | 只看该作者
那就是0要特殊处理的

使用特权

评论回复
7
renyaq| | 2020-5-9 23:40 | 只看该作者
把“\t”去掉试试,看格式是“\t"以前的都没显示

使用特权

评论回复
8
ousj| | 2020-5-9 23:43 | 只看该作者
把“\t”前面的所有“”去掉试试

使用特权

评论回复
9
morrisk| | 2020-5-9 23:47 | 只看该作者
波特率,串口初始化好好检查一下

使用特权

评论回复
10
wangpe| | 2020-5-9 23:50 | 只看该作者
把else if前面的else去掉试试看

使用特权

评论回复
11
songqian17| | 2020-5-9 23:53 | 只看该作者
能正常显示说明波特率是对的,应该去掉else,这样子就都能看到了

使用特权

评论回复
12
wenfen| | 2020-5-9 23:56 | 只看该作者

用串口助手读出来的是什么

使用特权

评论回复
13
pengf| | 2020-5-10 11:05 | 只看该作者
有没有可能是数据解析问题

使用特权

评论回复
14
yinxiangh| | 2020-5-10 11:08 | 只看该作者
流程控制问题

使用特权

评论回复
15
xxmmi|  楼主 | 2020-5-10 11:11 | 只看该作者

用示波器看看波形是什么

使用特权

评论回复
16
xxmmi|  楼主 | 2020-5-10 11:15 | 只看该作者

哦,那我就知道怎么回事了,多谢大家

使用特权

评论回复
17
henglin| | 2020-5-24 22:48 | 只看该作者
串口是最基本的外设应用了
别纠结,检查你的程序
肯定是你的程序有啥问题

使用特权

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

本版积分规则

369

主题

4278

帖子

2

粉丝