我即将切换到 Arduino。这些 ESP 废话板有这么多错误和问题。
我有一个简单的脚本。没什么好说的,它只是通过“Serial.print”发送串行数据。
我将
电路板插入我的电脑并打开一个串行监视器程序。直到我按下板上的复位按钮,它才工作,然后它获取串行数据。什么?我想构建一个永久安装的设备,我不想在每次开机时都按下重置按钮。在 Arduino 上工作得很好。
代码:
全选#include
#include
#define SS_PIN D8
#define RST_PIN D3
MFRC522 rfid(SS_PIN, RST_PIN);
MFRC522::MIFARE_Key key;
void setup() {
pinMode(D1, OUTPUT);
digitalWrite(D1, LOW);
Serial.begin(9600);
SPI.begin();
rfid.PCD_Init();
rfid.PCD_SetAntennaGain(rfid.RxGain_max);
Serial.println(\"B\");
digitalWrite(D1, HIGH);
}
void loop() {
if ( ! rfid.PICC_IsNewCardPresent())
return;
if ( ! rfid.PICC_ReadCardSerial())
return;
char str[32] = \"\";
array_to_string(rfid.uid.uidByte, 4, str);
Serial.println(str);
rfid.PICC_HaltA();
rfid.PCD_StopCrypto1();
}
void array_to_string(byte array[], unsigned int len, char buffer[])
{
for (unsigned int i = 0; i < len; i++)
{
byte nib1 = (array
>> 4) & 0x0F;
byte nib2 = (array>> 0) & 0x0F;
buffer[i*2+0] = nib1 < 0xA ? \'0\' + nib1 : \'A\' + nib1 - 0xA;
buffer[i*2+1] = nib2 < 0xA ? \'0\' + nib2 : \'A\' + nib2 - 0xA;
}
buffer[len*2] = \'\\0\';
}
0