国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

一文教你流暢修改OK335xD的GPIO功能引腳

發布時間:2021-8-25 14:49    發布者:哦哈喲
1. 如何配置GPIO功能?答:修改內核板級文件kernel-3.2/arch/arm/mach-omap2/board-am335xevm-xd.c
例如將uart配置成gpio,mode7是根據芯片手冊或者硬件手冊確定的,如下




static struct pinmux_config uart1_pin_mux[] = {
    {"uart1_rxd.uart1_rxd", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
    {"uart1_txd.uart1_txd", OMAP_MUX_MODE0 | AM33XX_PULL_ENBL},
    {NULL, 0},
};
修改成:
static struct pinmux_config uart1_pin_mux[] = {
    {"uart1_rxd.gpio0_14",OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
    {"uart1_txd.gpio0_15", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
    {NULL, 0},
};

2. 按照上面的方法配置完成發現無法使用GPIO,為什么配置不生效?
原因:沒有將該引腳的其他功能注釋掉
例如我使用的是uart1_rxd引腳的gpio功能,因為這個是一個復用引腳,可以查看硬件手冊,搜索對應引腳名字查看都有什么功能,然后除了gpio,將這個引腳其他復用全部注釋掉。
如下:


         

注意:一個引腳只能同時用作一個功能!!!要么是uart_rxd功能,要么是gpio功能

3. 配置好,復用功能都注釋掉,為什么 GPIO 無法配置引腳拉高拉低?
如果是自己新建/添加    xxx _pin_mux [],那么需要    setup_pin_mux (xxx _pin_mux );  這一步很關鍵,如果配置好卻不設置pinmux,再怎么配置都是徒勞,也就無法拉高拉低
然后初始化編寫xxx_init{}函數,初始化pinmux,如下:
static void xxx_init(int evm_id, int profile)
{
setup_pin_mux(xxx_mux);
}
最后將xxx_init放入 ok335x_dev_cfg[]
這些都是在板級配置文件完成,可以參考LED,KEYS等功能的配置和初始化過程。











4.配置好,復用功能都注釋掉,為什么GPIO無法在用戶空間echo導出?
看一個簡單的LED的例子

如果想在用戶空間使用echo導出gpio,那么只需要setup_pin_mux()即可
使用platform_device_register();這個函數會將gpio通過內核注冊,就無法再通過用戶空間導出了。
另外,使用gpio_set_value() gpio_request()  pio_direction_output()函數也會導致無法在用戶空間echo導出。

5.  怎么echo導出引腳,對應的GPIO編號的多少?
公式:編號=32 * gpio組+gpio號
例如gpio1_16編號就是32 *1+16=48
導出:echo 48 > /sys/class/gpio/export

6.  我新加的一個功能,比如uart,pwm等等,發現不起作用?Why?
例如335xd添加pwm,通過查看硬件手冊,查看有四個引腳可以輸出pwm,分別是gpmc_a2,gpmc_a3,gpmc_ad8,gpmc_ad9,但只有gpmc_a2一路能輸出信號,
原因是Ti的引腳定義不全,導致配置不起作用
通過查看硬件手冊,gpmc_a2,gpmc_a3的mode6為pwm功能,如圖:




但ti引腳定義如下:



這個配置文件意思:將gpmc_a2引腳可以復用的功能按順序配置
可以看到,當使用gpmc_a3的mode6  "ehrpwm1a" 功能的時候,該配置為NULL
解決方法:需要在mux33xx.c修改,該文件和板級配置文件在相同目錄,將NULL修改成為ehrpwm1b即可,其他引腳同理

7.  為什么啟動時,我的GPIO引腳電平狀態會跳變,內核完全啟動才能穩定?
原因是芯片在上電時,每個引腳會有默認一個狀態,這個是無法控制的。當你初始化這個引腳的狀態和默認狀態不一致,就會瞬間導致跳變,如果對上電電平有嚴格要求,就需要查看原廠資料里面的芯片手冊,查看對應引腳的默認上電狀態,選擇滿足需求的引腳使用。
原文鏈接:https://www.forlinx.com/article_view_449.html

本文地址:http://m.qingdxww.cn/thread-773044-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用SAM E54 Xplained Pro評估工具包演示CAN轉USB橋接器以及基于CAN的主機和自舉程序應用程序
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91国语精品3p在线观看 | 特黄aaaaaa久久片 | 麻豆精品久久久 | 国产精品麻豆视频 | 亚洲一区二区免费 | 欧美一区2区三区4区公司贰佰 | 国产做国产爱免费视频 | 向日葵视频app在线无限看免费 | 色播久久| 福利一区二区三区视频午夜观看 | 青青草99| 国产1区2区3区| 日韩一区二区三区在线 | 国产高清成人 | 一区二区三区四区在线观看视频 | 隔壁的邻居免费观看中文 | 午夜精品福利在线导航小视频 | 麻豆网站免费 | 国内精品免费久久久久妲己 | 免费视频精品一区二区三区 | 91亚洲精品在看在线观看高清 | 亚洲欧美在线观看首页 | 国产1区2区在线观看 | 四虎最新紧急入口 | 麻豆高清视频在线观看 | 成人伊人亚洲人综合网站222 | 91最新| 日本!日本! 在线播放 | 日韩免费毛片视频杨思敏 | 尤物国产精品福利三区 | 免费在线观看亚洲 | 国产女人水多毛片18 | 日韩大片免费观看 | 国产午夜精品免费一二区 | 永久精品 | 2021国产麻豆剧传媒新片 | 青丝影院高清版在线观看 | 99久久国内精品成人免费 | 欧美人与动性行为网站免费 | 欧美视频网站免费看 | 精品视频一区二区三区在线观看 |