OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3282|回复: 5

usart串口中断处理问题,新手求助。。。

[复制链接]

2

主题

3

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2015-9-17
在线时间
4 小时
发表于 2015-9-23 12:22:05 | 显示全部楼层 |阅读模式
5金钱


串口中断处理函数:(问题在代码后)
void USART1_IRQHandler(void)              
{
  u8 Res;
   #if SYSTEM_SUPPORT_OS 
     OSIntEnter();    
   #endif
    if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) 
   {
       Res =USART_ReceiveData(USART1);

        if((USART_RX_STA&0x8000)==0)
       {
          if(USART_RX_STA&0x4000)
         {
              if(Res!=0x0a)USART_RX_STA=0;
              else USART_RX_STA|=0x8000; 
         }
          else 
         {
           if(Res==0x0d)USART_RX_STA|=0x4000;
           else
          {
             USART_RX_BUF[USART_RX_STA&0X3FFF]=Res ;
             USART_RX_STA++;
             if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0; 
          }  
     }
   }    
   } 
#if SYSTEM_SUPPORT_OS
OSIntExit();    
#endif


问题:假设用串口调试助手发送字符串 ABCD,那么开发板上的串口接收该字符串是一个一个字符接收的吧??那串口状态标志USART_RX_STA是什么时候被写的?串口中断处理函数被调用4次吗???

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

3

帖子

0

精华

新手入门

积分
31
金钱
31
注册时间
2014-3-31
在线时间
0 小时
发表于 2015-9-23 12:22:06 | 显示全部楼层
回复

使用道具 举报

2

主题

3

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2015-9-17
在线时间
4 小时
 楼主| 发表于 2015-9-23 14:27:56 | 显示全部楼层
回复【2楼】wkfback:
---------------------------------
那串口状态标志USART_RX_STA是什么时候被写的?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-9-24 23:11:59 | 显示全部楼层
回复【3楼】_夏日_:
---------------------------------
看代码.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

233

主题

961

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1814
金钱
1814
注册时间
2011-10-9
在线时间
230 小时
发表于 2015-9-25 11:28:17 | 显示全部楼层
..这种问题  自己实验下就好了  。。。伸手党
回复

使用道具 举报

9

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2015-10-18
在线时间
14 小时
发表于 2016-8-30 16:52:11 来自手机 | 显示全部楼层
正点原子 发表于 2015-9-24 23:11
回复【3楼】_夏日_:
---------------------------------
看代码.

没发现哪段代码赋值数据给了USART_RX_STA。

是在usart.h?
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-29 06:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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