女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

    文章

    5421

    瀏覽量

    123307
  • GPIO
    +關注

    關注

    16

    文章

    1271

    瀏覽量

    53556

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    嵌入式教育科普|GPIO接口全面解析

    知識的掌握直接影響著嵌入式項目實現功能的成效。本文將以GPIO接口為切入點,深入解析其工作原理與技術特性,希望能幫助屏幕前想要學習嵌入式開發的小伙伴建立
    的頭像 發表于 03-05 11:11 ?1570次閱讀
    <b class='flag-5'>嵌入式</b>教育科普|<b class='flag-5'>GPIO</b><b class='flag-5'>接口</b>全面解析

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

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

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

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

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

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

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

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

    如何在嵌入式Linux中使用GPIO

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

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

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

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

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

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

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

    嵌入式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 ?8252次閱讀
    什么是<b class='flag-5'>嵌入式</b><b class='flag-5'>操作</b>系統?