摘要:首先,您需要将其设置为模式参考并加载如此配置的模块。 当系统启动时,您将看到一个可以操作输入和输出的目录。
每天学习如何使用 GPIO。 SSD201和SSD202的GPIOnum如下。 uboot 使用 GPIO
使用命令行
# gpio Output 12 0 //输出 PAD_GPIO12 的低电平 # gpio input 10 // 将PAD_GPIO10设置为输入 # gpio get 10 // 获取PAD_GPIO10的输入电平 # gpiotoggle 12 // 例如,如前所述,PAD_GPIO12输出低电平Masu。 执行该命令后,PAD_GPIO12将输出高电平。
使用 API 将 GPIO 设置为输入模式:void MDrv_GPIO_Pad_Odn(MS_GPIO_NUM u32IndexGPIO);
获取 GPIO 的输入电平:U8 MDrv_GPIO_Pad_Read(MS_GPIO_NUM u32IndexGPIO);
设置GPIO转输出模式:void MDrv_GPIO_Pad_Oen(MS_GPIO_NUM u32IndexGPIO);
输出高电平:void MDrv_GPIO_Pull_High(MS_GPIO_NUM u32IndexGPIO);
输出低电平:void MDrv_GPIO_Pull_Low(MS_GPIO_NUM u32IndexGPIO);
驱动程序使用 GPIO
首先设置infinity2m-ssc011a-s01a-padmux-xxx.dtsi中的GPIO模式((不是其他复用模式) :
,
GPIO 请求:int gpio_request(unsigned gpio,constchar* label);
设置 GPIO 为输入模式:int gpio_direction_input(unsigned gpio);
设置 GPIO 为输出模式:int gpio_direction_output(unsigned gpio,int value);
获取 GPIO 输入电平:int gpio_get_value(unsigned gpio );
设置GPIO输出电平:void gpio_set_value(unsigned gpio,int value)
用户空间操作 GPIO
用户空间在系统启动后。 首先,您需要在 infinity2m-ssc011a-s01a-padmux-xxx.dtsi 中设置 GPIO 模式(请参阅使用 GPIO 的驱动程序),并加载 GPIO sysfs 接口模块。
# ARCH=arm make menuconfig
使用此配置,/sys/class/gpio将显示。 系统启动后的目录。 该目录允许您操作 GPIO 输入和输出。 输出模式:
# echo 12 > /sys/Class/GPIO/Export // 应用 GPIO# Echo Out>/SYS/Class/GPIO/GPIO12/DIRECTION // 设置为输出模式 # ECHO 1>/SYS/CLASS/GPIO/GPIO12/VALUE // 导出高电平 # echo 0 > /sys/class/gpio/gpio12/value // 输出低电平 # echo 12 > /sys/class/gpio/unexport // 卸载 GPIO
输入模式:
# echo 12 > / Sys /Class /GPIO/Export // GPIO# Echo in>/SYS/Class/GPIO/GPIO12/DIRECTION // 设置为输出模式# Cat/SYS/Class/GPIO/GPIO12/VALUE // /p >
评论前必须登录!
注册