gpio_direction_output 和 gpio_set_value之间的关系

简介: gpio_direction_output 和 gpio_set_value之间的关系

在linux驱动中常常会碰到gpio_set_value(port_num,0/1)或gpio_direction_output (port_num,0/1) 这两者有什么关系呢
gpio_set_value(port_num,0/1) 一般只是在这个GPIO口的寄存器上写上某个值,至于这个端口是否设置为输出,它就管不了!
而gpio_direction_output (port_num,0/1),在某个GPIO口写上某个值之后,还会把这个端口设置为输出模式。
因此,有人也许就会建议,把gpio_set_value这个函数直接去掉不用,是否可以,显然是可以的。 但是为什么系统还要用呢, 我个人分析是, 系统开发人员在要结合这两者来使用,以便提高效率。 一般某个端口设置好了输入与输出模式后,最好不要经常变动。 首先要调用gpio_direction_output(),以后要设置高低电平时,直接使用gpio_set_value()就可以了,这样可以省却再 次调用设置输出模式的操作,从而提高运行效率!

目录
相关文章
|
4月前
|
芯片
USB Type-C引脚解析 && CC、DFP、UFP、DRP用途解析
USB Type-C引脚解析 && CC、DFP、UFP、DRP用途解析
|
12月前
|
前端开发 芯片
【芯片前端】关于set_input_delay/set_output_delay慢信号约束到快时钟的思考
【芯片前端】关于set_input_delay/set_output_delay慢信号约束到快时钟的思考
290 0
PADS Logic原理图添加总线
原理图总线在连线很多的时候或者是连线信号可以归类的时候(比如存储器的数据信号),很适合使用,可以使原理图变得简洁,提高可读性,下面我们就看一下如何在原理图中添加总线。
484 0
|
芯片
Bust Mode(降压模式)和Boost Mode(升压模式)
升压与降压一般是指电源电路的工作模式,有些电源IC可以同时支持升压和降压模式。
278 0
|
网络协议 BI 调度
NR PRACH(五) type1 RA(4-step)基本过程
无线通信,最重要的前提是建立接收端和发射端之间的时间同步。
|
芯片
stm32-HAL使用stop模式后DMA初始化的问题
stm32-HAL使用stop模式后DMA初始化的问题
253 1
stm32-HAL使用stop模式后DMA初始化的问题
|
传感器 开发工具
hi3559_imx334_sensor修改配置1080P60
先说一下我的需求:让hi3559上支持驱动Mp60/4MP60 的imx334 海思把一些可能用到的驱动文件开放让我们修改,这样我们确实是可以做一些自己的适配 本文从csdn同步过来的
564 0
hi3559_imx334_sensor修改配置1080P60
STM32F4---PWM输出
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制。 PWM是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。
STM32F4---PWM输出
|
芯片
蓝牙ATT_LIST设置服务指令
蓝牙ATT_LIST设置服务指令
183 0
蓝牙ATT_LIST设置服务指令
流水灯--使用现成的intrins.h中_crol_(variable,number)来实现八位IO口的单个低电平循环
使用现成的intrins.h中_crol_(variable,number)来实现八位IO口的单个低电平循环
242 0