久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2063|回復(fù): 0
收起左側(cè)

迅為iTOP-4418/6818開發(fā)板-驅(qū)動(dòng)-實(shí)現(xiàn)GPIO擴(kuò)展

[復(fù)制鏈接]
ID:188759 發(fā)表于 2018-9-21 15:57 | 顯示全部樓層 |閱讀模式

實(shí)現(xiàn) GPIO 擴(kuò)展,先弄清楚“復(fù)用”的概念,將調(diào)用這些 GPIO 的驅(qū)動(dòng)去掉配置,重新編
譯,加到自己的驅(qū)動(dòng)中,就可以實(shí)現(xiàn)擴(kuò)展的 GPIO 的輸入和輸出。
另外必須要先看文檔“迅為iTOP-4418開發(fā)板和6818開發(fā)板-驅(qū)動(dòng)-GPIO 輸入輸出和例程_V1.X”。
1 GPIO 擴(kuò)展的內(nèi)核配置
在底板上,引出的擴(kuò)展口有 J6(camera 口),J38(GPIO/CAN/485),另外如果自己做
底板,假如不使用 WIFI 等模塊,還可以將 WIFI 等模塊的 IO 口擴(kuò)展成 GPIO。
這里只介紹 J6 和 J38 上的方便擴(kuò)展的 IO 口。
如下圖所示,是攝像頭接口。這里帶有“SDA”,“SCL”字樣的兩個(gè)引腳為總線引腳,
不建議更改為 GPIO 接口。其中的紅色字樣比如“MCU_TSI1_D5”為關(guān)鍵詞。

01.jpg

若想確定該引腳是否可復(fù)用為 GPIO 接口,則在核心板原理圖
“topeet_s5p4418_coreborad_v1_2.pdf”搜索該關(guān)鍵詞,可以得到兩個(gè)結(jié)果。一個(gè)是在板
對(duì)板連接器,另一個(gè)便是在 MCU 上的引腳。如下圖所示

02.jpg

在 MCU 上用戶可以看到該引腳對(duì)應(yīng)的其他功能,對(duì)應(yīng)紅框中的位置可以發(fā)現(xiàn),該引腳可
復(fù)用為 GPIO,編號(hào)為 GPIOE1,那么宏定義為(PAD_GPIO_C+13)。其他的引腳所對(duì)應(yīng)編
號(hào)用戶可根據(jù)此方法來依次查詢。
如果這個(gè) GPIO,被其它驅(qū)動(dòng)調(diào)用,需要將驅(qū)動(dòng)去掉配置,如下圖所示,要將攝像頭的驅(qū)
動(dòng)去掉,這樣就可以在這些接口當(dāng)做 GPIO。
Device Drivers --->
Multimedia support --->
Video capture adapters (去掉)
需要將 OV5640 和 TVP5150 同時(shí)去掉,這兩個(gè)攝像頭的驅(qū)動(dòng)都在 Video capture
adapters 下。

03.jpg

如下圖所示,將 RS485、Relay 驅(qū)動(dòng)去掉,也可以擴(kuò)展一些 GPIO 口。
Device Drivers --->
Character devices --->

04.jpg

2 GPIO 復(fù)用統(tǒng)計(jì)
作者為了方便大家擴(kuò)展,將網(wǎng)絡(luò)標(biāo)號(hào),管腳號(hào)等統(tǒng)計(jì)出來,方便大家擴(kuò)展。

05.jpg

有了接口對(duì)應(yīng)的 GPIO 編號(hào),便可以寫程序調(diào)用這些 GPIO 了。
3 驅(qū)動(dòng)
用戶可以根據(jù)自己實(shí)際需求,在“iTOP-4418 和 6818-驅(qū)動(dòng)-GPIO 輸出輸出驅(qū)動(dòng)和
GPIO 擴(kuò)展_V1.X”其中驅(qū)動(dòng)例程基礎(chǔ)上修改。
其中的代碼
#define GPIOIN (PAD_GPIO_B + 18)
如果要替換為操作多個(gè) GPIO,可以定義為數(shù)組,例如:
static int gpiostest[]={
PAD_GPIO_C+13,PAD_GPIO_C+5,PAD_GPIO_C+4,PAD_GPIO_E+1,PAD_GPIO_E+3,
PAD_GPIO_E+2,PAD_GPIO_E+0,PAD_GPIO_D+31,PAD_GPIO_D+30,PAD_GPIO_D+29,PAD_GPIO_E+4,PA
D_GPIO_D+28,PAD_GPIO_E+6,PAD_GPIO_E+5,PAD_GPIO_B+16,
PAD_GPIO_C+10,PAD_GPIO_C+11,PAD_GPIO_C+12,PAD_GPIO_C+9,
};
在使用 gpio_request/free 函數(shù)申請(qǐng)和釋放 GPIO;使用
gpio_direction_input/gpio_direction_output 函數(shù)設(shè)置為輸入和輸出模式;
gpio_get_value/gpio_set_value 函數(shù)獲取 GPIO 值和設(shè)置 GPIO 輸出等等,只需要做一個(gè)循
環(huán)即可,例如 gpio_request 函數(shù)申請(qǐng) GPIO 代碼如下:
for(i=0 ; i<NUMBER ; i++){
ret = gpio_request(gpiostest[ i], "gpiotest");
if (ret) {
printk("request GPIO %d for gpio failed\n", gpiostest[ i]);
return ret;
}
}
其它操作也是類似。
至此,4418 和 6818開發(fā)板的 GPIO 擴(kuò)展以及 GPIO 輸入輸出全部介紹完畢。

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品999| 欧美三级又粗又硬 | 国产91av在线 | 久久夜色精品国产欧美乱极品 | 日本欧美在线 | 亚洲va国产va天堂va久久 | 久久精品国产精品 | 欧美午夜在线观看 | 免费a视频 | 中文字幕亚洲欧美 | 黄色日本视频 | 欧美天天 | a级片免费在线观看 | 国产免费黄色片 | 福利在线观看 | 一区二区三区国产 | 亚洲麻豆视频 | 激情五月激情综合网 | 黄色一级片视频 | 天天射天天干天天操 | 成人爽a毛片一区二区免费 亚洲午夜在线观看 | 老女人丨91丨九色 | 亚洲欧美中文字幕 | 色妞综合网 | 97福利视频 | 国产a久久麻豆入口 | 天天干天天爽 | 久久精品日韩 | 99视频在线| 激情高潮到大叫狂喷水 | 日韩精品久久久久久免费 | 日批视频免费在线观看 | 国产精品看片 | 日韩在线播放视频 | 国产精品呻吟 | 成人免费毛片aaaaaa片 | 国产在线二区 | 国产一区2区 | 美国一级大黄一片免费中文 | 黄色激情视频网站 | 免费看a级片 |