小编are*_*eid的帖子

Python串行读取线是否中断了Arduino循环?

我试图从与Arduino接口的传感器发布Twitter更新.Adruino环路在读取传感器电压之间有1秒的延迟.Python代码在Twitter更新之间有1小时的延迟.

似乎Python脚本实际上会中断 Arduino循环,直到它在串行端口上读取新行.它是否正确?

例如,尽管Arduino程序在循环上运行1小时,但它只显示millis()计数器值1001,2小时后它将显示2002.如果没有运行Python脚本并仅观察串行监视器,Arduino代码计数毫秒正如所料.

这通常不会成为问题,但是如果您想要同时运行数据记录器并millis()以高采集速率连续运行,那将是一个问题.由于串行监视器不能与Python程序共享相同的端口,因此很难知道发生了什么.

这是Arduino代码的示例

void loop() {
    unsigned long ms=millis();
    // read the input on analog pin 1:
    int sensorValue = analogRead(A1);
    float Temp = sensorValue * Vref * (100.0/1023.0); 
    // print out the value you read:
    Serial.print(Temp); 
    Serial.print(" degC");
    Serial.print(" , ");
    Serial.print(ms);
    Serial.println(" milliseconds");
    delay(1000);        // delay in miliseconds between reads for stability
}
Run Code Online (Sandbox Code Playgroud)

这是有问题的Python代码部分:

arduino = serial.Serial('COM6', 9600)

while 1:  ##Infinite Loop
    status = arduino.readline() ##Wait for new line to …
Run Code Online (Sandbox Code Playgroud)

python arduino delay

4
推荐指数
1
解决办法
2030
查看次数

标签 统计

arduino ×1

delay ×1

python ×1