久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    i.MX6DQ

     昵稱52164085 2018-01-28

    i.MX6DQ -- GPIO配置應(yīng)用詳解


    系統(tǒng)平臺(tái)珠海鼎芯D328 -- 基于i.MX6Q

    系統(tǒng)版本:Linux3.0.35


    一、GPIO使用函數(shù)

    #include <linux/gpio.h>

    1. 申請GPIO,并占用:

    int gpio_request(unsigned gpio, const char *label);

    int gpio_request_one(unsigned gpio, unsigned long flags, const char *label);

    flags -- GPIO屬性,例如:GPIOF_OUT_INIT_HIGH

    *label -- GPIO名稱


    2. 釋放GPIO的占用:

    void gpio_free(unsigned gpio);


    3. 設(shè)定GPIO傳輸方向:

    輸入:int gpio_direction_input(unsigned gpio);

    輸出:int gpio_direction_output(unsigned gpio, int value);


    4. 獲取GPIO的值:

    int gpio_get_value(unsigned gpio);


    5. 設(shè)置GPIO的值:

    int gpio_set_value(unsigned gpio, int value);


    6. 配置GPIO上拉下拉:( 關(guān)于IMx6中g(shù)pio的上拉,并未用到此類函數(shù),需要配置相關(guān)寄存器,其中系統(tǒng)本身已經(jīng)配置好部分IO,如需再配置其他IO需要手動(dòng) )

    int gpio_pull_updown(unsigned gpio, unsigned value);

    value = 0, normal

    value = 1, pull up

    value = 2, pull down

    二、GPIO中斷使用

    1. GPIO轉(zhuǎn)中斷:

    static inline int gpio_to_irq(unsigned gpio);

    這個(gè)函數(shù)將GPIO的PIN值轉(zhuǎn)換為相應(yīng)的IRQ值(中斷號(hào)),可以傳給set_irq_type()、request_irq()和free_irq()使用;


    2. 中斷轉(zhuǎn)GPIO:

    irq_to_gpio()

    這個(gè)函數(shù)返回的GPIO編號(hào)通常用來調(diào)用gpio_get_value(),比如在沿觸發(fā)的中斷中獲取引腳的狀態(tài)


    3. GPIO中斷申請:

    static inline int__must_check request_irq(unsigned intirq, irq_handler_t handler, unsigned long flags, const char *name, void *dev);

    irq        要申請的硬件中斷號(hào);

    handler    向系統(tǒng)登記的中斷處理函數(shù),是一個(gè)回調(diào)函數(shù),中斷發(fā)生時(shí),系統(tǒng)調(diào)用這個(gè)函數(shù),dev參數(shù)將被傳遞;

    flags      是中斷處理的屬性,

    *name     設(shè)備名稱

    *dev       將被傳遞的參數(shù),在中斷共享時(shí)會(huì)用到,一般設(shè)置為這個(gè)設(shè)備的device結(jié)構(gòu)本身或者NULL。

    當(dāng)flags發(fā)生時(shí),觸發(fā)中斷。


    4. 設(shè)置中斷觸發(fā)方式:

    set_irq_type( gpio_to_irq(unsigned gpio),IRQF_TRIGGER_FALLING )


    三、GPIO在基于i.MX6的Linux3.0.35內(nèi)核中的配置(這里均已GPIO_6_11為例)

    1. GPIO管腳特定模式的相關(guān)配置在arch/arm/mach-mx6/iomux_mx6q.h文件中。


    2. GPIO的宏定義配置參數(shù)在iomux-v3.h文件中


    3. GPIO板級(jí)初始化管腳在board-mx6q_sabresd.h文件中


    4. GPIO在內(nèi)核的中使用名稱定義

    四、針對i.MX6DQ手冊查看GPIO的配置與寄存器

    1. 一個(gè)IC上的引腳,通過一個(gè)n選1的多路開關(guān),把需要的外設(shè)連接到該引腳上。具體額配置通過IOMUXC_SW_MUX_CTL_PAD寄存器來實(shí)現(xiàn)。

    如下圖所示,是IOMUXC_SW_MUX_CTL_PAD_NAND_CS0_B的IO復(fù)用配置,主要分2部分,SION和IO復(fù)用;

    SION:是軟件強(qiáng)行配置模式,配置了該模式后,該IO的具體電平不由所連接的模塊決定,而是可以由軟件寫入決定,該功能估計(jì)是在調(diào)試設(shè)備時(shí)使用;

    IO復(fù)用:寫入不同的配置,IO引腳所連接到對應(yīng)的模塊;

    還有一個(gè)配套的寄存器是IOMUXC_SW_PAD_CTL_PAD,主要是用于配置管腳的上下拉、開漏、驅(qū)動(dòng)強(qiáng)度、信號(hào)變化率等功能!


    2. 配套的寄存器IOMUXC_SW_PAD_CTL_PAD_NAND_CS0_B,主要是用于配置管腳的上下拉、開漏、驅(qū)動(dòng)強(qiáng)度、信號(hào)變化率等功能!


    3. GPIO管腳模式、信號(hào)、配置和寄存器的對應(yīng)關(guān)系等

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請遵守用戶 評(píng)論公約

      類似文章 更多

      主站蜘蛛池模板: 精品久久久久久无码人妻热| 老子影院午夜精品无码| A级毛片免费完整视频| 国产午夜手机精彩视频| 国产老妇伦国产熟女老妇高清| 亚洲AV国产福利精品在现观看| 18精品久久久无码午夜福利| 中文字幕国产原创国产| 乱人伦无码中文视频在线| 99久久精品国产综合一区| 中文亚洲成A人片在线观看| 国产女精品视频网站免费蜜芽 | 亚洲日韩国产精品第一页一区| 亚洲日韩日本中文在线| 韩国精品久久久久久无码| 少妇愉情理伦片丰满丰满午夜| 午夜福利片1000无码免费| 亚韩精品中文字幕无码视频 | 亚洲高清国产拍精品5G| 一本一道VS无码中文字幕| 亚洲精品无码久久一线| 99久久精品国产综合一区| 人妻影音先锋啪啪AV资源| 国产精品久久蜜臀av| 久久经精品久久精品免费观看 | 亚洲精品免费一二三区| 国产微拍精品一区二区| 亚洲色大成网站WWW永久麻豆| 熟妇人妻一区二区三区四区| 又爽又黄又无遮掩的免费视频| 毛片免费观看天天干天天爽| 国产亚洲精品自在久久蜜TV| 国产精品普通话国语对白露脸| 狠狠躁夜夜躁人人躁婷婷| 又大又黄又粗高潮免费| 国产性色的免费视频网站| 国产精品无码无卡在线播放| 无码人妻一区二区三区免费N鬼沢 午夜三级A三级三点在线观看 | 亚洲AV少妇熟女猛男| 亚洲成人高清av在线| 人妻在卧室被老板疯狂进入|