关注分享主机优惠活动
国内外VPS云服务器

启明云分享|GPIO使用情况(GPIO用法)

摘要:首先,您需要将其设置为模式参考并加载如此配置的模块。 当系统启动时,您将看到一个可以操作输入和输出的目录。

每天学习如何使用 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 >

未经允许不得转载:主机频道 » 启明云分享|GPIO使用情况(GPIO用法)

评论 抢沙发

评论前必须登录!