2017-11-29-raspbian-stretch-lite 串口记录

阅读更多

买了个蓝牙模块,因为自带的蓝牙不符合需求。网上找了一逼资料,没有stretch的,照着操作是走不下去的,里面好多细节对于非硬件开发真是坑。说树莓派有ttyAMA0、ttyS0两个串口,在Pi 3中,ttyAMA0被蓝牙用了。ttyS0中的S是软件的意思,所以这ttyS0用起来会不如预期,所以要关掉蓝牙用串口ttyAMA0

 

树莓派串口原被用来做ssh之类的,要切换掉。要把蓝牙也关掉,这样才能用ttyAMA0。再装个minicom测试串口用。

1. sudo apt-get install minicom

 

2. sudo raspi-config

选择 Interfacing Options -> Serial -> 是-> 确定。

重启

 

3. 关掉蓝牙(这一步不要做,第4步已经搞定了)

sudo systemctl disable hciuart

sudo reboot

 

4. 修改 /boot/config.txt文件

 

打开文件执行: sudo vi /boot/config.txt 

在文件末尾添加 

dtoverlay=pi3-miniuart-bt

sudo reboot

 

4. 查看一下,应该关掉了

systemctl status bluetooth

 

5. 修改默认配置

sudo minicom -s

进入Serial port setup

改成:Bps/Par/Bits 这个要根据硬件的文档来折腾波特率、校验位之类的。

    | A -    Serial Device      : /dev/ttyAMA0                              |

    | B - Lockfile Location     : /var/lock                                 |

    | C -   Callin Program      :                                           |

    | D -  Callout Program      :                                           |

    | E -    Bps/Par/Bits       : 115200 8N1                                |

    | F - Hardware Flow Control : No                                        |

    | G - Software Flow Control : No 

 

最后 Save setup as dfl

 

7. sudo minicom

就可以输入命令玩了,这里有个坑,你在minicom中输入一个字符就马上传给设备了,设备会报AT指令错。我的设备是有AT指令的,后面还要求换行。我之前在windows中的sscom工具,工具设置成自动加/r换行符,正常使用。但在树莓派试时,发现输入AT会报错,然后在文本编辑器中输入“AT”再copy进minicom执行还是报错,然后在文本编辑器中输入如下

AT           //注意,这是串口所接硬件支持的命令

               //注意这里是换行

然后把AT和下面一行的换行一起copy,再粘贴到minicom就执行成功了。

 

在做第7步前,其实还可以把树莓派的TXD和RXD用线短接,然后在minicom中你输入一个字母就能看到两个字母,这样能证明1-6步做的正常否。也可以两个树莓派串口连接,但注意txd对rxd,并且两个派的Ground也要用线连起来(这是个坑,试了好久),然后你就可以在两个派minicom中看到的效果,这边发的那边能看到。

 

这里注意,要打ctrl + a,e,打开回显,否则输入是看不到,只有接收能看到。 

 

参考命令:

minicom -b 9600 -o -D /dev/ttyAMA0

你可能感兴趣的:(树莓派,raspberrypi,stretch,串口)