接错线了吧你!
1,改485模块接MEGA2560的串口1,将串口0留给ARDUINO的IDE使用如果是短距离,可靠一点的话将485与串口0共地!
485是半双工的,你程序里确实加了发送和接收的切换,但其实切换前是要掘亏返加延时的,至少延时一个字符的传送时间说明白一点就是你应该在 digitalWrite(EN,LOW/HIGH)这一句前面加delay(ms)ms=?? ms=一个字符的传送时间,要根据你的BUAD算一下!
3,建议你先做单接收和单发送的程序,全部调通判饥了再上空启又发送又接收的......
4,只要你不使用软串口,把速率拉上去,2400下去试485简直是浪费,你这点距离,115200都不算快的!使用软串口时,速率大于57600会现乱码!
满意请采纳
通过蓝牙连接稿返手机姿亩和Arduinoa) 接线
VCC:接Arduino的5V
GND:接Arduino的GND
TXD:发送端,一般表示为自己的发送端,接Arduino的RX
RXD:接收端,一般表示为自己键册饥的接收端,接Arduino的TX。
b) 写Arduino端程序
void setup()
{
Serial.begin(9600)
}
void loop()
{
while(Serial.available())
{
char c=Serial.read()
if(c=='A')
{
Serial.println("Hello I am amarino")
}
}
}
把程序安装到Ardunio开发板时,请先断开蓝牙模块,因为它们的数据都走串口,会引起冲突造成安装失败。
Arduino通悄察过TTL转RS232 扩穗岩展板(RS232 shield)或TTL转RS485 扩展板猜运御(RS485 shield)与WinView触摸屏的串口或485口相连,进行数据通讯。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)