中级会员
 
- 积分
- 332
- 金钱
- 332
- 注册时间
- 2015-10-22
- 在线时间
- 127 小时
|
发表于 2017-10-21 18:06:11
|
显示全部楼层
请教楼主,要点亮LED(DS1)的指令怎么用?
//Modbus功能码05处理程序 ///////////////////////////////////////////////////////程序已验证OK
//写单个输出开关量
void Modbus_05_Solve(void)
{
if(startRegAddr<100)//寄存器地址在范围内
{
if((RS485_RX_BUFF[4]==0xFF)||(RS485_RX_BUFF[5]==0xFF)) *Modbus_OutputIO[startRegAddr]=0x01;
else *Modbus_OutputIO[startRegAddr]=0x00;
RS485_TX_BUFF[0]=RS485_RX_BUFF[0];
RS485_TX_BUFF[1]=RS485_RX_BUFF[1];
RS485_TX_BUFF[2]=RS485_RX_BUFF[2];
RS485_TX_BUFF[3]=RS485_RX_BUFF[3];
RS485_TX_BUFF[4]=RS485_RX_BUFF[4];
RS485_TX_BUFF[5]=RS485_RX_BUFF[5];
calCRC=CRC_Compute(RS485_TX_BUFF,6);
RS485_TX_BUFF[6]=(calCRC>>8)&0xFF;
RS485_TX_BUFF[7]=(calCRC)&0xFF;
RS485_SendData(RS485_TX_BUFF,8);
} |
|