首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rasp 3与Windows串行通信时数据的变化

Rasp 3与Windows串行通信时数据的变化
EN

Stack Overflow用户
提问于 2016-12-01 01:58:58
回答 1查看 33关注 0票数 0

我用python3.x测试了Rasp 3和Windows之间的串行通信,接收到的数据与发送的数据不一样。Windows PC的源代码和运行环境是可信的。我认为Raspi PI的某些东西(来源或配置)是错误的。

请让我知道原因和如何解决它。

这是Windows (接收机)的代码

代码语言:javascript
运行
复制
import time
import serial
import binascii

port = serial.Serial("COM4", baudrate=9600, timeout=0.5)

while True:
    rcv = port.read(100)
    s = bytearray(rcv)
    for c in s:
        print(hex(c))
    time.sleep(1)

至于Raspi PI 3,配置如下。

  1. PC(COM4)的串行线路在每个GPIO 6,8,10(GND,TxD,GPIO插槽的RxD )连接。
  2. 在config.txt中添加了一行 dtoverlay=PI3-禁用-bt

这是Raspi PI 3(发件人)的源代码。

代码语言:javascript
运行
复制
import time
import serial

sp = serial.Serial('/dev/ttyAMA0', 9600, timeout=0.5)
sp.write(b'\xAA')

这些是测试结果(发送的数据和接收到的数据表)。

发送:接收

代码语言:javascript
运行
复制
A9 : 2B 00
AA : 15 00
AB : 2A 00
AC : 0A 00
AD : 29 00
AE : 14 00
AF : 28 00
AA AA : 95 15 00

DIDWEV:20170216.2318.D005.K0.01

EN

回答 1

Stack Overflow用户

发布于 2016-12-02 11:35:26

您不能简单地将RS232接口信号直接连接到您的Pi GPIO。RS232在+/-12V范围内。GPIO引脚在0-3.3V的范围内,也需要一个逻辑反转。您需要一个RS232<>Pi电平转换,以连接一个传统的PC 9-或25引脚D型RS232接口到Pi.你也是冒着炸掉Pi或GPIO引脚的危险,它们不是为3.3V或0V以下的输入电压而设计的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40901393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档