TI中文支持网
TI专业的中文技术问题搜集分享网站

28035SCI实现MODBUS通讯时字节数少的时候正常 字节数大的时候(71bytes)—–

在实现MODBUS通讯时遇到问题,请高手指点。谢谢!

1.协议偶 8 1,中断接收中断发送(后来改查询发送,效果一样)。SCI配置:

SciaRegs.SCICTL1.bit.RXENA=1;
SciaRegs.SCICTL2.bit.RXBKINTENA = 1;
 SciaRegs.SCICTL1.bit.SWRESET=1;

2 问题:上位机标准MODBUS设备(触摸屏)。字节数少(13bytes)正常。发送字节较多时(实例71字节),通过中断查看发送前缓存数据表正常,继续发送后串口助手接收到的数据经常少一个(触摸屏也不能正常接收),而且数据内容在35字节后出现错误。

3查询发送在main函数主循环中:

if(DIR==1)
{
      if(UARTa.TxNUM>0)
      {
          while(SciaRegs.SCICTL2.bit.TXRDY==0){}
         SciaRegs.SCITXBUF=UARTa.Buff[UARTa.TxCount];    
         UARTa.TxNUM–;
        UARTa.TxCount++;
      }
      else
      {
        DIR = 0;
        SciaRegs.SCICTL1.bit.TXENA=0;
        SciaRegs.SCICTL1.bit.RXENA=1;
        UARTa.RxCount = 0;
        UARTa.TxNUM   = 0;
      }

}

Seven Han:请问您的波特率设置是多少?
串口的tx与rx以及gnd的接线是双绞屏蔽线么?

在实现MODBUS通讯时遇到问题,请高手指点。谢谢!

1.协议偶 8 1,中断接收中断发送(后来改查询发送,效果一样)。SCI配置:

SciaRegs.SCICTL1.bit.RXENA=1;
SciaRegs.SCICTL2.bit.RXBKINTENA = 1;
 SciaRegs.SCICTL1.bit.SWRESET=1;

2 问题:上位机标准MODBUS设备(触摸屏)。字节数少(13bytes)正常。发送字节较多时(实例71字节),通过中断查看发送前缓存数据表正常,继续发送后串口助手接收到的数据经常少一个(触摸屏也不能正常接收),而且数据内容在35字节后出现错误。

3查询发送在main函数主循环中:

if(DIR==1)
{
      if(UARTa.TxNUM>0)
      {
          while(SciaRegs.SCICTL2.bit.TXRDY==0){}
         SciaRegs.SCITXBUF=UARTa.Buff[UARTa.TxCount];    
         UARTa.TxNUM–;
        UARTa.TxCount++;
      }
      else
      {
        DIR = 0;
        SciaRegs.SCICTL1.bit.TXENA=0;
        SciaRegs.SCICTL1.bit.RXENA=1;
        UARTa.RxCount = 0;
        UARTa.TxNUM   = 0;
      }

}

JIANGBO WANG:

回复 Seven Han:

波特率19200 非严格通讯连接方式。实验室调试状态:线长1米左右4个设备,3#站、本机4#站、USB485转换器、上位机。双绞屏蔽线菊连方式。

赞(0)
未经允许不得转载:TI中文支持网 » 28035SCI实现MODBUS通讯时字节数少的时候正常 字节数大的时候(71bytes)—–
分享到: 更多 (0)