nanopi 2s 5-3.3v电压转换模块驱动

本文介绍如何在智能灯光控制系统中使用5-3.3V电压转换模块检测光感、声感模块的连接状态。通过GPIO口检测高电平变化,设置GPIO下拉电阻避免假插入问题。驱动代码涉及nxp_soc_gpio_set_io_pull_sel函数进行下拉设置,确保信号稳定性。
摘要由CSDN通过智能技术生成

在阶段二项目智能灯光控制系统中利用5-3.3v电压转换模块来探测光感、声感的连接与否,原理是让转换模块和光感模块的电源线一起插拔。

插上电时,转换模块输出3.3v电压至其连接的GPIO口,gpio口检测到高电平则知道了光感模块已接入系统。拔开电源线则转换模块输出为零,gpio口未检测到高电平则知道了光感模块已离开系统。

这是个基础的GPIO口检测输入信号的驱动,关键在于要设置gpio的下拉电阻,防止在pin悬空时出现高电平(实验时出现不规律的出现接收到的信号为1)的现象,避免出现假插入。

研究了arch\arm\mach-s5p4418\soc\gpio.c(对应的头文件为arch\arm\mach-s5p4418\include\mach\soc.h)中的函数nxp_soc_gpio_set_io_pull_sel(pin脚,0/1),0为下拉,1为上拉。加上后效果非常好。这个文件中包含的函数应该是平台提供的,而包含于include\linux\gpio.h中的gpio_direction_output()、gpio_set_value()等函数为通用函数。

驱动代码如下:

#include <linux/miscdevice.h>
#include <linux/delay.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/fs.h>
#include <linux/types.h>
#include <linux/delay.h>
#include <linux/moduleparam.h>
#include <linux/slab.h>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值