极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12355|回复: 3

arduino通过MAX485产生的485信号和PC通过仿真产生的串口有什么区别

[复制链接]
发表于 2016-8-31 22:41:18 | 显示全部楼层 |阅读模式
  现在碰到一个问题,就是一个接收485信号的板子,可以通过连接电脑的USB转485通过串口仿真器产生的信号控制。

  但是通过ARDUINO UNO,连接MAX485,产生的485信号就无法控制。




  控制程序如下


String comdata = "";
int i=0;
int n=0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  if(i==5){
    char A[]={0x7F,0x05,0x41,0x00,0x01,0x45,0xEF};
    //Serial.write(&A[0],7);
    Serial.print(A[0]);
    Serial.print(A[1]);
    Serial.print(A[2]);
    Serial.print(A[3]);
    Serial.print(A[4]);
    Serial.print(A[5]);
    Serial.print(A[6]);

  }

  i++;
  if(i>10000){
    i=10;
    n++;
  }
  if(n>50){
    i=0;
    n=0;
  }//延时控制

  while (Serial.available() > 0)  
    {
        comdata += char(Serial.read());
        delay(2);
    }
    if (comdata.length() > 0)
    {
        Serial.println(comdata);
        comdata = "";
    }
}

通过USB转485和232转485都读取到了正确的ASCII码,但是只要PC发出就可以控制,arduino发出就没有响应。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2016-9-1 07:55:54 | 显示全部楼层
char A[]={0x7F,0x05,0x41,0x00,0x01,0x45,0xEF};
0x7E吧
回复 支持 反对

使用道具 举报

发表于 2016-9-1 09:25:24 | 显示全部楼层
275891381 发表于 2016-9-1 07:55
char A[]={0x7F,0x05,0x41,0x00,0x01,0x45,0xEF};
0x7E吧

LZ笔误,被发现了了,哈哈!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-1 13:07:16 | 显示全部楼层
275891381 发表于 2016-9-1 07:55
char A[]={0x7F,0x05,0x41,0x00,0x01,0x45,0xEF};
0x7E吧

还真是  尴尬了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-14 07:25 , Processed in 0.088323 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表