串口- Arduino AltSoftSerial按enter读取/打印altSerial



不知道在StackOverflow上是否有任何arduino向导,但我只是想找一个!我在理解一些代码方面有问题,为什么我不能自动执行这个过程,而不是按输入

我使用RFID阅读器读取一些标签,并使用altSoftSerial库。但是,为了将tagID打印到我的串行中,我需要按Enter。看在上帝的份上,我不明白这是为什么。是不是可以检查一下altSerial。读取某个ID,并在出现时打印它?因为当我自动打印串行时,我只会得到很多' fffffffffffffffffffffffffffffffffffffff '的噪音…

#include <AltSoftSerial.h>
AltSoftSerial altSerial;
char txrxbuffer[255];
char get_readID[] = { 0xAA , 0x00, 0x03, 0x25, 0x26, 0x00, 0x00, 0xBB };
void setup()
{
Serial.begin(9600);
Serial.println("Hit Enter to read the RFID number");
altSerial.begin(9600);
}
void loop() // run over and over
{ 
int counter = 0;
if (Serial.available()){
    Serial.read();
    Serial.println("");
    for (counter =0 ; counter < 8 ; counter++){
      char tagID = get_readID[counter];
      altSerial.write(tagID);
    }
}
if (altSerial.available())
  Serial.print(altSerial.read(),HEX);
}

似乎在读取标签之前,你必须向你的阅读器发送一个特定的代码,你在第一个if中发送的代码;如果在串行(从pc)上接收到至少一个字符,则读取该字符(但不存储它,它这样做是为了清理输入缓冲区,因此每个字符都是读取的,任何字符都是好的),然后发送此代码。第二种方法是寻找答案,如果答案存在,则将其发送回pc。因此,只需从setup()中发送代码然后在每次读取之后,或者寻找保持启用的替代命令

最新更新