|
在默認安裝的Android系統中,可以使用簡單的c語言來控制GPIO,這里以led為例。 編譯和上傳二進制文件 1.編譯led測試程序, 在Ubuntu系統中,輸入編譯命令“arm-none-linux-gnueabi-gc***.4.1 -o ledtest ledtest.c -static”,生成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 <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #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 \r\n"); if((fd = open(leds, O_RDWR|O_NOCTTY|O_NDELAY))<0) printf("open %s failed\n",leds); else { printf("open %s success\r\n",leds); while(LedOnOffTimes--) { printf("ioctl leds %d times\n",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); } |
編譯圖片
詳情了解:http://topeetboard.com 更多了解:https://arm-board.taobao.com