Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 什么是「;“发送”;Arduino串行监视器上的按钮在做什么?_Python_Arduino_Ide_Pyserial - Fatal编程技术网

Python 什么是「;“发送”;Arduino串行监视器上的按钮在做什么?

Python 什么是「;“发送”;Arduino串行监视器上的按钮在做什么?,python,arduino,ide,pyserial,Python,Arduino,Ide,Pyserial,这已经解决了 打开串行端口后,我必须等待几秒钟 我想执行python程序,该程序是通过Arduino串行监视器上的send按钮完成的 if (Serial.available() > 0){ Serial.print(hoge); } 是用arduino编写的,我想通过python程序使Serial.available()>0可用 我试过。。。 1. 如果我在IDE串行监视器上发送类似A或3的内容,hoge的内容将在串行监视器上输出 if (Serial.available()

这已经解决了 打开串行端口后,我必须等待几秒钟


我想执行python程序,该程序是通过Arduino串行监视器上的send按钮完成的

if (Serial.available() > 0){
    Serial.print(hoge);
}
是用arduino编写的,我想通过python程序使Serial.available()>0可用

我试过。。。 1. 如果我在IDE串行监视器上发送类似A或3的内容,hoge的内容将在串行监视器上输出

if (Serial.available() > 0){
    Serial.print(hoge);
}
2. 使用pyserial

ser=serial.serial('/dev/ttyACM0',115200,超时=None)
序列写入(str.encode('A'))
data=ser.readline()
打印(数据)
执行此操作时,它会在ser.read()之前等待接收。 删除Arduino上程序的
if(Serial.available()>0)
并执行后,终端上正确打印了hoge的内容

霍格的内容是

b'0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\r\n'
我需要写什么才能完成与“发送”相同的任务?如何获取Serial.available()>0


如果你能告诉别人,那将非常有帮助。

hoge[]的第一个数据是空字符。因此,“Serial.print()”函数不可能打印出全部内容

  • Serial.print(hoge)立即返回,因为第一个字符是空字符
  • ser.readline()一直在等待,因为没有来自Arduino的新行
  • 只需更改内容就可以解决这个问题,或者使用write()函数(但是如果您保留相同的内容,那么您也需要在不使用readline()的情况下调整python代码)


    在python代码中,需要在“ser.write()”之前添加“time.sleep()”,以便Arduino准备好接收串行数据。需要超过1秒。

    hoge的内容是否正确?看起来很奇怪。“0”之间没有逗号\r\n。。而不是0,我认为霍格是正确的。因为,对于(inti=0;i<159;i++){Serial.print(数据[i]);Serial.print(“,”;}Serial.println(数据[159]);arduino密码在哪里?在循环()中?是的,在循环()中。尝试在python代码的write()之后添加flush()。