【问题标题】:Raspberry pi mb+ UART 8bit message树莓派 mb+ UART 8bit 消息
【发布时间】:2019-01-11 07:16:47
【问题描述】:

我想通过 UART 从 Rpi 向 Atmega328 发送消息,并且必须只有 8 位消息(地址、地址、方向、步数 [5 位])。

import RPi.GPIO as GPIO
import serial
import time,sys


var=0b11110000
SERIAL_PORT = "/dev/ttyS0"
ser=serial.Serial(SERIAL_PORT,baudrate=9600,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,bytesize=serial.EIGHTBITS)
time.sleep(1)
print("Sending")
ser.write(var)
ser.close()

但我明白了

Sending
Traceback (most recent call last):
File "UART_2.py", line 11, in <module>
ser.write(var)
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 558, in write
return len(data)
TypeError: object of type 'int' has no len()

我应该怎么做才能正确发送?

【问题讨论】:

    标签: python raspberry-pi3 uart


    【解决方案1】:

    看起来您应该给ser.write 一个字节数组,而不是发送单个值。尝试使用具有长度的 var=[0b11110000],而整数 0b11110000 没有。
    如果您可以将字节编码为字符串,您还可以在pySerial write() won't take my string找到更多答案

    【讨论】:

      猜你喜欢
      • 2018-12-23
      • 1970-01-01
      • 2014-01-13
      • 1970-01-01
      • 1970-01-01
      • 2014-05-08
      • 2015-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多