600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 树莓派串口与外部设备通信

树莓派串口与外部设备通信

时间:2022-12-14 04:51:45

相关推荐

树莓派串口与外部设备通信

想了解或者学习人工智能可以看一下,我觉得学习起来挺有趣的!!!!

树莓派串口与外部设备通信

1 SSH登录树莓派系统之后2 设置硬件串口为GPIO串口3 minicom串口助手测试4 C语言测试代码,打印hello world

从树莓派的相关资料我们可以看到,树莓派有两个串口可以使用,一个是硬件串口(/dev/ttyAMA0),另一个是mini串口(/dev/ttyS0)。硬件串口有单独的波特率时钟源,性能好,稳定性强;mini串口功能简单稳定性较差波特率由CPU内核时钟提供受内核时钟影响

树莓派(3/4代)板载蓝牙模块,默认的硬件串口是分配给蓝牙模块使用的,而性能较差的mini串口是分配给GPIO串口 TXD0、RXD0。

运行以下命令可以查看到默认的串口分配方式:

ls /dev -al

由于硬件串口分配给板载蓝牙使用,所以我们要释放掉,并且设置硬件串口分配给GPIO串口。

1 SSH登录树莓派系统之后

sudo raspi-config

进入树莓派系统配置界面,选择第五个Interfacing Options

进入P6 Serial

选择关闭串口登录功能,打开硬件串口调试功能

完成后提示以下界面,按OK。

退出raspi-config设置,并根据提示重启树莓派。

2 设置硬件串口为GPIO串口

编辑/boot目录下的config.txt文件

sudo nano /boot/config.txt

添加下面两行到最后:

dtoverlay=pi3-miniuart-btforce_turbo=1

修改后的如下图片所示

保存:Ctrl+O,退出Ctrl+X

重启树莓派

sudo reboot

重启树莓派后,再次输入ls /dev -al,可以看到两个串口已经互相换了位置:

3 minicom串口助手测试

安装minicom

sudo apt-get install minicom

安装完成后启动minicom

minicom -D /dev/ttyAMA0 -b 9600

其中-D表示选择串口**/dev/ttyAMA0**,-b设置波特率为9600,此参数可以不用设置,默认115200。

打开串口就可以通过USB转TTL模块来传输数据了。

退出minicom的操作比较麻烦,根据提示,需要先按Ctrl+A,再按Z,弹出以下菜单,

接着按X,最后选YES按回车确定。

USB转TTL模块连接如下图:

4 C语言测试代码,打印hello world

代码如下:

#include <stdio.h>#include <wiringPi.h>#include <wiringSerial.h>int main(){int fd;if(wiringPiSetup() < 0)return 1;if((fd = serialOpen("/dev/ttyAMA0",9600)) < 0)return 1;printf("serial test start ...\n");serialPrintf(fd,"Hello World!!!\n");while(1){serialPutchar(fd,serialGetchar(fd));}serialClose(fd);return 0;}

新建testCom.c文件,并把上面的代码复制进去

nano testCom.c

保存:Ctrl+O,退出Ctrl+X

使用gcc编译器来编译程序

gcc testCom.c -o test -lwiringPi

运行程序

./test

也可以从串口发送数据给树莓派,树莓派会直接返回给串口显示。

注意:如果出现了显示乱码的情况,请检查一下波特率,需要设置为9600,与以上代码对应。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。