adb指令實現:
adb root
adb remount
adb shell
echo -wdout 5 0 > /sys/class/misc/mtgpio/pin
echo -wdout 5 1 > /sys/class/misc/mtgpio/pin
C程序實現:
此方法適用於linux內核的系統,測試平臺MTK8735。
輸入參數:port ---> GPIO端口,如設置MTK的GPIO1端口時port=1
value ---> 1爲高電平,0爲低電平
返回值:小於等於0時設置失敗;大於0時設置成功。
int setGpio(int port,int value) {
int result = 0;
int gpio_fd = 0;
char H_buf[128] = {0};
char L_buf[128] = {0};
gpio_fd = open("/sys/class/misc/mtgpio/pin", O_RDWR);
if(gpio_fd <= 0){
printf("open gpio port failed");
return 0;
}
sprintf(H_buf,"-wdout %d 1",port);//設置GPIO端口port爲高電平
sprintf(L_buf,"-wdout %d 0",port);//設置GPIO端口port爲低電平
if(value== 1) {
result = write(gpio_fd, H_buf, sizeof(H_buf));
} if(value== 0) else {
result = write(gpio_fd, L_buf, sizeof(L_buf));
}else{
printf("gpio value is err");
}
if(result <= 0){
printf("write gpio port failed");
}else{
printf("write gpio port success");
}
close(gpio_fd);
gpio_fd = -1;
return result;
}
Linux/Android系統開發 控制GPIO管腳輸出高低電平源碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.