关于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
1楼-- · 2019-03-24 13:35
单独的发送和接收都没有问题,但是,发送后再等待接收就不行了,不知道为什么,从机接收数据后再发送也能完成。
mengyu139
2楼-- · 2019-03-24 16:12
< :TI_MSP430_内容页_SA7 --> 知道为什么了,是我的主机程序的uart 的初始化中没有使能   接收中断,所以接收不了数据
youluo
3楼-- · 2019-03-24 21:45
 精彩回答 2  元偷偷看……
mengyu139
4楼-- · 2019-03-25 03:25
嗯,目前在修改中
奋斗吧小鱼儿
5楼-- · 2019-03-25 05:42
修改的怎么样了?我想看看你的程序!

一周热门 更多>

相关问题

    相关文章