完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试通过 rs485 modbus rtu 将电能表数据传输到 nodemcu(esp8266)。我已经写了一些相同的示例代码,但没有得到所需的结果。请帮我做同样的事情。
//////// #include #define RX 2 //Serial Receive pin #define TX 3 //Serial Transmit pin #define RTS_pin 9 //RS485方向控制 #define RS485Transmit HIGH #define RS485Receive LOW SoftwareSerial RS485Serial(RX, TX); 无符号多头利率 = 60000;// 以毫秒为单位的默认刷新率 unsigned long lastMillis = 0; void setup() { pinMode(RTS_pin, OUTPUT); // 启动内置串口,用于Serial Monitor 序列号.begin(9600); Serial.println("Energy_meter"); // 启动 Modbus 串口,用于 Energymeter RS485Serial.begin(9600); 延迟(1000); } void loop() { digitalWrite(RTS_pin, RS485Transmit); // 初始化发送 字节 Em_request[] = {0x15, 0x03, 0x1B, 0x07, 0x09, 0x0B, 0x19, 0x0F}; // 查询帧 RS485Serial.write(Em_request, sizeof(Em_request)); RS485Serial.flush(); 数字写入(RTS_pin,RS485Receive);// 初始化接收 字节 Em_buf[7]; RS485Serial.readBytes(Em_buf, 7); Serial.print("PF:"); for( byte i=0; i<7; i++ ) { Serial.print(Em_buf[i], HEX); 序列号.print(" "); } Serial.print(" ==> "); Serial.print(int(Em_buf[4])); 序列号.print(""); 序列号.println(); 延迟(100); } //////// 上面是代码 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
541浏览 6评论
454浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
434浏览 5评论
436浏览 4评论
409浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 00:21 , Processed in 1.022423 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号