我正在尝试从单线 5v 总线读取数据,该总线应该是 ~0v 或 ~5v,并且最多每 25 微秒更改一次。
在硬件方面:我只是将单根线连接到我的 arduino (atmel328p) 上的一个引脚。我试过针脚 3、8 和 A0。我需要进行端口操作以达到我需要的速度。由于 atmel328p 每秒运行 1600 万次操作,这应该在 arduino 的能力范围内。
这是我的代码:
void setup() {
pinMode(3, INPUT);
Serial.begin(115200);
for(;;) {
uint8_t a = PIND;//analogRead(A0);
if (a==0)
// normally I won't be writing to USB serial this often, I'm
// just simplifying as much as possible and I just want to know if this
// actually works
Serial.println(a);
}
}
void loop() {}
我在硬件或软件方面做错了什么?
其他几个项目,例如 SoftwareSerial、NewSoftSerial 或 AltSerial 或 I2C 或 OneWire 都做同样的事情,但我不知道我做错了什么。