/*申请gpio*/
int gpio_request(unsigned gpio, const char *label);
/*设置gpio为输入状态,即设置如(GPH0CON)*/
int gpio_direction_input(unsigned gpio);
/*设置gpio为输出状态,即设置如(GPH0CON)*/
int gpio_direction_output(unsigned gpio, int value);
/*设置gpio为输入或输出状态,即设置如(GPH0CON)*/
int s3c_gpio_cfgpin(unsigned int pin, unsigned int config);
/*
读取gpio的值,0或1.即读取(GPHODAT)
*/
int gpio_get_value(unsigned gpio);
/*
向gpio设置值,0或1,即设置(GPHODAT)
*/
void gpio_set_value(unsigned gpio, int value);
struct timer_list timer;
init_timer(&timer);
timer.function = &gpio_check_button;
timer.data = (unsigned long)bdata;
timer.expires = jiffies + msecs_to_jiffies(500);
add_timer(&timer);/*内核定时器第一次用*/
mod_timer(&timer, jiffies + msecs_to_jiffies(500));/*内核定时器第二次用*/
在中断服务程序中,添加内核定时器,服务程序执行完才开始添加定时器,开始计时。
时间: 2024-09-28 19:28:15