论坛元老
 
- 积分
- 6741
- 金钱
- 6741
- 注册时间
- 2017-4-12
- 在线时间
- 1258 小时
|
发表于 2019-3-29 20:36:17
|
显示全部楼层
void modbus_rtu(void)
{
static u8 i=0;
static u8 j=0;
//printf("modbus_rtu");
switch(i)
{
case 0:
RS485_TX_Service();
if(TX_RX_SET) i=1;
break;
case 1:
RS485_RX_Service();
if(ComErr==0)
{
i=3;//完成命令更换功能码!
}
else
{
i=1;//
j++;//一个命令发送3次没有应答切换下一个命令
if(j>=2)
{
j=0;
i=3;
//ComErr=7; //通讯超时
}
}
break;
case 2: //从机地址++
//SlaverAddr++;
break;
case 3://功能码
break;
}
}
这是你的源码,这里看看你就知道问题在哪里了 |
|