一、开启串口部分:转载自 http://www.cnblogs.com/wuxuan/p/7764495.html
通过 cat /proc/version命令得到的版本是
linux version 4.9.35-v7+
注:网上说树莓派3B,有两个串口,一个是硬件串口给了蓝牙使用,一个是mini串口才是映射到了GPIO口上,但mini串口不稳定
开启硬件串口方法分两步,第一步将硬件串口与mini串口互换,第二步,关闭远程控制功能;
第一步:
sudo nano /boot/config.txt
在该文件中增加一行代码
dtoverlay=pi3-miniuart-bt (网上方法是下载pi3-miniuart-bt-overlay.dtb文件,然后拷贝到/boot/overlays目录里,命令是dtoverlay=pi3-miniuart-bt-overlay;pi3-miniuart-bt 文件是系统自带的)
force_turbo=1
保存重启后,通过 ls -l /dev 命令查询,
可以看到 Serial0->ttyAMA0
Serial1->ttys0
表示已经互换了;
第二步:
sudo systemctl stop serial-getty@ttyAMA0.service
sudo systemctl disable serial-getty@ttyAMA0.service
停止并禁用掉串口远程控制功能;
需要修改cmdline.txt
sudo vim /boot/cmdline.txt
删除以下部分
console=ttyAMA0,115200
在树莓派命令窗口中分别通过如下两个命令停止和禁用串口的控制台功能
sudo systemctl stop serial-getty@ttyAMA0.service sudo systemctl disable serial-getty@ttyAMA0.service
重新启动树莓派,使修改生效。
sudo reboot
一、WiringPi的C语言测试部分 转载自 https://blog.csdn.net/hongshimizi/article/details/72796145
测试分两步,第一步,下载安装WiringPi,第二步,编写C语言程序
第一步:
在终端安装WiringPi
mkdir temp
cd temp
wget http://project-downloads.drogon.net/files/wiringPi.tgz
tar xf wiringPi.tgz
cd wiringPi/wiringPi/
sudo apt-get install libi2c-dev
make
sudo make install
第二步:
可以直接在当前的wiringPi文件夹下面新建 uart.c文件并保存,文件内容为:
#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));
// printf("can recive the message..\n");
//}
serialClose(fd);
return 0;
}
在终端中输入已下命令(编译和运行程序):
gcc –Wall uart.c –o uart –lwiringPi
sudo ./uart
这里就简单地向串口输出 hello world!! 内容,并在终端中显示调试信息 serial test start ...