在超級終端裡面的輸入方法:
# cd /sys/class/gpio
/sys/class/gpio# echo 117 >export
/sys/class/gpio# echo out >gpio117/direction
/sys/class/gpio# echo 1 >gpio117/value 輸出高電平
這個固然可以實現引腳電平的輸出,在使用中,還可以用檔案操作方式使得電平公升高。如下:
#include stdlib.h
#include stdio.h
#include string.h
#include unistd.h
#include fcntl.h
//晶元復位引腳:gpio3.21
#define sysfs_gpio_export "/sys/class/gpio/export"
#define sysfs_gpio_rst_pin_val "117"
#define sysfs_gpio_rst_dir "/sys/class/gpio/gpio117/direction"
#define sysfs_gpio_rst_dir_val "out"
#define sysfs_gpio_rst_val "/sys/class/gpio/gpio117/value"
#define sysfs_gpio_rst_val_h "1"
#define sysfs_gpio_rst_val_l "0"
int main()
write(fd, sysfs_gpio_rst_pin_val ,sizeof(sysfs_gpio_rst_pin_val));
close(fd);
//設定埠方向/sys/class/gpio/gpio117# echo out > direction
fd = open(sysfs_gpio_rst_dir, o_wronly);
if(fd == -1)
write(fd, sysfs_gpio_rst_dir_val, sizeof(sysfs_gpio_rst_dir_val));
close(fd);
fd = open(sysfs_gpio_rst_val, o_rdwr);
if(fd == -1)
//輸出高電平
write(fd, sysfs_gpio_rst_val_h, sizeof(sysfs_gpio_rst_val_h));
while(1)
close(fd);
printf("info: radio hard reset pin value open error.\n");
return 0;
}
在uboot裡設定gpio口的電平
gpio set gpioao_10 拉高gpioao_10 的電平
gpio clear gpioao_10 拉高gpioao_10 的電平
樹莓派核心驅動編寫 控制GPIO的輸出
匯流排位址,實體地址,虛擬位址 參考博文 位址概念 樹莓派 1.bcm2835 樹莓派3b cpu型號,是arm cotexa53架構 2440 2410 cpu型號 是arm9架構 2.樹莓派是32位系統,1g 記憶體,只能識別949m 3.匯流排位址4g,實體地址1g,虛擬位址4g 1.晶元目錄...
linux下控制台顏色輸出
每當我們開啟控制台執行自己的程式時,總是黑白介面是不是很不爽呢。那麼有沒有讓黑白多出一些顏色呢?不用擔心,那當然是有的 我們平時敲ls命令是不是看到過有顏色的字?有些控制台可能沒有 printf 033 47 31m hello 033 0m 就是這個我們用了幾萬遍的函式,47是背景顏色40 49 ...
Linux下的gpio除錯方法
最近在fsl平台上進行移植,需要將某些gpio配置成普通的gpio功能 fsl平台的gpio支援多個功能 便寫了簡單的雜項裝置,來除錯gpio口。使用時,只需安裝gpio驅動,可實現下列三項功能 設定拉高某gpio,echo io w 108 1 dev gpio debug 設定拉低某gpio,e...