各位rs485的問題-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5525|回复: 0

[已解决] 各位rs485的問題

[复制链接]
发表于 2012-11-4 15:40 | 显示全部楼层 |阅读模式
本帖最后由 sing6625 于 2012-11-4 15:42 编辑

各位大哥大姐,小弟我在用arduino r3 和傳感擴充模組
DFR088,我要用rs485讀取表頭ctec713p裡面的資料,要怎樣寫?
這是我改了點的程式碼,請各位幫幫忙指點一下~~~
看看我的問題在那裡~~~~

#include <SoftwareSerial.h>

#define rxPin 2

#define txPin 3

#define ledPin 13

// set up a soft serial port

SoftwareSerial mySerial(rxPin, txPin);

int  val = 0;
char code[10];
int bytesread = 0;

void setup() {
  // define pin modes for tx, rx, led pins:

  pinMode(rxPin, INPUT);    // Set rxPin as INPUT to accept SOUT from RFID pin

  pinMode(txPin, OUTPUT);   // Set txPin as OUTPUT to connect it to the RFID /ENABLE pin

  pinMode(ledPin, OUTPUT);  // Let the user know whats up

  // set the data rate for the serial ports

  mySerial.begin(2400);    // RFID reader SOUT pin connected to Serial RX pin at 2400bps

  Serial.begin(9600);      // Serial feedback for debugging in Wiring

  // say something

  Serial.println("0203 009C");

}

void loop() {
  digitalWrite(txPin, LOW);           // Activate the RFID reader

  digitalWrite(ledPin, LOW);          // Turn off debug LED

   

  if((val = mySerial.read()) == 10) { // check for header
    bytesread = 0;
   
    while(bytesread<10) {             // read 10 digit code
      val = mySerial.read();
      

      if((val == 10)||(val == 13)) {  // if header or stop bytes before the 10 digit reading
        break;                        // stop reading
      }
      

      code[bytesread] = val;          // add the digit           

      bytesread++;                    // ready to read next digit  

    }
   
    if(bytesread == 10) {             // If 10 digit read is complete
      digitalWrite(txPin, HIGH);      // deactivate RFID reader
      digitalWrite(ledPin, HIGH);     // activate LED to show an RFID card was read

//      Serial.print("TAG code is: ");  // possibly a good TAG
      Serial.println(code);           // print the TAG code

    }
   
    bytesread = 0;
    delay(2000);                      // wait for a second to read next tag

  }
}

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

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2025-1-1 20:20 , Processed in 0.077438 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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