我正在尝试创建一个驱动程序来访问 rpi gpio,这是我的代码:
#include <linux/init.h>
#include <linux/gpio.h>
#include <linux/module.h>
static int hello_init(void)
{
int i=0;
for(i=0;i<50;i++){
if(!gpio_is_valid(i)){
printk(KERN_INFO "nope");
}
else{
printk(KERN_INFO "yup");
}
}
printk(KERN_INFO "Hello\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_INFO "bye\n");
}
module_init(hello_init);
module_exit(hello_exit);
问题在于gpio_is_valid
。对于任何 i 值,它总是返回 0。我从https://www.kernel.org/doc/Documentation/gpio/gpio-legacy.txt得到它。这现在不起作用,因为它是“遗产”。如果是这样,相同的解决方法是什么?