关于MSP430的485通讯的问题

2019-03-24 11:43发布

我用两个msp430f149的板子,进行485通信,一个发,一个收。主机发信息,从机能收到并且显示,但是从机返回信息,主机就收不到了,没有显示,把两个板子对调也不行,主机可以发信息给从机,从机无法发送信息给主机。

我的程序思想是这样的:由于双机互传,所以没有复杂的校验等等。
主机发送数据,然后等待接收中断,从机一开始就等待接收并显示,然后发送数据给主机。

从机可以接收到信息,但是主机却无法接收。
   LcdReset();           //显示初始化
   Delay5ms();
   
  Init();                  //uart初始化
_EINT();             //总中断使能
DRE_out ;
DE;                   //控制485为发送状态               
  while(1)
  {
    UTCTL1|=TXWAKE;         //表明发送为地址数据
    TXBUF1=0x01;                //呼叫地址0x01
    while((UTCTL1&0x01)==0);
     UTCTL1&=~TXWAKE;       //表明发送为数据
    TXBUF1=0X31;                 // 发  '1'
    while((UTCTL1&0x01)==0);
    RE;                                  //控制485接收
   while(1);                     //等待中断

}

#pragma vector=UART1RX_VECTOR
__interrupt void UART1RX(void)
{
     Disp1Char(0,1,RXBUF1);            //显示收到的数据
}

请指教一下,谢谢了 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
mengyu139
2019-03-24 16:12
< :TI_MSP430_内容页_SA7 --> 知道为什么了,是我的主机程序的uart 的初始化中没有使能   接收中断,所以接收不了数据

一周热门 更多>

相关问题

    相关文章