chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

嵌入式GPIO接口基礎(chǔ)操作

Q4MP_gh_c472c21 ? 來(lái)源:未知 ? 作者:李倩 ? 2018-08-15 14:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、GPIO

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

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

2、通過(guò)寄存器操作GPIO

每個(gè)端口可以很容易的通過(guò)軟件配置以滿足各種系統(tǒng)配置和設(shè)計(jì)需求,在使用之前你必須定義每個(gè)引腳的功能,如果不是用于復(fù)用功能,則引腳可以配置為普通輸入輸出端口。

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

GPxCON是用于選擇引腳功能。

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

PORT B~PORT J的端口配置寄存器操作完全相同:GPxCON中每?jī)晌豢刂埔粋€(gè)引腳,00為輸入、01為輸出、10為特殊功能、11保留。

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

GPxDAT是用于讀/寫引腳數(shù)據(jù)。

當(dāng)引腳被設(shè)為輸入時(shí),讀此寄存器可得到相應(yīng)引腳的電平狀態(tài)是高還是低;當(dāng)引腳被設(shè)為輸出時(shí),通過(guò)寫此寄存器的相應(yīng)位可設(shè)置相應(yīng)引腳輸出高電平或低電平。

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

GPxUP是用于選擇是否使用內(nèi)部上拉電阻。

此寄存器的某位被設(shè)置為1時(shí),相應(yīng)引腳不使用內(nèi)部上拉電阻;設(shè)置為0時(shí),相應(yīng)引腳使用內(nèi)部上拉電阻。

圖1 上拉電阻

3、使用軟件來(lái)訪問(wèn)硬件

對(duì)單個(gè)引腳的操作有3種:輸出高低電平、檢測(cè)引腳狀態(tài)、中斷,這些操作一般通過(guò)讀、寫寄存器完成。如圖2所示電路,可以設(shè)置GPFCON寄存器將GPF4、GPF5、GPF6引腳設(shè)置4為輸出功能,然后寫GPFDAT寄存器的相應(yīng)位使這3個(gè)引腳輸出高電平或低電平來(lái)控制相應(yīng)的LED。相應(yīng)的引腳輸出低電平時(shí),LED點(diǎn)亮,輸出高電平時(shí),LED熄滅。

圖2 LED電路圖

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

圖3 PORT F寄存器介紹

4、GPIO操作實(shí)例

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

板子上電后執(zhí)行的第一條指令,并不是main函數(shù),如果我們使用keil開(kāi)發(fā),啟動(dòng)文件會(huì)由編譯器完成(會(huì)有一個(gè)S3C2440.S文件就是啟動(dòng)文件),它要做的工作主要是各種初始化然后跳轉(zhuǎn)到C文件的main函數(shù)執(zhí)行。但是我們?cè)?a href="http://www.brongaenegriffin.com/v/tag/538/" target="_blank">Linux系統(tǒng)下使用arm-linux-gcc編譯裸機(jī)程序時(shí),就需要自己編寫一個(gè)這樣的啟動(dòng)文件代碼。(建一個(gè)目錄led_on_c,把編寫的代碼文件和Makefile文件放在該目錄下)

自己編寫的啟動(dòng)文件代碼crt0.S內(nèi)容:

下面是LED1的控制程序led_on_c.c文件,內(nèi)容如下:

Makefile文件:

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

第4行將編譯得到的結(jié)果連接起來(lái)

第5行把連接得到的ELF格式可執(zhí)行文件led_on_c_elf轉(zhuǎn)換成二進(jìn)制格式文件led_on_c.bin

第6行將結(jié)果轉(zhuǎn)換為匯編碼以供查看

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5495

    瀏覽量

    127794
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1300

    瀏覽量

    55281

原文標(biāo)題:嵌入式最基礎(chǔ)的GPIO接口操作了解一下!

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

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

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

    嵌入式linux驅(qū)動(dòng)對(duì)gpio的基本操作

    文章目錄代碼驅(qū)動(dòng)層代碼應(yīng)用層代碼 測(cè)試驅(qū)動(dòng)Makefile這里記錄的是嵌入式linux驅(qū)動(dòng)對(duì)gpio的基本操作。實(shí)現(xiàn)的內(nèi)容是:gpio驅(qū)動(dòng)編寫&amp;amp;gt;&
    發(fā)表于 11-05 07:59

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

    嵌入式Linux開(kāi)發(fā)ARM9裸機(jī)-1-GPIO接口一、GPIO硬件介紹1、二、GPIO操作1、一
    發(fā)表于 12-14 07:01

    嵌入式操作系統(tǒng)是什么_嵌入式操作系統(tǒng)有哪些

    驅(qū)動(dòng)接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器等。嵌入式操作系統(tǒng)負(fù)責(zé)嵌入式系統(tǒng)的全部軟、硬件資源的分配、任務(wù)調(diào)度,控制、協(xié)調(diào)并發(fā)活動(dòng)。它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過(guò)裝卸某些模塊來(lái)達(dá)到
    發(fā)表于 04-08 14:36 ?2.1w次閱讀

    如何在嵌入式Linux中使用GPIO

    了解如何在嵌入式Linux中使用GPIO,特別強(qiáng)調(diào)Zynq-7000系列。 我們介紹了基本的用戶和內(nèi)核空間GPIO使用情況,以及GPIO,GPIO
    的頭像 發(fā)表于 11-26 07:02 ?4459次閱讀

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

    GPIO應(yīng)用是嵌入式設(shè)備最基本的應(yīng)用之一, 本文就基于Embedded Linux系統(tǒng)演示開(kāi)發(fā)GPIO中斷以及輸出相關(guān)的基本應(yīng)用示例.
    發(fā)表于 04-29 15:48 ?2901次閱讀
    <b class='flag-5'>嵌入式</b>Linux下使用<b class='flag-5'>GPIO</b>中斷功能

    嵌入式操作系統(tǒng)的主要特點(diǎn)都有哪些

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

    嵌入式操作系統(tǒng)如何應(yīng)用_嵌入式操作系統(tǒng)的組成

    本文首先介紹了入操作系統(tǒng)的特點(diǎn),其次闡述了嵌入式操作系統(tǒng)的應(yīng)用,最后介紹了嵌入式操作系統(tǒng)的組成
    發(fā)表于 09-01 16:36 ?3835次閱讀

    嵌入式GPIO驅(qū)動(dòng)LED設(shè)計(jì)

    嵌入式GPIO驅(qū)動(dòng)LED設(shè)計(jì)1. 操作內(nèi)容2. 操作步驟2.1 編譯Linux內(nèi)核2.2 編譯LED驅(qū)動(dòng)2.3 運(yùn)行文件3. 操作結(jié)果1
    發(fā)表于 10-20 21:51 ?13次下載
    【<b class='flag-5'>嵌入式</b>】<b class='flag-5'>GPIO</b>驅(qū)動(dòng)LED設(shè)計(jì)

    嵌入式Linux LED GPIO

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

    嵌入式Linux的GPIO中斷

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

    嵌入式Linux驅(qū)動(dòng) GPIO操作 包括驅(qū)動(dòng)和應(yīng)用層程序?qū)︱?qū)動(dòng)進(jìn)行測(cè)試

    文章目錄代碼驅(qū)動(dòng)層代碼應(yīng)用層代碼 測(cè)試驅(qū)動(dòng)Makefile這里記錄的是嵌入式linux驅(qū)動(dòng)對(duì)gpio的基本操作。實(shí)現(xiàn)的內(nèi)容是:gpio驅(qū)動(dòng)編寫&amp;amp;amp;gt;&
    發(fā)表于 11-02 14:36 ?10次下載
    <b class='flag-5'>嵌入式</b>Linux驅(qū)動(dòng) <b class='flag-5'>GPIO</b><b class='flag-5'>操作</b> 包括驅(qū)動(dòng)和應(yīng)用層程序?qū)︱?qū)動(dòng)進(jìn)行測(cè)試

    嵌入式操作系統(tǒng)

    嵌入式操作系統(tǒng)一、嵌入式操作系統(tǒng)概述1.1 嵌入式操作系統(tǒng)的特點(diǎn)1.2
    發(fā)表于 11-03 18:36 ?46次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作</b>系統(tǒng)

    什么是嵌入式操作系統(tǒng)?

    嵌入式操作系統(tǒng)是一種專門的操作系統(tǒng)(OS),旨在為非計(jì)算機(jī)的設(shè)備執(zhí)行特定任務(wù)。嵌入式操作系統(tǒng)的主要工作是運(yùn)行允許設(shè)備完成其工作的代碼。
    的頭像 發(fā)表于 12-23 15:33 ?8745次閱讀
    什么是<b class='flag-5'>嵌入式</b><b class='flag-5'>操作</b>系統(tǒng)?