之编译测试和LED点灯实验
时间:10-02
整理:3721RD
点击:
DragonBoard 410c板载了6个LED灯,其中两个分别为Wifi和蓝牙指示灯,另外四个位用户指示灯,这里首先通过一个helloworld测试下Ian编译环境,然后参考官方手册实现用户LED4的闪烁控制,具体如下:
首先编写helloworld程序简单测试
- vi helloDragonboard.c
完成后通过gcc编译并输出,然后执行
- gcc helloDragonboard.c -o helloDragonboard
基本上没什么问题,当然你也可以通过gcc -V查看gcc版本
接着便是led实验了,同样通过Vi进行编辑,然后用gcc进行编译输出并执行,这里参考官方手册给出测试源码。
- #include <stdlib.h>
- #include <stdio.h>
- #include <fcntl.h>
- #include <unistd.h>
- #define LED4 "/sys/class/leds/apq8016-sbc:green:user4/brightness"
- int main( void )
- {
- int led4_fd = open( LED4, O_WRONLY);
- if(led4_fd < 0)
- {
- printf("Could not open File: %s", LED4);
- return 0;
- }
- int i;
- for( i=0; i<10;i++)
- {
- write( led4_fd, "1", 2 ); //Turning the LED ON by writing 1 into the brightness file
- sleep( 1 );
- write( led4_fd, "0", 2 ); //Turning the LED OFF by writing 0 into the brightness file
- sleep( 1 );
- }
- close(led4_fd);
- }
- #define LED4 "/sys/class/leds/apq8016-sbc\:green\:user4/brightness"
- int led4_fd = open( LED4, O_WRONLY);
这里如果led4_fd的文件标识符小于零,说明我们无法打开文件
- if(led4_fd < 0)
- close(led4_fd);
close表示退出文件控制,实验效果如下所示:
fgdfgdfgdfgdfg
值得注意的是 ,执行文件的时候必须用sudo 不然就打不开文件:Could not open File:云云。搞了2个小时才发现。