注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
Domosday的个人空间 https://home.eeworld.com.cn/space-uid-432264.html [收藏] [复制] [分享] [RSS]
日志

msp430 uart 接收问题

已有 321 次阅读2013-12-8 17:27

小弟在做modbusrtu通信,使用149单片机定时发送数据帧,但是接收到到数据帧怎么都一样呢?
resvbuf[0]——resvbuf[8]接收到的是一样的16进制数据,不知道什么原因,还望高手给予指点!!!谢谢
#pragma vector = TIMERA0_VECTOR
__interrupt void Timer_A (void)
{   
  DE;
    uint i;
      i=0;
   while(i<8)
  {
    TXBUF1=sendbuf;
   while(!(IFG2 & UTXIFG1));
    IFG2 &= ~UTXIFG1;
   i++;
  }
  RE;
}
void Set_UART1(void)
{
    P3SEL |= 0xC0;                            //将P3.6,P3.7选做UART1的通信端口
    ME2 |= UTXE1 + URXE1;                     //使能USART1的TXD和RXD
    UCTL1 |= CHAR;                            //选择8-bit字符
    UTCTL1 |= SSEL0;                          //驱动时钟选择ACLK
    UBR01 = 0x03;                             //波特率9600
    UBR11 = 0x00;
    UMCTL1 = 0x6B;                            //调整
    UCTL1 &= ~SWRST;                          //初始化UART状态机
    IE2 |= URXIE1;
}
/*********异步接受中断***/
#pragma vector=UART1RX_VECTOR
__interrupt void UART1_RX (void)
{   

  uint j=0;
  if (URXIFG1)  
{
    while(j<9)
     {
    resvbuf[j]=RXBUF1;  
       IFG2 &=~ URXIFG1 ;
     j++;
     }
}

}


[ 本帖最后由 Domosday 于 2013-12-8 09:27 编辑 ]

本文来自论坛,点击查看完整帖子内容。

全部作者的其他最新日志
评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章