ESP8266通过RS485与变频器通信

该博客介绍了一种使用ESP8266微控制器和TTL转RS485模块进行无线通信的实现方式。通过示例代码展示了如何发送不同频率(10到50HZ)的命令,并提供了RUN、STOP和PWD/REV等操作指令。代码中使用了SoftwareSerial库来处理串行通信,以9600波特率发送数据。

ESP8266   一块

 

 

TTL转RS485模块  一个

 

上代码

#include <SoftwareSerial.h>

#define MYPORT_TX D5
#define MYPORT_RX D6

unsigned char item0[8] = {0x01, 0x06, 0x20, 0x01, 0x03, 0xE8, 0xD3, 0x74};  //频率为10HZ

unsigned char item1[8] = {0x01, 0x06, 0x20, 0x01, 0x07, 0xD0, 0xD0, 0x66}; //频率为20HZ

unsigned char item2[8] = {0x01, 0x06, 0x20, 0x01, 0x0B, 0xB8, 0xD4, 0x88}; //频率为30HZ

unsigned char item3[8] = {0x01, 0x06, 0x20, 0x01, 0x0F, 0xA0, 0xD6, 0x42}; //频率为40HZ

unsigned char item4[8] = {0x01, 0x06, 0x20, 0x01, 0x13, 0x88, 0xDE, 0x9C}; //频率为50HZ

unsigned char item5[8] = {0x01, 0x06, 0x20, 0x00, 0x00, 0x02, 0x03, 0xCB}; //指令为RUN

unsigned char item6[8] = {0x01, 0x06, 0x20, 0x00, 0x00, 0x01, 0x43, 0xCA}; //指令为STOP

unsigned char item7[8] = {0x01, 0x06, 0x20, 0x00, 0x00, 0x30, 0x82, 0x1E}; //指令为PWD/REV


String data = ""; // 接收到的16进制字符串

SoftwareSerial mySerial;


void setup()
{
  mySerial.begin(9600, SWSERIAL_8N2, MYPORT_TX, MYPORT_RX, false);
  Serial.begin(115200);
  mySerial.listen();  //开启软串口监听
}

void loop()
{
  delay(500);  // 放慢输出频率
  for (int i = 0 ; i < 8; i++) {  // 发送命令
    mySerial.write(item4[i]);  // write输出
  }
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值