在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

(exynos4412)Tiny4412裸機(jī)開(kāi)發(fā)-按鍵檢測(cè)

DS小龍哥-嵌入式技術(shù) ? 來(lái)源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2022-08-11 09:50 ? 次閱讀

1. 前言

Tiny4412開(kāi)發(fā)是友善之臂推出的AndroidLinux學(xué)習(xí)開(kāi)發(fā)板,CPU采用三星的EXYNOS4412,32位芯片,屬于Cortex-A系列,主頻是1.5GHZ,可以運(yùn)行ubuntu、Android5.0、純Linux等操作系統(tǒng)

上篇文章已經(jīng)介紹過(guò)LED裸機(jī)編程,完成LED燈控制,這篇文章就介紹利用這款開(kāi)發(fā)板繼續(xù)完成按鍵編程,了解GPIO口基本的輸入輸出配置。

下面是開(kāi)發(fā)板的實(shí)物圖:

image-20220124143157723

開(kāi)發(fā)板的配置:

image-20220124143510661

2. 按鍵編程

要完成程序開(kāi)發(fā),需要先搭建交叉編譯環(huán)境,安裝arm-linux-gcc編譯器,上篇文章已經(jīng)介紹了,這篇就不再重復(fù)。

環(huán)境搭建好,就得看原理圖,了解按鍵接在CPU的哪個(gè)IO口,了解按鍵是什么電平表示按下,再去看芯片手冊(cè),找到對(duì)應(yīng)IO口的配置寄存器,完成GPIO模式配置,最終完成按鍵檢測(cè)

2.1 查看原理圖

tiny4412開(kāi)發(fā)板有兩個(gè)原理圖,分別對(duì)應(yīng)底板和核心板,按鍵是接在底板上,下面就分別打開(kāi)底板、核心板原理圖,找到按鍵具體的接線位置。

image-20220124150737525image-20220124150829928image-20220124150929792

從原理圖里看到,按鍵一共有4個(gè)按鍵,分別接在GPX3_2 GPX3_3 GPX3_4 GPX3_5 這些GPIO口上。

image-20220124153048304

2.2 查看芯片手冊(cè)

在芯片手冊(cè)里找到GPX3這個(gè)寄存器的位置。

image-20220124151601954image-20220124151631609

GPX3CON是模式配置寄存器。

GPX3DAT是數(shù)據(jù)輸出輸入控制寄存器。

按鍵是檢測(cè)外部電平來(lái)判斷按鍵是否按下松開(kāi),需要配置成輸入模式。

2.3 編寫(xiě)按鍵檢測(cè)代碼

下面代碼實(shí)現(xiàn)效果: 檢測(cè)按鍵是否按下,按鍵按下后就點(diǎn)亮LED燈,開(kāi)啟蜂鳴器,按鍵松開(kāi)就關(guān)閉LED燈,關(guān)閉蜂鳴器。

/* 蜂鳴器的寄存器---GPD0_0*/
#define GPD0CON   (*(volatile unsigned int *)0x114000A0)
#define GPD0DAT   (*(volatile unsigned int *)0x114000A4)
?
/* LED的寄存器  GPM4_0 1 2 3*/
#define GPM4CON   (*(volatile unsigned int *)0x110002E0)
#define GPM4DAT   (*(volatile unsigned int *)0x110002E4)
?
/* KEY的寄存器 GPX3 2 3 4 5*/
#define GPX3CON   (*(volatile unsigned int *)0x11000C60)
#define GPX3DAT   (*(volatile unsigned int *)0x11000C64)
?
//BEEP---GPD0_0
int main(void)
{
    /*1. 配置GPIO口模式--配置蜂鳴器*/
    GPD0CON&=~(0xF<<0*4);//清除寄存器配置
?    GPD0CON|=0x1<<0*4; //配置GPIO為輸出模式
??
?    /*2. 配置GPIO口模式--配置LED燈*/
?    GPM4CON&=0xFFFF0000;
?    GPM4CON|=0x00001111;
??
?    /*3. 配置GPIO口模式--配置按鍵*/
?    GPX3CON&=0xFF0000FF;
??
?    while(1)
? ?  { ? 
?        if(!(GPX3DAT&1<<2)) //判斷按鍵是否按下
?        {
?            GPD0DAT|=1<<0; //輸出高電平
?            GPM4DAT&=~(1<<0);
?        }
?        else if(!(GPX3DAT&1<<3)) //判斷按鍵是否按下
?        {
?            GPD0DAT|=1<<0; //輸出高電平
?            GPM4DAT&=~(1<<1);
?        }
?        else if(!(GPX3DAT&1<<4)) //判斷按鍵是否按下
?        {
?            GPD0DAT|=1<<0; //輸出高電平
?            GPM4DAT&=~(1<<2);
?        }
?        else if(!(GPX3DAT&1<<5)) //判斷按鍵是否按下
?        {
?            GPD0DAT|=1<<0; //輸出高電平
?            GPM4DAT&=~(1<<3);
?        }
?        else
?        {
?            GPD0DAT&=~(1<<0); 
?            GPM4DAT|=0xF<<0;
?        }
? ?  }
? ? ?return 0;
?}
復(fù)制代碼

2.4 燒寫(xiě)程序測(cè)試

程序編譯之后會(huì)生成main.bin文件,將SD卡插入到電腦上,運(yùn)行程序燒寫(xiě)腳本,執(zhí)行dd命令,燒寫(xiě)成功后。

拔出SD卡,插在開(kāi)發(fā)板上,選擇從SD卡啟動(dòng),然后按下按鍵測(cè)試效果。

[wbyq@wbyq sd_fuse]$ sudo ./sd_write.sh /dev/sdb ../main.bin 
復(fù)制代碼

image-20220124152745788

在三星官方的手冊(cè)里寫(xiě)明了,如果使用SD卡,SD卡內(nèi)部數(shù)據(jù)該如何存放。上面燒寫(xiě)程序就是安裝這個(gè)說(shuō)明編寫(xiě)的代碼,使用dd命令將可執(zhí)行文件燒寫(xiě)到SD卡的對(duì)應(yīng)位置。

如果使用EMMC,就是按下下面的布局:

image-20220124152945070

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209499
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5050

    瀏覽量

    97471
  • Exynos4412
    +關(guān)注

    關(guān)注

    1

    文章

    8

    瀏覽量

    12722
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    最新Cortex-a9開(kāi)發(fā)板/Exynos4412/iTOP-4412開(kāi)發(fā)板特點(diǎn)介紹

    `iTOP-Exynos4412開(kāi)發(fā)板采用 Exynos4412的主芯片,具有更高的主頻和更豐富外設(shè),配置 2GB 雙通道 DDR3的內(nèi)存及16GB 存儲(chǔ),具有穩(wěn)定性強(qiáng)、可靠性高,能適用于對(duì)性能
    發(fā)表于 11-01 11:29

    翼羅電子Samsung四核Exynos4412開(kāi)發(fā)

    UT-Exynos4412開(kāi)發(fā)板是一款功能極為強(qiáng)大的高端ARM Cortex-A9開(kāi)發(fā)平臺(tái),采用Samsung最新的Exynos4412Exyno
    發(fā)表于 04-22 11:25

    免費(fèi)試用“Tiny4412開(kāi)發(fā)板——友善之臂Cortex-A9”

    本帖最后由 L490351555 于 2015-8-19 08:38 編輯 大家好,這兩天咱們的論壇搞了一個(gè)開(kāi)發(fā)板投票試用活動(dòng)。現(xiàn)在有一個(gè)投票項(xiàng)就是“Tiny4412開(kāi)發(fā)板——友善之臂
    發(fā)表于 08-18 19:09

    exynos4412開(kāi)發(fā)板 insmod成功但沒(méi)有設(shè)備文件

    基于exynos4412開(kāi)發(fā)板,通過(guò)NFS掛載方式啟動(dòng)時(shí),LED.ko 文件可以 insmod 成功,且可以在/dev目錄下看到相應(yīng)設(shè)備文件,并且正常運(yùn)行;通過(guò)上述NFS文件制作成ramdisk
    發(fā)表于 02-28 19:19

    Exynos4412開(kāi)發(fā)板需要注意的IP地址

    Exynos4412開(kāi)發(fā)板-網(wǎng)絡(luò)-同一網(wǎng)段
    發(fā)表于 12-28 07:16

    Exynos4412開(kāi)發(fā)板有什么用

    以三星的四核處理器Exynos4412為例,該開(kāi)發(fā)板屬于armv7架構(gòu),contexA9系列,32bit,cpu4核心1.5GHZ主頻,eMMC 大小型號(hào)為:KLM4G。ARM里面,啟動(dòng)MMU以后
    發(fā)表于 07-16 06:54

    基于Exynos4412主芯片的iTOP-Exynos4412開(kāi)發(fā)板有何優(yōu)點(diǎn)

    光盤(pán)資料+網(wǎng)盤(pán)資料+配套視頻+售后支持,助您加速學(xué)習(xí)研發(fā)的進(jìn)程 產(chǎn)品介紹 iTOP-Exynos4412開(kāi)發(fā)板采用 Exynos4412的主芯片,具有更高的主頻和更豐富外設(shè),配置 2GB 雙通道 DDR3的內(nèi)存及 16GB 存儲(chǔ)
    發(fā)表于 12-23 07:35

    如何去實(shí)現(xiàn)Exynos4412開(kāi)發(fā)板的文件傳輸呢

    tftp和fastboot是什么?fastboot是怎樣通過(guò)u***線進(jìn)行連線的?如何去實(shí)現(xiàn)Exynos4412開(kāi)發(fā)板的文件傳輸呢?
    發(fā)表于 12-27 07:17

    Exynos4412三星ARM四核旗艦開(kāi)發(fā)平臺(tái)android4.0GPS功能

    關(guān)鍵詞:ARM , 4412 , 開(kāi)發(fā)板 經(jīng)過(guò)2012年的等待,四核的開(kāi)發(fā)平臺(tái)終于跟廣大嵌入從業(yè)人員見(jiàn)面了,下面讓我們來(lái)看下UT-Exynos 44
    發(fā)表于 10-28 00:56 ?496次閱讀

    samsung首款四核處理器Exynos 4412開(kāi)發(fā)板友堅(jiān)上市

    關(guān)鍵詞:開(kāi)發(fā)板 UT-Exynos4412開(kāi)發(fā)板是一款功能極為強(qiáng)大的高端ARM Coretex-A9開(kāi)發(fā)平臺(tái),采用Samsung最新的Exynos4
    發(fā)表于 11-01 07:24 ?590次閱讀

    海天雄電子Exynos4412核心板簡(jiǎn)介

    Exynos4412核心板基于Samsung Cortex-A9系列Exynos4412四核應(yīng)用處理器,采用SCP封裝,板上集成了2GB DDR3,8GB eMMC,提供專(zhuān)用的三星電源管理芯片,系統(tǒng)更加穩(wěn)定可靠。
    的頭像 發(fā)表于 11-04 10:33 ?2761次閱讀
    海天雄電子<b class='flag-5'>Exynos4412</b>核心板簡(jiǎn)介

    友善之臂Tiny4412核心板介紹

    Tiny4412是一款高性能的四核Cortex-A9核心板,由廣州友善之臂設(shè)計(jì)、生產(chǎn)和發(fā)行銷(xiāo)售。
    的頭像 發(fā)表于 11-05 17:40 ?1.2w次閱讀
    友善之臂<b class='flag-5'>Tiny4412</b>核心板介紹

    使用EXYNOS4412處理器實(shí)現(xiàn)防跌倒系統(tǒng)的代碼免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用EXYNOS4412處理器實(shí)現(xiàn)防跌倒系統(tǒng)的代碼免費(fèi)下載。
    發(fā)表于 12-02 08:00 ?2次下載
    使用<b class='flag-5'>EXYNOS4412</b>處理器實(shí)現(xiàn)防跌倒系統(tǒng)的代碼免費(fèi)下載

    嵌入式實(shí)驗(yàn): TINY4412 UART 程序設(shè)計(jì)

    嵌入式實(shí)驗(yàn): TINY4412 UART 程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康氖煜ART通信相關(guān)的寄存器的功能和設(shè)置方法,設(shè)置引腳復(fù)用,選擇UART接收和發(fā)送對(duì)應(yīng)的引腳用于UART通信,數(shù)據(jù)流格式設(shè)置,設(shè)置
    發(fā)表于 11-03 20:06 ?13次下載
    嵌入式實(shí)驗(yàn): <b class='flag-5'>TINY4412</b> UART 程序設(shè)計(jì)

    (exynos4412)Tiny4412裸機(jī)開(kāi)發(fā)-點(diǎn)亮LED

    這篇文章介紹利用這款開(kāi)發(fā)板完成裸機(jī)開(kāi)發(fā),不涉及操作系統(tǒng),直接當(dāng)做單片機(jī)一樣,完成LED燈、蜂鳴器的編程,了解這款芯片與常規(guī)的Cortex-M系列芯片編程有何區(qū)別。
    的頭像 發(fā)表于 08-12 09:18 ?4323次閱讀
    主站蜘蛛池模板: 欧美午夜激情影院| 五月天色丁香| 欧美51| 中文字幕一区二区三区5566| 特级毛片免费视频| 国语自产自拍秒拍在线视频 | www在线观看| 亚洲成a人片在线看| 国产最新网站| 99久久精品国产自免费| 免费在线观看一级毛片| 人人爱天天做夜夜爽毛片| 天天操91| 色妞网| 天天爽天天色| 不卡免费在线视频| 狠色网| 色爱区综合激情五月综合激情| 特级全黄一级毛片视频| 在线午夜影院| 亚洲卡1卡2卡新区网站| 美女黄色毛片免费看| 黄网在线免费看| 五月月色开心婷婷久久合| 美女色黄一男一女| 国内精品久久影视| 天堂网www在线资源中文| 永久在线观看| 美女扒开尿口给男人桶视频免费| 日本口工禁漫画无遮挡全彩| 免费日韩毛片| 福利视频自拍| 三级黄色一级视频| 日本久草网| 性欧美视频在线观看| 夜夜摸夜夜爽| 男人操女人免费网站| 天堂网最新版中文| 天天看片网站| 五月婷婷激情五月| 天天久久综合网站|