欢迎光临
我们一直在努力

STM32f103c8t6单片机读取DL10B-232-V05一路温度传感器代码编写(1)

传感器参数介绍:

1.STM32f103c8t6单片机通过RS232接口采用modbus协议下传命令道模块,模块响应命令后回传结果。

2.主机(上位机)请求命令: 设备地址(1byte),功能码(1byte),寄存器地址(2byte),寄存器数量(2byte),CRC校验(2byte)。

3.从机设备应答: 设备地址(1byte),功能码(1byte),字节数量(1byte),信息数据(2*Nbyte),CRC校验(2byte)。

4.默认通讯参数: @9600 BPS N,8,1(无效验,8 位数据位,1 位停止位),一路温度个数,命令:01 03 00 00 00 01 84 0A。应答:01 03 02 01 17 F9 DA。

内部寄存器映射地址:

CRC16校验说明:
CRC计算C51语言函数如下:输入参数1:snd,待校验的字节数组名 。输入参数2:num,待校验的字节总数(包括CRC校验的2个字节)。函数返回值:校验失败时返回非0值。校验成功返回0。 

uint16_t Calc_Crc16(uint8_t *Data,uint16_t Length)
{
uint16_t i,j;
uint16_t crc=0xffff;
for(i=0; i<Length; i++)
{
crc ^= Data[i];
for(j=0; j<8; j++)
{
if(crc & 0x0001)
{
crc >>= 1;
crc ^= 0xA001;
}
else
{
crc >>= 1;
}
}
}
return crc;
}

赞(0)
未经允许不得转载:171主机测评 » STM32f103c8t6单片机读取DL10B-232-V05一路温度传感器代码编写(1)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址