作者cktheonly (影)
看板Electronics
标题[问题] Arduino Serial Port 连接问题
时间Sat Oct 3 09:31:53 2015
我是这方面的新手,现在遇到一些问题想上来请教一下~
以下是我的设置:
http://imgur.com/ixpWdrv
最後的目标是让Arduino读取device的资料後,可以自动控制Relay。
现阶段则是想先用PC确保可以读到device上传来的资讯(MODBUS)
目前遇到的问题是,根据收到的结果判断,似乎连接失败了!(communication error)
连接时间过长,可能根本没有抓到...
device直接连PC是可以读到资料的,把程式烧录到Arduino也没问题
RS232的模组也确认过了没坏掉,不知道是在连接上还是code有错
想请大家帮帮忙,拯救一下小弟QAQ
(资料参考来源:
http://tinyurl.com/pua5sbs)
以下是code:
// Include these libraries for using the RS-232 and Modbus functions
#include <RS232.h>
#include <ModbusMaster232.h>
#include <SPI.h>
// Instantiate ModbusMaster object as slave ID 1
ModbusMaster232 node(1);
// Define one addres for reading
#define address 0x0000
// Define the number of bytes to read
#define bytesQty 2
void setup()
{
// Power on the USB for viewing data in the serial monitor
Serial.begin(115200);
delay(100);
// Initialize Modbus communication baud rate
node.begin(9600);
// Print hello message
Serial.println("Modbus communication over RS-232");
//node.PrintTest();
delay(100);
}
void loop()
{
// This variable will store the result of the communication
// result = 0 : no errors
// result = 1 : error occurred
int result = node.readHoldingRegisters(address, bytesQty);
if (result != 0) {
// If no response from the slave, print an error message
Serial.println(result,DEC);
Serial.println("Communication error");
delay(1000);
}
else {
// If all OK
Serial.print("Read value : ");
// Print the read data from the slave
Serial.print(node.getResponseBuffer(0));
delay(1000);
}
Serial.print("\n");
delay(2000);
// Clear the response buffer
node.clearResponseBuffer();
}
请问一下,我连接的方式有误吗?
code有哪边不对吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.104.83
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Electronics/M.1443835917.A.F0F.html
1F:→ boson5566: 两者baud rate不一样怎麽会收的到.. 10/03 12:53
2F:→ beggerchou: 快的会收到 值是错误的而已 10/03 16:22
3F:→ easypro: 232接modbus??? 两个讯号不同你怎麽接在一起? 10/03 20:20
4F:→ easypro: modbus是走RS485半双工模式 RS232是全双工 而且电压准位 10/03 20:22
5F:→ easypro: 是不一样的 10/03 20:22
6F:→ easypro: 网页上有写RS485那个模组才能走Modbus RS232不能 10/03 20:29
7F:推 gabbana: 485是diff. rx tx全双工有四条232是single ended txrx 10/09 14:42