色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

嵌入式GPIO接口基礎操作

Q4MP_gh_c472c21 ? 來源:未知 ? 作者:李倩 ? 2018-08-15 14:00 ? 次閱讀

1、GPIO

GPIO(General Purpose Input/Output Port),即通用輸入輸出端口,就是芯片的一些引腳。作為輸入端口時,我們可以通過它們讀入引腳的狀態--高電平或低電平,作為輸出端口時,我們可以通過它們輸出高電平或低電平來控制連接的外圍設備。

S3C2440有130個GPIO引腳,分為A~J共9組:GPA、GPB、…、GPJ。通過設置相應的寄存器來設置某個引腳的功能(輸入或輸出或是其他特殊功能)。

2、通過寄存器操作GPIO

每個端口可以很容易的通過軟件配置以滿足各種系統配置和設計需求,在使用之前你必須定義每個引腳的功能,如果不是用于復用功能,則引腳可以配置為普通輸入輸出端口。

1)端口配置寄存器GPxCON(x為A~J)

GPxCON是用于選擇引腳功能。

PORT A的端口配置寄存器GPACON中每一位對應一個引腳(PORT A共23個引腳,bit0~bit22對應GPA0~GPA22)。當某位被設為0時,相應的引腳被設置成輸出引腳,此時可以在GPADAT中相應位寫入0或1讓此引腳輸出低電平或高電平。當某位被設為1時,相應的引腳被設為地址線或用于地址控制,此時GPADAT無用。(GPACON通常被設為全1,以便訪問外部存儲器件)

PORT B~PORT J的端口配置寄存器操作完全相同:GPxCON中每兩位控制一個引腳,00為輸入、01為輸出、10為特殊功能、11保留。

2)端口數據寄存器GPxDAT(x為A~J)

GPxDAT是用于讀/寫引腳數據。

當引腳被設為輸入時,讀此寄存器可得到相應引腳的電平狀態是高還是低;當引腳被設為輸出時,通過寫此寄存器的相應位可設置相應引腳輸出高電平或低電平。

3)端口上拉寄存器GPxUP(x為B~J,注意:PORT A端口沒有這個寄存器)

GPxUP是用于選擇是否使用內部上拉電阻

此寄存器的某位被設置為1時,相應引腳不使用內部上拉電阻;設置為0時,相應引腳使用內部上拉電阻。

圖1 上拉電阻

3、使用軟件來訪問硬件

對單個引腳的操作有3種:輸出高低電平、檢測引腳狀態、中斷,這些操作一般通過讀、寫寄存器完成。如圖2所示電路,可以設置GPFCON寄存器將GPF4、GPF5、GPF6引腳設置4為輸出功能,然后寫GPFDAT寄存器的相應位使這3個引腳輸出高電平或低電平來控制相應的LED。相應的引腳輸出低電平時,LED點亮,輸出高電平時,LED熄滅。

圖2 LED電路圖

S3C2440的GPFCON、GPFDAT寄存器地址分別是0x56000050、0x56000054,通過軟件讀寫它們的地址可以訪問這些寄存器。S3C2440芯片手冊對這些寄存器的介紹如下圖:

圖3 PORT F寄存器介紹

4、GPIO操作實例

使用GPIO控制一個LED。例如,我們要想點亮LED1,就需要設置GPF4引腳為輸出功能,然后設置該引腳輸出低電平。

板子上電后執行的第一條指令,并不是main函數,如果我們使用keil開發,啟動文件會由編譯器完成(會有一個S3C2440.S文件就是啟動文件),它要做的工作主要是各種初始化然后跳轉到C文件的main函數執行。但是我們在Linux系統下使用arm-linux-gcc編譯裸機程序時,就需要自己編寫一個這樣的啟動文件代碼。(建一個目錄led_on_c,把編寫的代碼文件和Makefile文件放在該目錄下)

自己編寫的啟動文件代碼crt0.S內容:

下面是LED1的控制程序led_on_c.c文件,內容如下:

Makefile文件:

第2、3行分別編譯源程序crt0.S、led_on_c.c

第4行將編譯得到的結果連接起來

第5行把連接得到的ELF格式可執行文件led_on_c_elf轉換成二進制格式文件led_on_c.bin

第6行將結果轉換為匯編碼以供查看

在led_on_c目錄下執行make命令生成可執行文件led_on_c.bin,然后把該文件燒寫到NAND Flash。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5357

    瀏覽量

    120622
  • GPIO
    +關注

    關注

    16

    文章

    1205

    瀏覽量

    52171

原文標題:嵌入式最基礎的GPIO接口操作了解一下!

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式最基礎的GPIO接口操作了解一下!

    (輸入或輸出或是其他特殊功能)。2、通過寄存器操作GPIO每個端口可以很容易的通過軟件配置以滿足各種系統配置和設計需求,在使用之前你必須定義每個引腳的功能,如果不是用于復用功能,則引腳可以配置為普通
    發表于 08-30 14:17

    嵌入式linux驅動對gpio的基本操作

    文章目錄代碼驅動層代碼應用層代碼 測試驅動Makefile這里記錄的是嵌入式linux驅動對gpio的基本操作。實現的內容是:gpio驅動編寫>&
    發表于 11-05 07:59

    GPIO接口的硬件介紹與操作方法分享

    嵌入式Linux開發ARM9裸機-1-GPIO接口一、GPIO硬件介紹1、二、GPIO操作1、一
    發表于 12-14 07:01

    嵌入式實時操作系統教程

    嵌入式實時操作系統教程:以VRTX為對象詳細介紹了嵌入式實時操作系統的原理和應用,特別是第一部分關于嵌入式實時
    發表于 04-19 21:55 ?44次下載
    <b class='flag-5'>嵌入式</b>實時<b class='flag-5'>操作</b>系統教程

    嵌入式操作系統是什么_嵌入式操作系統有哪些

    驅動接口、通信協議、圖形界面、標準化瀏覽器等。嵌入式操作系統負責嵌入式系統的全部軟、硬件資源的分配、任務調度,控制、協調并發活動。它必須體現其所在系統的特征,能夠通過裝卸某些模塊來達到
    發表于 04-08 14:36 ?2.1w次閱讀

    如何在嵌入式Linux中使用GPIO

    了解如何在嵌入式Linux中使用GPIO,特別強調Zynq-7000系列。 我們介紹了基本的用戶和內核空間GPIO使用情況,以及GPIOGPIO
    的頭像 發表于 11-26 07:02 ?4082次閱讀

    嵌入式Linux下使用GPIO中斷功能

    GPIO應用是嵌入式設備最基本的應用之一, 本文就基于Embedded Linux系統演示開發GPIO中斷以及輸出相關的基本應用示例.
    發表于 04-29 15:48 ?2564次閱讀
    <b class='flag-5'>嵌入式</b>Linux下使用<b class='flag-5'>GPIO</b>中斷功能

    嵌入式操作系統的主要特點都有哪些

    嵌入式操作系統(EOS)是指用于嵌入式系統的操作系統。嵌入式操作系統是一種用途廣泛的系統軟件,通
    發表于 11-26 11:35 ?1.6w次閱讀

    嵌入式操作系統如何應用_嵌入式操作系統的組成

    本文首先介紹了入操作系統的特點,其次闡述了嵌入式操作系統的應用,最后介紹了嵌入式操作系統的組成
    發表于 09-01 16:36 ?3622次閱讀

    嵌入式GPIO驅動LED設計

    嵌入式GPIO驅動LED設計1. 操作內容2. 操作步驟2.1 編譯Linux內核2.2 編譯LED驅動2.3 運行文件3. 操作結果1
    發表于 10-20 21:51 ?13次下載
    【<b class='flag-5'>嵌入式</b>】<b class='flag-5'>GPIO</b>驅動LED設計

    嵌入式Linux LED GPIO

    文章目錄前言LED終端腳本C語言GPIO子系統微信公眾號前言這是前2篇:嵌入式Linux i.MX開發板嵌入式Linux NFS嵌入式Linux 交叉編譯工具鏈Linux 中的三大類驅
    發表于 11-01 17:05 ?11次下載
    <b class='flag-5'>嵌入式</b>Linux LED <b class='flag-5'>GPIO</b>

    嵌入式Linux的GPIO中斷

    做個STM32開發的都知道,通過程序配置讓普通的GPIO口具有中斷功能。這樣對于設備檢測某些硬件的自動設備要方便的多。那么在嵌入式的Linux是否具有這樣的功能呢?答案是肯定的,下面我們就來介紹一下
    發表于 11-01 17:37 ?6次下載
    <b class='flag-5'>嵌入式</b>Linux的<b class='flag-5'>GPIO</b>中斷

    嵌入式Linux驅動 GPIO操作 包括驅動和應用層程序對驅動進行測試

    文章目錄代碼驅動層代碼應用層代碼 測試驅動Makefile這里記錄的是嵌入式linux驅動對gpio的基本操作。實現的內容是:gpio驅動編寫&amp;amp;amp;gt;&
    發表于 11-02 14:36 ?10次下載
    <b class='flag-5'>嵌入式</b>Linux驅動 <b class='flag-5'>GPIO</b><b class='flag-5'>操作</b> 包括驅動和應用層程序對驅動進行測試

    嵌入式操作系統

    嵌入式操作系統一、嵌入式操作系統概述1.1 嵌入式操作系統的特點1.2
    發表于 11-03 18:36 ?46次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作</b>系統

    什么是嵌入式操作系統?

    嵌入式操作系統是一種專門的操作系統(OS),旨在為非計算機的設備執行特定任務。嵌入式操作系統的主要工作是運行允許設備完成其工作的代碼。
    的頭像 發表于 12-23 15:33 ?7811次閱讀
    什么是<b class='flag-5'>嵌入式</b><b class='flag-5'>操作</b>系統?
    主站蜘蛛池模板: 同桌别揉我奶了嗯啊| 日本xxx片免费高清在线| 亚洲AV永久无码精品澳门| 99re6热这里在线精品视频| 回复术士勇者免费观看全集| 午夜福利试看120秒体验区| 把腿张开再深点好爽宝贝动态图| 久久视热频国只有精品| 伊人成综合网伊人222| 极品少妇高潮XXXXX| 亚洲欧美日韩在线观看一区二区三区 | 毛片免费观看| 69久久国产精品热88人妻| 麻豆高潮AV久久久久久久| 中文有码中文字幕免费视频| 刘梓晨啪啪啪| 99久久免费看少妇高潮A片| 欧洲馒头大肥p| 二级片免费看| 午夜阳光影院在线观看视频| 国产人妖一区二区| 亚洲视频一区在线| 久久青草免费线观最新| 91综合精品网站久久| 魔乳 堕乳漫画acg产卵| 扒开腿狂躁女人GIF动态图 | 伦理在线影院伦理电影| 国产精品69人妻无码久久| 人妻体体内射精一区二区| 欧美18在线| 哺乳溢出羽月希中文字幕| 色综合五月激情综合色一区| 国产精品亚洲专区在线播放| 亚洲视频国产在线精品| 免费人成在线观看视频不卡| 成人伦理影院| 亚洲国语在线视频手机在线| 久久一本岛在免费线观看2020| 99精品视频在线观看| 天美传媒 免费观看| 含羞草在线免费观看|