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