GPIO配置脚本的使用:
Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态>
1.函数原型: int Script_parser_fetch(char *main_name, char *sub_name, int value[], int count);
主键名称, 子键名称 存放用户获取的数据 传进的数据空间的最大word个数
成功返回0,失败返回-1
这个函数可以获取配置里面的一个值或者一组GPIO或者一组字符窜的配置。
获取一个值:
如有配置
[fm_para]
fm_pattern = 0
则:
{
int fm_pattern;
int ret;
ret = script_parser_fetch(“fm_para”, “fm_pattern”, &fm_pattern, 1);
if(ret >= 0)
return fm_pattern;
else
return ret;
}
获取一组GPIO配置:
如有配置
[twi_para]
twi_scl = port:PH12<1><default><default><default>
则:
{
user_gpio_set_t gpio_info[1];
int ret;
ret = script_parser_fetch(“twi_para”, “twi_scl”, gpio_info, sizeof(user_gpio_set_t)/sizeof(int));
if(ret < 0)
printf(“fetch script gpio infomation fail\n”);
else
printf(“fetch script gpio infomation ok \n”);
return ret;
}
获取字符串:
如有配置
[string_test]
string_demo = string:abcdefghijklmn
则:
{
char string_info[128];
int ret;
memset(string_info, 0, 128);
ret = script_parser_fetch(“string_test”, “string_demo”, string_info, 128/sizeof(int));
if(ret < 0)
printf(“fetch script string infomation fail\n”);
else
printf(“fetch script string infomation ok \n”);
return ret;
}
2.更改某个GPIO的输出电平:
如有配置
[audio_para]
audio_earphone_ctrl = port:PH12<1><default><default><default>
则:
int gpio_earphone_switch = gpio_request_ex("audio_para", "audio_earphone_ctrl"); //用这一句可以直接取得控制句柄
gpio_write_one_pin_value(gpio_earphone_switch, 0, "audio_earphone_ctrl");//设置输出低电平
3.读取某个GPIO的输入电平:
int gpio_earphone_switch = gpio_request_ex("audio_para", "audio_earphone_ctrl"); //取得控制句柄
Int Gpio_read_one_pin_value (__hdle devpin, const char *gpio_name);
返回值: 高电平返回1
低电平返回0
非输入状态返回-1
4.设置句柄下单个GPIO配置:
函数原型:__hdle Gpio_request (user_gpio_set_t *gpio_list,
unsigned group_count_max);
参数:gpio_list 数据地址,保存GPIO属性,来自于配置脚本或者是用户自定义
group_count_max 用户保存GPIO数据的结构体的最大个数
返回值: 成功返回非空指针
失败返回空指针
Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态>
1.函数原型: int Script_parser_fetch(char *main_name, char *sub_name, int value[], int count);
主键名称, 子键名称 存放用户获取的数据 传进的数据空间的最大word个数
成功返回0,失败返回-1
这个函数可以获取配置里面的一个值或者一组GPIO或者一组字符窜的配置。
获取一个值:
如有配置
[fm_para]
fm_pattern = 0
则:
{
int fm_pattern;
int ret;
ret = script_parser_fetch(“fm_para”, “fm_pattern”, &fm_pattern, 1);
if(ret >= 0)
return fm_pattern;
else
return ret;
}
获取一组GPIO配置:
如有配置
[twi_para]
twi_scl = port:PH12<1><default><default><default>
则:
{
user_gpio_set_t gpio_info[1];
int ret;
ret = script_parser_fetch(“twi_para”, “twi_scl”, gpio_info, sizeof(user_gpio_set_t)/sizeof(int));
if(ret < 0)
printf(“fetch script gpio infomation fail\n”);
else
printf(“fetch script gpio infomation ok \n”);
return ret;
}
获取字符串:
如有配置
[string_test]
string_demo = string:abcdefghijklmn
则:
{
char string_info[128];
int ret;
memset(string_info, 0, 128);
ret = script_parser_fetch(“string_test”, “string_demo”, string_info, 128/sizeof(int));
if(ret < 0)
printf(“fetch script string infomation fail\n”);
else
printf(“fetch script string infomation ok \n”);
return ret;
}
2.更改某个GPIO的输出电平:
如有配置
[audio_para]
audio_earphone_ctrl = port:PH12<1><default><default><default>
则:
int gpio_earphone_switch = gpio_request_ex("audio_para", "audio_earphone_ctrl"); //用这一句可以直接取得控制句柄
gpio_write_one_pin_value(gpio_earphone_switch, 0, "audio_earphone_ctrl");//设置输出低电平
3.读取某个GPIO的输入电平:
int gpio_earphone_switch = gpio_request_ex("audio_para", "audio_earphone_ctrl"); //取得控制句柄
Int Gpio_read_one_pin_value (__hdle devpin, const char *gpio_name);
返回值: 高电平返回1
低电平返回0
非输入状态返回-1
4.设置句柄下单个GPIO配置:
函数原型:__hdle Gpio_request (user_gpio_set_t *gpio_list,
unsigned group_count_max);
参数:gpio_list 数据地址,保存GPIO属性,来自于配置脚本或者是用户自定义
group_count_max 用户保存GPIO数据的结构体的最大个数
返回值: 成功返回非空指针
失败返回空指针