转: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 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()
  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值