c - 需要 "hello world"才能用 C 语言写入 Intel Edison gpio

标签 c gpio intel-edison

我需要一个简单的程序来写入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教程我可以将引脚移高,这样我就知道我的设置是正确的。如果有人能给我一个适用于所有包含内容的代码示例,那么这将非常有帮助。

最佳答案

事实证明我发布的代码是正确的并且有效。问题是 gpio14 是 mraa 36,所以要切换 gpio14,我需要将 init 中的数字更改为 36。这是定义文档。

mraa decoder ring

关于c - 需要 "hello world"才能用 C 语言写入 Intel Edison gpio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28652964/

相关文章:

c - 调试我的 C 程序,猜数字游戏

node.js - 使用 Node.js 通过 Raspberry Pi 3 model B 进行 GPIO

Python 在使用 sudo 启动时找不到模块

c++ - 如何在 C++ 中使用 Bluez5 DBUS API 来配对和连接新设备?

c++ - 安慰来自嵌入式应用程序 Arduino 或 Intel Edison 的消息?

c - 在 Eclipse 中,您可以为工作区中的所有项目定义预处理器变量吗?

c - 移动指针后的 Malloc 在 C 中不起作用?

c++ - Eclipse conio.h 解决错误

c - C 中的多行输入

python - 对 GPIO 使用 wiringPi2-python(非根)段错误捕获