本文主要是介绍转:PC上 python 通过串口和 arduino 读写交互成功,哈哈,真好玩,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转:PC上 python 通过串口和 arduino 读写交互成功,哈哈,真好玩
原文地址:http://blog.csdn.net/wangtaonice/article/details/50334005
纯 arduino 新手,高手勿笑,月初买的 arduino 板, 前天开始折腾, 好有意思, 分享的这个挺基础,可是之前搜索就是没搜到类似的,摸索出来以后特别分享下:
arduino 端还不知道怎么用 Python 直接编译上传,貌似看到有方案? 先还是用 arduino IDE 写 C 来处理串口请求:
ARDUINO 代码复制打印
char line[500] = “”; // 传入的串行数据
int ret = 0;void setup() {
Serial.begin(9600); // 打开串口,设置数据传输速率9600
}void loop() {
// 纯口可用时操作
if (Serial.available() > 0) {
// 读取传入的数据: 读到 \n 为止,或者最多500 个字符
ret = Serial.readBytesUntil(‘\n’, line, 500);
//打印你得到的:
Serial.print(“I received: “);
Serial.println(line);
}
// 每1秒做一个输出
delay(1000);
Serial.println(“I am waiting! “);
}
在安装好 pyserial 以后 python 读取串口数据:
PYTHON 代码
!/usr/bin/env python# -*- coding: utf-8 -*-import time
import serialser = serial.Serial(2) # 注意选择串口号, 从 0 开始计数, 我的是 COM3 ,所以参数是 2
line = ser.readline()
while line: print(time.strftime(“%Y-%m-%d %X\t”) + line.strip()) line = ser.readline()# 每 10 秒向窗口写当前计算机时间
sep = int(time.strftime("%S")) % 10
if sep == 0:ser.write("hello, I am hick, the time is : " + time.strftime("%Y-%m-%d %X\n")) # write a string
ser.close()
这篇关于转:PC上 python 通过串口和 arduino 读写交互成功,哈哈,真好玩的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!