1. 程式人生 > >樹莓派的串列埠配置

樹莓派的串列埠配置

在樹莓派3B的外設裡面一共包含兩個串列埠,一個稱之為硬體串列埠(/dev/ttyAMA0),一個稱之為mini串列埠(/dev/ttyS0)。硬體串列埠由硬體實現,有單獨的波特率時鐘源,效能高、可靠,mini串列埠效能低,功能也簡單,並且沒有波特率專用的時鐘源而是由CPU核心時鐘提供,因此mini串列埠有個致命的弱點是:波特率受到核心時鐘的影響。核心若在智慧調整功耗降低主頻時,相應的這個mini串列埠的波特率便受到牽連了,在樹莓派3代中,由於板載藍芽模組,因此這個硬體串列埠被預設分配給與藍芽模組通訊了,而把那個mini串列埠預設分配給了排針引出的GPIO Tx Rx ,下圖為樹莓派3B的引腳圖:


上圖中的TXD和RXD就是引出的串列埠,如果我們需要通過UART外接模組,預設情況下必須得使用效能很低的mini串列埠了,而且隨著核心主頻的變化,還會造成波特率的變化導致通訊的失敗,幾乎很難使用。所以我們希望恢復硬體串列埠與GPIO 14/15的對映關係,使得我們能夠通過GPIO使用高效能的硬體串列埠來連線我們的串列埠裝置。

將樹莓派的硬體串列埠與mini串列埠的預設對映對換:

為了在樹莓派3中通過GPIO使用高效能的硬體串列埠,我們必須將分配給藍芽使用的硬體串列埠與分配給IO排針的mini串列埠進行對換,這必然會使得藍芽模組的功能受到影響,但還好,藍芽並不是必須的。

首先在樹莓派命令終端中通過命令檢視樹莓派3當前的串列埠對映關係  ls -l /dev/

可以看到這是最開始的對映關係,serial0就是GPIO對映的串列埠,此時對應的是mini串列埠。

下面我們就要改變這種對映關係,sudo vim /boot/config.txt 

在該檔案的最後加入一行,dboverlay=pi3-miniuart-bt ,然後儲存檔案後,重啟樹莓派 ls -l /dev,你會看到

串列埠的對映關係發生了改變,你現在已經將硬體串列埠對應到了GPIO上了。

前面的步驟已經交換了硬體串列埠與mini串列埠的對映關係,但現在想使用樹莓派外接串列埠模組進行通訊還不行,因為樹莓派IO引出的串列埠預設是用來做控制檯使用的,它的初衷是為了在沒有網路介面時,通過串列埠對樹莓派進行相關的配置。因此需要禁用這個預設功能,使得串列埠為我們自由使用。

  在樹莓派命令視窗中分別通過如下兩個命令停止和禁用串列埠的控制檯功能  

sudo systemctl stop [email protected] 

sudo systemctl disable [email protected]

 

由於我們前面已經交換了串列埠的對映關係,因此這裡注意是ttyAMA0。 

 然後通過下列指令編輯cmdline.txt檔案  sudo nano /boot/cmdline.txt  然後看到裡面類似如下的內容  

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait  

把console=serial0,115200刪掉,剩下的內容類似如下  dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

然後重啟樹莓派使修改生效。

下面的內容將是在樹莓派上安裝wiringPi庫了:

在有網路的情況下可以使用git工具,可以輸入以下命令:

sudo apt-get install git-core

來讓系統自動安裝git工具,如果在這個過程中出現了錯誤,嘗試更新軟體

sudo apt-get update

sudo apt-get upgrade

緊接著通過git獲得wiringPi的原始碼

git clone git://git.drogon.net/wiringPi

如果需要更新wiringPi

cd wiringPi

git pull origin

否則直接執行./build

會幫你編譯和安裝wiringPi

測試wiringPi是否安裝成功,可以使用gpio -v  

也可以用gpio readall來檢視引腳分佈情況。

可以進入到cd wiringPi/example目錄下編譯幾個程式,來使用該庫。

我們也可以使用gpio命令操作樹莓派GPIO,下面我們可以gpio命令控制LED。

 輸入命令:    gpio -g mode 26 out 

設定管腳為輸出模式,-g引數表示是以BCM編號方式,如果去掉這個引數測以wiringPi編號方式,即為25。

 輸入命令:    gpio -g write 26 1 設定管腳為高電平,點亮LED; 

 輸入命令:    gpio -g write 26 0 設定管腳為低電平,熄滅LED。

相關推薦

樹莓串列配置

由於樹莓派的uart不夠使用,所以我們採用的是usb轉串列埠。但是這個就出現了一個問題。當usb裝置根據插入的順序不同時,其裝置節點會不同,有時候是ttyUSB0,有時候是ttyUSB1或者其他。根據這個問題,經過百度找到了簡單的解決辦法。那就是通過udev來靜態設定檔案節

樹莓相關-樹莓串列配置方法

樹莓派是否能夠使用串列埠呢,答案是肯定的 ,以下是具體方法 1.樹莓派的第一排的第三,四,五個分別,也就是下圖的6,8,10三個埠分別是地,TX與RX,與被連線裝置連線起來。注意樹莓派的TX要連線從裝置的RX,樹莓派的RX要連線樹莓派的TX 2.樹莓派上只有一個串列埠,

樹莓串列通訊配置教程

1、樹莓派3B GPIO 引腳圖(USB口對著自己)。2、 開始配置樹莓派串列埠一、因為樹莓派3加入了藍芽功能,於是把/dev/ttyAMA0串列埠分配給藍芽了。之前使用J8.8, J8.10這個串列埠是對應/dev/ttyAMA0的,但是現在重新分配給/dev/ttyS0了

STM32和樹莓串列透傳

目錄 樹莓派環境串列埠透傳 STM32環境串列埠透傳 最近做一個專案需要STM32和樹莓派進行串列埠通訊,實現原理如下: 第一步:使用USB轉TTL分別除錯STM32和樹莓派的串列埠透傳,確保可以通訊; 第二步:確保第一步成功後,將樹莓派和STM32連線,進行串列埠透傳。

樹莓串列設定及minicom使用

樹莓派3b串列埠預設是關閉的,它把硬體串列埠(物理引腳8 TXD、10 RXD)分配給了藍芽,所以要使用串列埠通訊首先得進行配置。 樹莓派串列埠設定 1.開啟串列埠 sudo raspi-config 2 在檔案/boot/config.txt末新增:dt

樹莓串列

樹莓派上自帶一個串列埠,用於連線藍芽或是串列埠命令列,串列埠資源很少,對於嵌入式的應用來說串列埠裝置很多,需要的串列埠數量也很多,因為通過USB外接串列埠是一個不錯的選擇。樹莓派的 raspberry 2018.04.18 stretch版本的系統中已經集成了USB轉串列埠驅動,可以直接連線上串列埠

樹莓串列/RS485通訊

樹莓派原生串列埠預設用於控制檯輸出,如果想在自己程式裡使用需要先關閉系統佔用此串列埠。方法為rasp-config 裡配置,或直接修改/boot/cmdline.txt#dwc_otg.lpm_enable=0 console=tty1 console=serial0,115

樹莓3 串列使用 raspberry pi 3B+ uart boot overlay(最全樹莓串列使用)

         今天要說說樹莓派3的UART串列埠的使用問題,該串列埠問題的官方反饋及回覆請參考這兩篇官方博文http://www.briandorey.com/post/Raspberry-Pi-3-UART-Boot-Overlay-Part-Two        

【RPi樹莓使用指南】樹莓串列通訊介紹

樹莓派的外部介面中含一路UART序列介面,利用該介面可以實現樹莓派與Arduino、GPRS模組、GPS等其他外部系統的對接。 由於這一路串列埠兼做Linux的控制檯輸出口,所以在使用前必須先將除錯輸出功能關閉,方法如下: 1. 去除Kernel的啟動資訊 在/bo

淺嘗樹莓3之串列配置

引言 本文轉載自:  http://etrd.org/2017/01/29/%E6%A0%91%E8%8E%93%E6%B4%BE3%E7%A1%AC%E4%BB%B6%E4%B8%B2%E5%8F%A3%E7%9A%84%E4%BD%BF%E7%94%A8%E5%8F%8A%E7%BC%96%E7%A8

Mac 利用usb轉串列連線樹莓3及配置wifi

環境:Mac工具:樹莓派,usb轉串列埠,3根杜邦線預設:樹莓派SD卡系統安裝好,沒安裝好可參考網上教程。推薦官網步驟一:安裝驅動   Mac安裝CH340驅動(根據自己的USB轉串列埠晶片下載對應驅動,網上大多教程說安裝PL2303,但淘寶上大多數賣的是CH340)。點選下

樹莓串列配置

在樹莓派3B的外設裡面一共包含兩個串列埠,一個稱之為硬體串列埠(/dev/ttyAMA0),一個稱之為mini串列埠(/dev/ttyS0)。硬體串列埠由硬體實現,有單獨的波特率時鐘源,效能高、可靠,mini串列埠效能低,功能也簡單,並且沒有波特率專用的時鐘源而是由CPU核

樹莓raspberry pi配置

hang 開啟 鍵盤布局設置 jin -i icon ccf ron load (1)國際化語言 樹莓派初裝系統之後,首次啟動會出現“raspi-config”工具,如下圖:(若不是初次啟動,在命令模式下,請輸入 sudo raspi-

Linux嵌入式開發環境之串列配置

開發平臺:Ubuntu 串列埠工具:putty 安裝方法:su apt-get install putty 串列埠使用方法: 1、將串列埠連線至PC,在命令列輸入putty,開啟putty介面 2、將連線方式設為serial,裝置選擇為/dev/ttyUSB0(本機為USB轉串列埠,其他情況可嘗試/

串列配置

1.找到串列埠所在的匯流排,以USART1為例。 2.開啟串列埠埠 3.找出傳送端和接收端所在的IO口 4.設定傳送端和接受斷輸入輸出方式(也就是配置埠,前面已經有筆記了)    注意:輸出應該設定為複用功能推輓輸出,而不是通用功能。 5.復

通用串列配置

要配置通用串列埠,要確定以下引數:串列埠號,頻率,波特率 定義傳送函式 注意:USART1,USART2,USART3的頻率,波特率的設定          USART_x c

樹莓裝置號繫結

project做到最近,遇到了一個尷尬的問題:一臺樹莓派接了多個裝置,例如多個arduino、串列埠轉USB和無線鍵鼠等等。物理上USB不夠,直接將一個USB hub就可以了。  不過這就出現了問題:Linux是按照插入順序對裝置進行編號的,例如ttyUSB0,ttyUSB1或者ttyAC

樹莓3 如何配置靜態IP

樹莓派下進入 1、sudo nano /etc/dhcpcd.conf 2、 interface eth0static ip_address=192.168.0.10/24static routers=192.168.0.1static domain_name_servers=192

樹莓第一次配置+裝系統+遠端連線+WiFi連線

硬體準備:               1、新產一片樹莓派硬體板,官方SD卡               2、電源、滑鼠、鍵盤、顯示屏(HDMI介面)、

ZigBee(CC2530/CC2531)雙串列配置(Z-Stack2.5版本以上)

ZStack較(新的版本)支援同時使用兩個序列口,不過要求一個是DMA方式另一個是ISR方式,具體操作方法如下: 1)在IAR的編譯選項中定義巨集,HAL_DMA=TRUE,HAL_UART=TRUE,HAL_UART_DMA=1,HAL_UART_ISR=2。 2)在程式初始化時,HalUAR