MTK 平台驱动调试指导 MTK 平台驱动调试指南? GPIO 设置篇一、 GPIO 有关的函数 1. GPIO_ModeSetup: 函数原型: void GPIO_ModeSetup(kal_uint16 pin, kal_uint16 conf_dada) 功能:设置 GPIO 的工作模式是作为 GPIO ,还是作为专有功能接口。参数: pin : GPIO 的 pin 脚号,对应于原理图上 MTK62XX 主 CPU 芯片的上的 GPIO 标号 conf_dada : 值有 0~3 。其中 0 是表示作为 GPIO 模式, 其他根据专有功能的不同进行设置。 2. GPO_InitIO 函数原型: void GPIO_InitIO(char direction, char port) 功能:初始化 GPIO 的工作方向是作为输入,还是作为输出参数: direction :工作方向, 0 表示输入, 1 表示输出 port : GPIO 的 pin 脚 3. GPIO_ReadIO 函数原型: char GPIO_ReadIO(char port) 功能:从 GPIO 读取数据参数: port : GPIO 的 pin 脚 4. GPIO_WriteIO 函数原型: void GPIO_WriteIO(kal_char data, kal_char port) 功能:往 GPIO 写数据参数: data :1 表示给高电平, 0 表示给低电平 port : GPIO 的 pin 脚备注:这些函数在 中可以找到。二、 GPIO 模式设置 GPIO 口在系统上电的时候, 有的是默认高电平, 有的是默认低电平,这是 MCU 内部决定的,软件无法更改,但是在系统开机过程中, 会对 GPIO 进行初始化, MCU 中有几个 GPIO 模式初始化寄存器, 通过这个寄存器给 GPIO 设置初始模式。例如: 以下这个寄存器就是用来设置 0-7号 GPI O 的模工作模式的。这个初始化过程在 中的函数 GPIO_init() 中, 项目开始的时候,先要检查这个部分的模式设置是否正确。三、各个功能模块的 GPIO 设置 1. LCD 背光,马达有的 LCD 背光是靠 GPIO 进行控制的, 有的则靠 PMIC 进行控制。但不管那个方式进行控制,都只需修改 中的相关部分就可以了,具体如下: 首先,检查数组 GPIO_MAP_ENTRY gpio_map_tbl[] ={ /*GPIO_LABEL_LCD_BACKLIGHT */ {GPIO_VAILD, GPIO_PORT_24, netname[GPIO_LABEL_LCD_BACKLIGHT], NULL }, 。。。}; 将没有使用的 GPIO ,用 GPIO_INVALID 给屏蔽掉。然后,修改函数 custom_cfg_gpio_set_level ,在对应的 GPIO 类型上将控制函数添加进去即可。比如: switch(gpio_dev_type) { case GPIO_DEV_LED_MAINLCD: if( gpio_dev_level == LED_LIGHT_LEVEL0)// LEVEL0- LEVEL 5 是背光由若到
MTK平台驱动调试指导 来自淘豆网m.daumloan.com转载请标明出处.