终于在这台论坛注册成功了,之前逛了几次,学习到了不少知道,其中包括GPIO。。。
今天用C语言写了一个小程序,控制板中间的那个绿灯一亮一灭,像呼吸一下。。。
话不多说,直接上代码,给有需要的朋友参考一下。有关 GPIO的更多知识,如什么是GPIO,怎么配置Script.bin,,,请参考论坛中其他文章。- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/ioctl.h>
- #include <sys/mman.h>
- #include <sys/time.h>
- /**
- *功能 Cubieboard Linux 下用C语言控制 GPIO ,实现对板载绿灯的控制
- * 此代码只要稍微更改一下PIN口的名称也可以控制其他的设备,如继电器,步进电机。。。
- * 更多知道请用关键字 cubieboard,gpio,script.bin进行搜索
- *博客 http://hi.baidu.com/smsspy/
- */
- int main()
- {
- int fd;
- int i;
- //如果不存在sun4i-gpio,那是驱动没安装好,请自行GOOGLE一下。
- fd = open("/sys/devices/virtual/misc/sun4i-gpio/pin/ph20",O_RDWR | O_NOCTTY);
- if(fd < 0)
- return 0;
- //60个周期,一个周期一个“呼吸”动作
- for(i=0; i<60; i++)
- {
- //发送一个1,高电平,灯亮
- write(fd,"1", 1);
- sleep(1);
- //发送一个0,低电平,灯灭
- write(fd,"0", 1);
- sleep(1);
- }
- close(fd);
- return 0;
- }
复制代码 将上面的代码保存为 led.c
然后 gcc -o led led.c
接着 ./led
看效果吧。
|