python用一行代码编写一个回声程序_Arduino和Python之间的回声程序

我想通过Python中的pyserial发送一些数据到Arduino。我希望Arduino所做的就是从串口读取可变长度的字符串数据,并将其写回以便Python可以读取它。由于我一直无法做到这一点,下面的代码只有Python发送字符。这里的Python代码:Arduino和Python之间的回声程序

import serial

import sys

import pywapi

import time

def main():

ser = serial.Serial(3, 9600, timeout=1)

print "Conn established"

print "Sending: %s" % "z".__repr__()

print ser.write('z'.encode("ascii"))

time.sleep(2)

print "Received: %s" % ser.read(10).__repr__()

ser.close()

这里的Arduino的代码:

void setup(){

analogReference(DEFAULT);

Serial.begin(9600);

}

void loop(){

if(Serial.available() > 0)

Serial.println("x");

while(Serial.available() > 0){

Serial.print(Serial.read(), BYTE);

}

}

输出:

Conn established

Sending: 'z'

1

Received: ''

我知道Arduino的代码工作,因为它的工作原理是在发送数据时从Arduino终端。然而,当我尝试从Python发送任何东西的时候,它就会失败。我一整天都在苦苦挣扎。任何帮助将不胜感激。

2010-02-24

JohnS

+0

“奇怪的结果”是什么意思?也许这是一个握手问题 –

2010-02-24 23:53:36

+0

对不起,奇怪的结果意味着我在这里发布的东西,即没有。 –

2010-02-25 00:48:54

+0

什么是您的操作系统? Windows或* nix? –

2010-02-25 19:07:11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值