led点灯程序 下面使用一段简单代码来演示如何控制LED,并且让大家了解应用编写时常用的文件I/O模型: 程序步骤如下: (一)LED1_BRIGHTNESS、 LED2_BRIGHTNESS两个宏分别对应LED1、LED2两个灯的亮度属性; (二)使用open分别打开两个亮度属性文件,如果错误返回报错; (三)间隔0.5秒,打开和关闭两个LED灯; (四)退出时使用close关闭属性文件; 编译源码 此时就有个问题,我们好不容易写好的第一个程序怎么放到开发板执行呢?直接把led.c拷贝到开发板上好像不行,因为led.c是C语言,而开发板只认识二进制程序。如果使用之前ubuntu中介绍过的gcc编译工具,用gcc编译完放到开发板上会发现无法执行,会提示格式错误。 这是因为虚拟机是在电脑上,属于x86架构,而开发板是arm架构,不同架构主机上分别编译运行的话就需要用到交叉编译链。 在虚拟机设置交叉编译链的环境变量,查看环境变量$CC: 这个$CC变量就是交叉编译器arm-poky-linux-gnueabi-gcc + 配置参数。 首先创建led.c文件,将上面代码添加到led.c文件,保存退出并编译: ELF 1板卡验证 将生成的可执行程序led拷贝到开发板: 在开发板执行程序: 观察现象,可以看到红绿灯同时循环闪烁。
|