linux上電初始化gpio,linux設(shè)置gpio
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;什么意思?
1、GPIO_Pin_0等只是個宏定義,用來映射IO口的位,而GPIOA等宏定義用來映射IO口,所以要映射到具體的某一管腳,就需要將這兩個結(jié)合起來。
2、| GPIO_Pin_7;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;這兩句是定義管腳的,GPIO_Pin_6 | GPIO_Pin_7是PA6和PA7,GPIO_Pin_0 | GPIO_Pin_1這個兩個確定是PB0和PB1? 你看一下定義。
3、單純這句只是選中5引腳,調(diào)用了GPIO_InitTypeDef結(jié)構(gòu)體中的GPIO_Pin,如需要設(shè)計(jì)速度speed,模式mode 還需要下面兩句。
4、&表示地址,也就是這個結(jié)構(gòu)GPIO_InitStructure的指針,很前面的解釋是配合的。
嵌入式Linux中如何實(shí)現(xiàn)應(yīng)用程序與驅(qū)動程序函數(shù)接口問題,以GPIO為例
注冊。當(dāng)應(yīng)用程序需要對設(shè)備進(jìn)行操作時 ,可以訪問該設(shè)備對應(yīng)的文件節(jié) 點(diǎn) ,利用 VFS 調(diào)用該設(shè)備的相關(guān)處理函數(shù)即可。
在一個老手的指導(dǎo)下,應(yīng)用層可以直接操作GPIO,具體指設(shè)置GPIO的輸入輸出以及輸出電平高或者低。這個大大地提高了靈活性,官方的文檔有GPIO Sysfs Interface for Userspace,GPIO Sysfs。
系統(tǒng)操作GPIO的方式與WIN差不多 底層都是匯編語言所編寫,而且LINUX的GCC會支持一些拓展的標(biāo)準(zhǔn)以達(dá)到操作底層的目的。
八:驅(qū)動開發(fā) 驅(qū)動程序設(shè)計(jì)是嵌入式Linux開發(fā)工作中重要的一部分,也是比較困難的一部分。本階段的學(xué)習(xí)要熟悉Linux的內(nèi)核機(jī)制、驅(qū)動程序與用戶級應(yīng)用程序的接口,掌握系統(tǒng)對設(shè)備的并發(fā)操作。
Linux內(nèi)核gpio
根據(jù)查詢相關(guān)信息得知linux設(shè)備樹不能直接控制gpio,linux設(shè)備樹有兩個模式的用戶態(tài)和內(nèi)核態(tài),gpio操作只能在內(nèi)核態(tài)進(jìn)行,而應(yīng)用程序運(yùn)行在用戶態(tài)。在內(nèi)核空間控制gpio有兩種方法。通過調(diào)用gpiolib的接口來控制gpio。
gpio_set_value(unsigned gpio, int value)用來設(shè)置gpio寄存器的值 gpio_direction_output(unsigned gpio, int value)用來設(shè)置gpio為輸出功能,同時設(shè)置gpio輸出的值。
一共有5組 GPIO(GPIO0~4) ,每組 GPIO 為一個 Bank ,共32個引腳。每個 Bank 包括4個 Group (GPIOA(0~7) ~ D(0~7)) 。不是所有 Bank 都有 GPIOA~D 的編號, RK3399 共122個 GPIO 引腳。
pinetwork節(jié)點(diǎn)做法如下。啟用Hyper-V和適用于Linux的Windows子系統(tǒng) 固定電腦IP地址 路由器添加端口映射(31400-31409)防火墻添加PiNode入站規(guī)則(31400-31409)準(zhǔn)備工作完成。這就是pi做節(jié)點(diǎn)的方法。
如何在Linux系統(tǒng)中直接操作GPIO
1、有意思的是,這個在MicroSD中運(yùn)行的Linux系統(tǒng)開啟了ssh服務(wù),并且root賬號沒有設(shè)置密碼,可以直接進(jìn)入。
2、在一個老手的指導(dǎo)下,應(yīng)用層可以直接操作GPIO,具體指設(shè)置GPIO的輸入輸出以及輸出電平高或者低。這個大大地提高了靈活性,官方的文檔有GPIO Sysfs Interface for Userspace,GPIO Sysfs。
3、通過調(diào)用gpiolib的接口來控制gpio。通過ioremap來控制gpio。
linux內(nèi)核里的GPIO操作函數(shù)
echo 1 /sys/class/gpio/gpio28/value 以上代碼作用是:將RK30_PIN0_PD4設(shè)置為輸出,將輸出電平設(shè)置為高電平。
一共有5組 GPIO(GPIO0~4) ,每組 GPIO 為一個 Bank ,共32個引腳。每個 Bank 包括4個 Group (GPIOA(0~7) ~ D(0~7)) 。不是所有 Bank 都有 GPIOA~D 的編號, RK3399 共122個 GPIO 引腳。
方法/步驟 1 安裝SD Linux系統(tǒng) 如圖所示,先后將Arduino Software 3 (Arduino IDE)和SD-Card Linux Image下載到本機(jī),Arduino IDE在后面查找GPIO與Arduino IO 之間的映射關(guān)系時需要用到。
gpio初始化pa0
用法很簡單的,你按鍵是對地的肯定是要上拉輸入了,下拉本來就基本是地了。上拉電阻的目的是為了保證在無信號輸入時輸入端的電平為高電平。而在信號輸入為低電平是輸入端的電平應(yīng)該也為低電平。
看庫函數(shù)的gpio初始化,先把pa0配置為輸入模式,然后看adc那么庫文件,再配置它的ad模式。
觸發(fā)方式:STM32 的外部中斷是通過邊沿來觸發(fā)的,不支持電平觸發(fā)。

猜你喜歡LIKE
相關(guān)推薦HOT
更多>>
selinux被禁用要怎么打開,selinux開啟和關(guān)閉
如何解決SELinux阻止虛擬機(jī)訪問文件若是想要永久變更系統(tǒng) SELinux 運(yùn)行環(huán)境,可以通過更改配置文件 /etc/sysconfig/selinux 實(shí)現(xiàn)。步驟1:右鍵...詳情>>
2023-11-25 21:28:39
關(guān)閉linux終端快捷鍵,linux終端怎么關(guān)閉正在運(yùn)行的程序
在VMware中關(guān)閉Linux操作系統(tǒng)的方法有哪些?1、在電腦桌點(diǎn)擊打開VM虛擬機(jī)程序 。程序打開后在桌面右下角程序任務(wù)欄中,鼠標(biāo)右鍵點(diǎn)擊如圖所示圖...詳情>>
2023-11-25 14:16:39
linux上電初始化gpio,linux設(shè)置gpio
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;什么意思?1、GPIO_Pin_0等只是個宏定義,用來映射IO口的位,而GPIOA等宏定義用來映射IO口,所以要映...詳情>>
2023-11-25 04:40:38
linux文件夾共享,linux文件夾共享后其他機(jī)器怎么訪問
Mac和Linux共享文件夾(samba)我需要共享的是/home/compass/work文件夾,此文件夾有讀寫權(quán)限。保存即可。方法一:使用smb協(xié)議共享文件Smb(Serv...詳情>>
2023-11-24 11:52:37熱門推薦
虛擬機(jī)linux如何配置網(wǎng)絡(luò)配置,虛擬機(jī)中l(wèi)inux如何配置網(wǎng)絡(luò)
沸selinux被禁用要怎么打開,selinux開啟和關(guān)閉
熱exec函數(shù)linux,exec函數(shù)返回值
熱deepinlinux主題,deepin 主題
新關(guān)閉linux終端快捷鍵,linux終端怎么關(guān)閉正在運(yùn)行的程序
linux不能修改權(quán)限,linux修改權(quán)限777仍然不讓我改
linux下給sh文件權(quán)限,linux文件權(quán)限給用戶
linux密碼過期提醒,linux密碼過期和密碼失效區(qū)別
linux上電初始化gpio,linux設(shè)置gpio
linux查看數(shù)據(jù)庫字符集,linux數(shù)據(jù)庫查詢語句
linux中網(wǎng)卡不啟動,linux網(wǎng)卡不工作
linux創(chuàng)建一個sh文件怎么打開,linux創(chuàng)建一個sh文件
clover沒有l(wèi)inux引導(dǎo),clover沒有install mac引導(dǎo)項(xiàng)
linux怎么圖形界面,linux怎么使用圖形界面
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點(diǎn)擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學(xué)習(xí)費(fèi)用
了解課程價格 -
優(yōu)惠活動
領(lǐng)取優(yōu)惠券 -
學(xué)習(xí)資源
領(lǐng)3000G教程 -
師資團(tuán)隊(duì)
了解師資團(tuán)隊(duì) -
實(shí)戰(zhàn)項(xiàng)目
獲取項(xiàng)目源碼 -
開班地區(qū)
查看來校路線