本帖最后由 linzhao789 于 2022-3-10 11:36 编辑
在默认安装的Android系统中,可以使用简单的c语言来控制GPIO,这里以led为例。
编译和上传二进制文件1.编译led测试程序, 在Ubuntu系统中,输入编译命令“arm-none-linux-gnueabi-gcc-4.4.1 -o ledtest ledtest.c -sta tic”,生成ledtest可执行程序“ledtest”。
2.拷贝二进制文件到“fastboot”目录下,上传文件到开发板的“/data”,在cmd命令行中,输入adb传文件的命令“adb push ledtest /data”。
运行测试
1.修改权限
在超级终端中,输入命令“cd /data”,输入修改权限命令“ chmod 777 ledtest”。 2.测试 在超级终端中可以使用以下两组命令,控制小灯的亮和灭。 使用命令“./ledtest 0”运行程序,小灯灭。 使用命令“./ledtest 1”运行程序,小灯亮。
C测试代码 ledtest.c
#include
#include
#include
#include
#include
#include
#define MAX 10
void main(void)
{
int fd,LedOnOffTimes;
char gpio[MAX],cmd[MAX];
char *leds = "/dev/leds_ctl";
LedOnOffTimes = MAX;
printf("leds light on and off 5 times rn");
if((fd = open(leds, O_RDWR|O_NOCTTY|O_NDELAY))<0)
printf("open %s failedn",leds);
else
{
printf("open %s successrn",leds);
while(LedOnOffTimes--)
{
printf("ioctl leds %d timesn",LedOnOffTimes);
ioctl(fd,0,0); //parameter 2 is cmd ,cmd = 1 leds on
ioctl(fd,0,1);
sleep(1);
ioctl(fd,1,0);
ioctl(fd,1,1);
sleep(1);
}
}
close(fd);
}
|
[img=600,0][/img]
0
|
|
|
|
好帖 加油
|
|
|
|
|