请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册

扫一扫,访问微社区

搜索
查看: 101|回复: 1

金钱 各位大佬,stm32串口接收一个字符串不清楚哪里错了,串口助手上没显示接收数...

[复制链接]

1

主题

1

帖子

12

积分

新手上路

Rank: 1

积分
12
QQ
发表于 7 天前 | 显示全部楼层 |阅读模式
4金钱


各位大佬,stm32串口接收一个字符串不清楚哪里错了,串口助手上没显示接收数据,求解



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

3

主题

119

帖子

367

积分

中级会员

Rank: 3Rank: 3

积分
367
发表于 6 天前 | 显示全部楼层
  1. u8 USART_RX_BUF[USART_REC_LEN];     //接收缓冲,最大USART_REC_LEN个字节.
  2. //接收状态
  3. //bit15,        接收完成标志
  4. //bit14,        接收到0x0d
  5. //bit13~0,        接收到的有效字节数目
  6. u16 USART_RX_STA=0;       //接收状态标记       

  7. void USART3_IRQHandler(void)                        //串口3中断服务程序
  8. {
  9.         u8 r;
  10.         if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)  //接收中断
  11.         {
  12.                 r =USART_ReceiveData(USART3);//(USART3->DR);        //读取接收到的数据
  13.                 if((USART_RX_STA&0x8000)==0)//接收未完成
  14.                 {
  15.                         if(USART_RX_STA&0x4000)//接收到了0x0d
  16.                         {
  17.                                 if(r!=0x0a)USART_RX_STA=0;//接收错误,重新开始
  18.                                 else USART_RX_STA|=0x8000;        //接收完成了
  19.                         }
  20.                         else //还没收到0X0D
  21.                         {       
  22.                                 if(r==0x0d)USART_RX_STA|=0x4000;
  23.                                 else
  24.                                 {
  25.                                         USART_RX_BUF[USART_RX_STA&0X3FFF]=r ;
  26.                                         USART_RX_STA++;
  27.                                         if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;//接收数据错误,重新开始接收          
  28.                                 }                 
  29.                         }
  30.                 }                  
  31.         }
  32.        
  33. }        
复制代码

参考一下
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|51开发板专区 STM32开发板专区 PLC工控专区 PLC学习机专区 ( 粤ICP备18101765号 )

GMT+8, 2019-7-17 23:39 , Processed in 0.177434 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表