1.sudo nano /boot/cmdline.txt 删除 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 我的文件只有console=ttyAMA0,115200
2.sudo nano /etc/inittab 【注释最后一行内容】
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
我没这个文件
3.sudo systemctl disable getty@ttyAMA0.service
4.重启。
5.条码枪第4脚:(RXD 接收)---MAX3232第7脚-----MAX3232第10脚----树莓派的TXD 发送 (第8脚)
条码枪第5脚:(TXD 发送)---MAX3232第8脚-----MAX3232第9脚-----树莓派的TTL的RXD 接收(第10脚)
6.python3 代码
# -*- coding: utf-8 -*
import serial
import time
import string
import binascii
s=serial.Serial('/dev/ttyAMA0',9600)
#s.open()
s.flushInput()
time.sleep(0.2)
d=bytes.fromhex('02 82 03 83')
s.write(d)
time.sleep(0.2)
data=s.read()
if data == b'\x06':
print("准备扫描")
else:
print("打开扫描失败")
exit()
data=s.readline()
print(data)
#s.close()
使用CP2102USB转TTL一样测试成功。使用HL340转rs232测试成功。FTD1232成功。
$ python -m serial.tools.list_ports
/dev/ttyAMA0
/dev/ttyUSB0
2 ports found
注意:扫描模块的识别模式必须为 按钮开/关 结束符为 CR+LF