樹莓派3B+開啓串口並使用WiringPi編寫C程序測試【2018年4月測試 Linux版本 version 4.9.35-v7+ 2017】

一、開啓串口部分:轉載自 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 [email protected]

sudo systemctl disable [email protected]

停止並禁用掉串口遠程控制功能;

需要修改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 ...


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章