首先根据 http://wiki.friendlyARM.com/wiki/index.php/NanoPi_M1_Plus/zh 上提供的入门教程学进行习入门实践,了解硬件结构,熟悉调用库函数。 1,安装git软件,下载demo源码。输入:apt-get install git 开始下载git安装,
输入:git clone https://github.com/friendlyarm/matrix.git 开始下载demo。由于git服务器在海外的原因吧,速度非常慢,只有慢慢等待。
也可以在浏览器中输入 手动点击下载,然后拷贝到NanoPi M1 plus的系统中。
下载下来的zip的压缩包,这样有时候速度会快一些。下载完成之后我们通过xshell拷贝到/home目录下。
安装解压缩软件: 输入:apt-get install zip
到/home目录,输入:unzip matrix-master.zip进行解压。 2,连接LED NanoPi M1 plus 的GPIO定义为:
所以第4引脚是5V ,第6引脚是GND。我们使用作为GPIO输出。
源码:
- #include
- #include
- #include
- #include "libfahw.h"
- int main(int argc, char ** argv)
- {
- int pin = GPIO_PIN(7);
- int i=0, value, board;
- int ret = -1;
-
- if ((board = boardInit()) < 0) {
- printf("Fail to init boardn");
- return -1;
- }
- if (board == BOARD_NANOPC_T2 || board == BOARD_NANOPC_T3)
- pin = GPIO_PIN(15);
-
- if (argc == 2)
- pin = GPIO_PIN(atoi(argv[1]));
- if ((ret = exportGPIOPin(pin)) == -1) {
- printf("exportGPIOPin(%d) failedn", pin);
- }
- if ((ret = setGPIODirection(pin, GPIO_OUT)) == -1) {
- printf("setGPIODirection(%d) failedn", pin);
- }
- i=0;
- for (;;) {
- if (i ==0) {
- i=1;
- value = GPIO_HIGH;
- } else {
- value = GPIO_LOW;
- i=0;
- }
- if ((ret = setGPIOValue(pin, value)) > 0) {
- printf("GPIO_PIN(%d) value is %dn", pin, value);
- } else {
- printf("setGPIOValue(%d) failedn", pin);
- }
- sleep(1);
- }
- unexportGPIOPin(pin);
- return 0;
- }
复制代码
Make编译生成matrix-gpio_out,执行./matrix-gpio_out。就可以看见LED开始闪烁了。 |