转:PC上 python 通过串口和 arduino 读写交互成功,哈哈,真好玩

本文分享了Arduino新手如何使用Python直接编译上传,提供了基础的Arduino代码实例及Python读取串口数据的方法,适合对Arduino和Python感兴趣的学习者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自这里写链接内容

纯 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 serial

ser = 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()

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值