当前位置:首页 » 《随便一记》 » 正文

MTK平台 mt6771 GPIO控制_Kevin_857的博客

27 人参与  2022年05月28日 14:16  分类 : 《随便一记》  评论

点击全文阅读


MTK平台下GPIO控制分为lk和正常模式控制;

lk模式控制GPIO(所用调用必须包含在编译lk的宏定义中)

头文件:

#include <platform/mt_gpio.h>
//使用时必须包含在编译lk的宏定义中
#ifdef BUILD_LK
#include <platform/mt_gpio.h>
#endif

定义GPIO引脚:

#define GPIO_20_lk        (GPIO20 | 0x80000000)

定义GPIO控制函数:

ps:控制函数根据功能进行定义,这里定义为通用GPIO输出控制,定义的控制函数必须定义在BUILK_LK的宏定义中,否则会报错。

#ifdef BUILD_LK
static void gpio_output(int output)
{
  mt_set_gpio_mode(GPIO_20_LK, GPIO_MODE_00);//设置gpio模式
  mt_set_gpio_dir(GPIO_20_LK, GPIO_DIR_OUT);//设置为输出
  mt_set_gpio_out(GPIO_20_LK, (output > 0) ? GPIO_OUT_ONE : GPIO_OUT_ZERO);//gpio控制
}
#endif

控制GPIO:

ps:重要的事情说三遍,函数调用也必须定义在BUILK_LK的宏定义中,否则会报错

#ifdef BUILD_LK
    gpio_output(0);
    MDELAY(10);
    gpio_output(1);
#endif

正常GPIO控制:

头文件:

#include <linux/gpio.h>
#include <linux/of_gpio.h>

定义GPIO引脚:

#define GPIO_20           (20+320)

(20+230)这里20代表GPIO引脚20

   230=512-192(芯片可以配置的GPIO引脚总数,注意引脚从0开始计数,不要漏算一个引脚)

控制GPIO:

    gpio_set_value_cansleep(GPIO_20, 0);
    MDELAY(10);
    gpio_set_value_cansleep(GPIO_20, 1);


点击全文阅读


本文链接:http://zhangshiyu.com/post/40938.html

定义  控制  引脚  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1