79 görüntülenmeArduinoarduino rs485
0

Analizörün A ve B portlarını RS 485 dönüştürücünün A ve B portlarına bağlantısını sağladım. Kullandığım analizörün register listesine göre adresleri yazdım. Fakat serial ekranda sürekli garip simgeler gördüm. Yardımlarınızı bekliyorum.  

#include <ModbusMaster.h><br />  #define MAX485_DE     3<br />#define MAX485_RE_NEG  2<br /> // instantiate ModbusMaster object<br />ModbusMaster node;<br /> void preTransmission()<br />{<br />  digitalWrite(MAX485_RE_NEG, 1);<br />  digitalWrite(MAX485_DE, 1);<br />}<br /> void postTransmission()<br />{<br />  digitalWrite(MAX485_RE_NEG, 0);<br />  digitalWrite(MAX485_DE, 0);<br />}<br /> void setup()<br />{<br />  pinMode(MAX485_RE_NEG, OUTPUT);<br />  pinMode(MAX485_DE, OUTPUT);<br />  // Init in receive mode<br />  digitalWrite(MAX485_RE_NEG, 0);<br />  digitalWrite(MAX485_DE, 0);<br />   // Modbus communication runs at 115200 baud<br />  Serial.begin(9600);<br />   // Modbus slave ID 1<br />  node.begin(1, Serial);<br />  // Callbacks allow us to configure the RS485 transceiver correctly<br />  node.preTransmission(preTransmission);<br />  node.postTransmission(postTransmission);<br />}<br />   void loop()<br />{<br />  uint8_t result;<br />  // Read 16 registers starting at 0x3100)<br />  result = node.readInputRegisters(0x4000, 4);<br />  if (result == node.ku8MBSuccess)<br />  {<br />    Serial.print("Vbir: ");<br />    Serial.println(node.getResponseBuffer(0x02)/100.0f);<br />    Serial.print("Viki: ");<br />    Serial.println(node.getResponseBuffer(0x03)/100.0f);<br />    }<br />   delay(1000);<br />}

Cevaplanan soru
0

Kaan musahit olunca bulduğun çözümü yazarsın 🙂

Cevaplanan soru