打印
[STM8]

求助:UART_RX_NUM是寄存器吗?

[复制链接]
2274|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AAA1314|  楼主 | 2014-3-18 17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 AAA1314 于 2014-3-19 11:47 编辑

这是风驰STM8开发板的例程中的一段程序,有点看不懂。为什么用UART_RX_NUM来判断是否接受完成?if(( UART_RX_NUM&0x80)==0)/*接收未完成*/ 在这句程序之前没有能改变他的值啊
#pragma vector=0x14
__interrupt void UART1_RX_IRQHandler(void)
{
   u8 Res;
    if(UART1_GetITStatus(UART1_IT_RXNE )!= RESET)  
    {/*接收中断(接收到的数据必须是0x0d 0x0a结尾)*/
        Res =UART1_ReceiveData8();
        /*(USART1->DR);读取接收到的数据,当读完数据后自动取消RXNE的中断标志位*/
        if(( UART_RX_NUM&0x80)==0)/*接收未完成*/
        {
            if( UART_RX_NUM&0x40)/*接收到了0x0d*/
                {
                  if(Res!=0x0a) UART_RX_NUM=0;/*接收错误,重新开始*/
                  else  UART_RX_NUM|=0x80;        /*接收完成了 */
                }
            else /*还没收到0X0D*/
              {        
                if(Res==0x0d) UART_RX_NUM|=0x40;
                else
                  {
                    RxBuffer[ UART_RX_NUM&0X3F]=Res ;
                     UART_RX_NUM++;
                      if( UART_RX_NUM>63) UART_RX_NUM=0;/*接收数据错误,重新开始接收*/  
                  }                 
          }
        }                  
                }
  
  
}
沙发
sting_yang| | 2014-3-18 19:36 | 只看该作者
不是,那是自己定义的

使用特权

评论回复
板凳
AAA1314|  楼主 | 2014-3-19 08:43 | 只看该作者
sting_yang 发表于 2014-3-18 19:36
不是,那是自己定义的

那为什么用他来判断是否接受完成?if(( UART_RX_NUM&0x80)==0)/*接收未完成*/ 在这句程序之前没有能改变他的值啊

使用特权

评论回复
地板
sting_yang| | 2014-3-19 16:25 | 只看该作者
AAA1314 发表于 2014-3-19 08:43
那为什么用他来判断是否接受完成?if(( UART_RX_NUM&0x80)==0)/*接收未完成*/ 在这句程序之前没有能改变 ...

值是在后面改变的

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
AAA1314 + 1 很给力!
5
AAA1314|  楼主 | 2014-3-20 10:29 | 只看该作者
sting_yang 发表于 2014-3-19 16:25
值是在后面改变的

还是不太懂这个程序,我再仔细看看吧,不过还是要谢谢你:handshake 以后有问题再请教

使用特权

评论回复
6
sting_yang| | 2014-3-20 15:47 | 只看该作者
UART_RX_NUM|=0x80;
UART_RX_NUM|=0x40;
  UART_RX_NUM++; ..................这时候改变的

使用特权

评论回复
7
AAA1314|  楼主 | 2014-3-21 11:50 | 只看该作者
sting_yang 发表于 2014-3-20 15:47
UART_RX_NUM|=0x80;
UART_RX_NUM|=0x40;
  UART_RX_NUM++; ..................这时候改变的

谢谢!

使用特权

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

本版积分规则

1

主题

6

帖子

0

粉丝