2322|2

45

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

430串口问题求指教 [复制链接]

430
串口中断。如果只接受,不发送。而且要对所接受的数据进行分析,
是一串数据怎么办,下面这对吗,求指教谢谢。
void Uart_Init(void)
{
        P3SEL |= 0x30;                            // 选择P3.4和P3.5做UART通信端口
        
        UCTL0 |= SWRST;                         //开始设置串口   
       ME1 |= URXE0;                             // 使能USART0的发送和接受
      UCTL0 |= CHAR;                            // 选择8位字                    
      UTCTL0 |= SSEL0;                          //选择模块时钟源 ; // UCLK = ACLK
      UBR00 = 0x06;                             // 波特率9600
      UBR10 = 0x00;                             //
      UMCTL0 = 0xfb;                            // Modulation
       UCTL0 &= ~SWRST;                    //设置串口 完毕
       IE1 |= URXIE0;
}
#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx (void)
{
                  
              
     uchar ch;
            _DINT();
      IE1 &= ~URXIE0; //ES = 0;_DINT();
if((IFG1 & URXIFG0))

        {
               ch = RXBUF0;     
  if ((ch == '$') && (gps_flag == 0))  //如果收到字符'$',便开始接收           
  {
   rev_start = 1;
   rev_stop  = 0;
  }

  if (rev_start == 1)  //标志位为1,开始接收            
  {
   rev_buf[num++] =ch;  //字符存到数组中           
   if (ch == '\n')     //如果接收到换行           
   {
    rev_buf[num] = '\0';
    rev_start = 0;
    rev_stop  = 1;
    gps_flag = 1;
    num = 0;
   }
  }
        }

IFG1&=~URXIFG0;
            IE1 |= URXIE0;            //    _EINT();
             _EINT();
}
上面中断的接收直接用ch可以吗,还是要用数组求改一下,就是现在中断进不去,不知为啥
哪位大神给看看

[ 本帖最后由 cuanli007 于 2012-8-13 11:16 编辑 ]

最新回复

UCTL0 |= ~SWRST;                         //开始设置串口    第二行 是不是有问题来着。。。  详情 回复 发表于 2012-8-10 20:50

点评

UCTL0 |= ~SWRST; //开始设置串口 第二行 是不是有问题来着。。。  详情 回复 发表于 2012-8-10 20:50
 
点赞 关注

回复
举报

14

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

回复 楼主 cuanli007 的帖子

UCTL0 |= ~SWRST;                         //开始设置串口   
第二行 是不是有问题来着。。。
 
 

回复

45

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
改了哈是有问题
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表