昂德森科技 2024-01-04 22:28 采纳率: 0%
浏览 16

arduion modbus通讯

我想实现arduion获取dht11数据然后通过modbus-rtu发送,但是我的数据目前总是发不过去

#include <ModbusRtu.h>
#include <DHT.h>

#define DHTPIN 12          // DHT11连接到Arduino的数字引脚2
#define DHTTYPE DHT11     // DHT11型号传感器

// Modbus从站对象和共享数据数组
Modbus slave(1, Serial, 0); // 从站地址为1
uint16_t au16data[2];      // 多两个元素用于存储DHT11的湿度和温度数据

// DHT11传感器对象
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(19200);
  dht.begin();             // 启动DHT11传感器
  slave.start();           // 启动Modbus从站
}

void loop() {
  // 读取DHT11的湿度和温度数据并将其添加到共享数据数组中
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();
    if (!isnan(humidity)) {
    //humidityValue = (uint16_t)(humidity * 10);
    au16data[0] = humidity;  // 将湿度值存储在数组的倒数第二个元素中
  }

  if (!isnan(temperature)) {
    //temperatureValue = (int16_t)(temperature * 10);
    au16data[1] = temperature;  // 将温度值存储在数组的最后一个元素中
  }

  // 轮询Modbus从站,等待主站发送请求
  slave.poll(au16data, 2);
  delay(2000);
}

img

我是放到这个au16data数组里然后发送出去,但是我用modbus-poll工具检测到读不到数据,但是arduion的TX RX确实也在发送,因为硬件信号灯闪烁,有朋友知道问题吗,不胜感激

  • 写回答

1条回答 默认 最新

  • 蓝天居士 《人工智能从入门到进阶实战》作者 2024-01-05 02:16
    关注

    串口线有没有接对?一端的Tx接另一端的Rx,Rx接Tx

    评论

报告相同问题?

问题事件

  • 创建了问题 1月4日

悬赏问题

  • ¥20 Html备忘录页面制作
  • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
  • ¥20 数学建模来解决我这个问题
  • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?
  • ¥15 django5安装失败