首先说明一下。
mraa是一种低级别通用库,可将通用输入/输出 (GPIO) 接口转换成针脚。upm是一种用 C++ 编写而成的传感器通用库,它使用 MRAA,支持您轻松构建面向自己项目的传感器表示。
可以在官网上找到下载upm库的地址:https://github.com/intel-iot-devkit/upm/
下载后,解压出来,在路径upm-masterupm-masterexamplesc++中,可以找到很多传感器的例程。
如下groveled.cxx文件,这个是LED的例程(去掉了一些注释):
- #include
- #include
- #include "grove.hpp"
- int
- main(int argc, char **argv)
- {
- //! [Interesting]
- // Create the Grove LED object using GPIO pin 2
- upm::GroveLed* led = new upm::GroveLed(2);
- // Print the name
- std::cout << led->name() << std::endl;
- // Turn the LED on and off 10 times, pausing one second
- // between transitions
- for (int i=0; i < 10; i++) {
- led->on();
- sleep(1);
- led->off();
- sleep(1);
- }
- // Delete the Grove LED object
- delete led;
- //! [Interesting]
- return 0;
- }
复制代码
可以看到,这里引用了一个grove.hpp的头文件,这个文件的地址在:upm-mastersrcgrove
工程中添加了这个文件,编译错误:
因为我们没有在eclipse设置upm 在工程设置中,按如下的方法,添加Grove头文件的目录路径。
再编译工程,没有错误了。可以进行下一步了。
|