本文主要是介绍A20 操作GPIO口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
例如:先在 Sys_config.fex文件中 [1302_para]1302_used = 1
1302_clk = port:PD05<1><default><default><0>
1302_dat = port:PD06<1><default><default><0>
1302_rst = port:PD07<1><default><default><0>
volume_set = port:PH06<1><default><default><0> 添加一个口,再在 (lichee\linux-3.4\drivers\video\sun7i\disp)目录下的 Dev_disp.c中
void Ds1302ModuleInit()
{script_item_value_type_e type = 0;
type = script_get_item("1302_para", "volume_set", &Volume_OnorOff);
if(type == SCIRPT_ITEM_VALUE_TYPE_PIO) {
u32 ret = gpio_request(Volume_OnorOff.gpio.gpio, NULL);
if(ret != 0){
__wrn("Albert the ERR: volume_set gpio_request failed\n");
unTimeSupportFlag = 0;
return;
} else {
gpio_direction_output(Volume_OnorOff.gpio.gpio, 1);
sw_gpio_setpull(Volume_OnorOff.gpio.gpio, 1);
}
} else {
__wrn("Albert not volume_set gpio\n");
unTimeSupportFlag = 0;
return;
}
}
还要声明内核里的一个变量 script_item_u Volume_OnorOff; 它就是我们要加的volume_set的别名, __gpio_set_value(Volume_OnorOff.gpio.gpio, 0);这个函数要把 口拉低 __gpio_set_value(Volume_OnorOff.gpio.gpio, 1);这个是把口拉高
这篇关于A20 操作GPIO口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!