我的arduino一直在给我送线。在
例如,我逐行发送一个整数(0-1023),因此它应该是:
"51\r\n233\r\n37\r\n166\r\n"
并且无限长,只要它是连续不断的流。在
我目前正在使用pyserial
的函数readline()
来读取数据,但是经常会看到损坏/丢失的字节。例如,它不是"37\r\n"
后跟"11\r\n"
,而是得到"3\r11\r\n"
甚至"3711\r\n"
!在
下面是我完整的Python结束代码:
^{pr2}$对于那些感兴趣的人,(可能相关的)arduino代码只是:
#define FASTADC 1 // Flag for prescale 16
// Code pasted for modifying ADCSRA
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif
void setup() {
Serial.begin(1000000);
#if FASTADC
// set prescale to 16
sbi(ADCSRA,ADPS2) ;
cbi(ADCSRA,ADPS1) ;
cbi(ADCSRA,ADPS0) ;
#endif
}
void loop() {
int val;
val = analogRead(A0);
Serial.println(val);
}
从代码中可以看到,波特率、奇偶校验、停止位都设置为1000000;无;1。在
目前没有回答
相关问题 更多 >
编程相关推荐