各位老铁们好,相信很多人对故障码网站源码分享都不是特别的了解,因此呢,今天就来为大家分享下关于故障码网站源码分享以及故障码在线查询的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
一、RS485基础通信例程实现的功能描述开发板通过UART1接口+SP485EEN芯片实现和电脑端串口调试助手的通信。并实现如下两个收发范例功能:如果PC端通过485向开发板发送5字节数据,且5字节数据为060708090A,则黄色LED1闪烁一次开发板每隔1秒通过485向PC端发送5字节数据,0102030405二、本实验教学目的掌握基于ShineBlink的:UART通信(占用RX1,TX1)GPIO控制485转换芯片的方向(D2引脚控制485芯片的方向,高电平)-GPIO控制LED1亮灭(D8连接黄色LED1)三、本实验涉及的模块485接口在开发板上的位置如下:
注意,为了使用485接口,必须将P7和P8跳线帽短接才能让TX1引脚、RX1引脚和485转换芯片连接。四、完整源代码以下代码实现了如下功能:如果PC端通过485向开发板发送5字节数据,且5字节数据为060708090A,则黄色LED1闪烁一次开发板每隔1秒通过485向PC端发送5字节数据,0102030405
LIB_GpioOutputConfig(&34;,&34;)–初始化GPIO控制黄色LED1LIB_GpioOutputConfig(&34;,&34;)–初始化GPIO控制Max485REDE收发控制–配置Uart1串口波特率为19200,用作485通讯LIB_Uart1Config(&34;)–使能MAX485发送functionSendEn()LIB_GpioWrite(&34;,1)end–使能MAX485接收functionRecvEn()LIB_GpioWrite(&34;,0)end–使能10毫秒定时器开始工作LIB_10msTimerConfig(&34;)cnt_10ms=0–定义10毫秒定时器的中断函数functionLIB_10msTimerCallback()cnt_10ms=cnt_10ms+1end–开始大循环while(GC(1)==true)do–每1秒发送5字节数据给PC端ifcnt_10ms>=100then–1000mscnt_10ms=0send_data={1,2,3,4,5}SendEn()LIB_Uart1BlockSend(send_data)RecvEn()end–查询是否收到PC端发来的5字节数据,并验证recv_flag,recv_data=LIB_Uart1Recv()ifrecv_flag==1and34;D8&34;HEX发送&34;D2&34;D2&34;CRC16_MODBUS&34;D2&34;D2&34;CRC16_MODBUS&34;D2&34;D2&34;CRC16_MODBUS&34;D2&34;D2&34;CRC16_MODBUS&34;D2&34;D2&34;BAUDRATE_19200&34;D2&34;STANDARD&34;D2″,0)–使能485模块接收?–开始大循环while(GC(1)==true)do–Modbus通信处理ModbusProcess()end
复制代码四、ModbusPoll上位机实验流程(1)配置0x03读取保持寄存器功能(Setup)
(2)建立Modbus串行通信连接(Connectiong)
(3)建立连接后的数据通信1.上位机每秒钟自动下发0x03指令读取设备的起始地址为0x0000的9个保持寄存器的值
通信数据日志:
上面设备回复的23个字节数据举例说明:例如:150312000600000001000000160016000000000000D516数据结尾的CRC算法采用ModbusCrc16
本机地址:0x15功能码:0x03字节数:18字节(9个16bit无符号寄存器)寄存器1:0x0006表示pm25=6寄存器2:0x0000表示hch0=0寄存器3:0x0001表示tvoc=1寄存器4:0x0000表示mesh=6寄存器5:0x0016表示temprature1=21度寄存器6:0x0016表示temprature2=21度寄存器7:0x0000表示windspeed=0寄存器8:0x0000表示running=0寄存器9:0x0000表示faultcode=0CRC_L:0xD5CRC_H:0x16
复制代码2.上位机下发开机命令(功能码0x05,向线圈地址为0x0000处写单个线圈值0xFF00)
通信数据日志:
3.上位机下发停机命令(功能码0x05,向线圈地址为0x0000处写单个线圈值0x0000)
上位机发送:150500000000CEDE设备应回复:150500000000CEDE
好了,关于故障码网站源码分享和故障码在线查询的问题到这里结束啦,希望可以解决您的问题哈!