我需要一个写入gpio的简单程序。我无法在任何地方找到一个。 mmra文档中的示例不起作用。我选择了gpio14,因为使用系统调用写入此引脚的Sprakfun示例工作得很好。但我的计划不起作用。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mraa.h>
#include <math.h>
#include <mraa/gpio.h>
int main(int argc, char **argv)
{
mraa_gpio_context gpio;
gpio = mraa_gpio_init(14); <--- to get gpio14 to toggle change this to 36
mraa_gpio_dir(gpio, MRAA_GPIO_OUT);
int value = 0;
for (;;) {
if(value == 0)value = 1;
else value = 0;
mraa_gpio_write(gpio,value);
printf("output is %d\n",value);
sleep(1);
}
mraa_gpio_close(gpio);
return 0;
}
循环运行并打印出输出为1然后输出为0.我在引脚上有一个示波器,它保持低电平。
使用this Sparkfun教程我可以将引脚移动到高位,以便我知道我的设置是正确的。如果有人可以给我一个代码的示例,该代码适用于所有包含,这将非常有用。
答案 0 :(得分:0)
事实证明我发布的代码是正确的并且有效。问题是gpio14是mraa 36所以要切换gpio14,我需要将init中的数字改为36.这是定义文档。