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()就可以了,这样可以省却再 次调用设置输出模式的操作,从而提高运行效率!

目录
相关文章
|
前端开发 芯片
【芯片前端】关于set_input_delay/set_output_delay慢信号约束到快时钟的思考
【芯片前端】关于set_input_delay/set_output_delay慢信号约束到快时钟的思考
426 0
|
芯片
Bust Mode(降压模式)和Boost Mode(升压模式)
升压与降压一般是指电源电路的工作模式,有些电源IC可以同时支持升压和降压模式。
385 0
|
芯片
Constant frequency mode(恒频模式)和Burst mode(点放模式)
Constant frequency mode是指恒频模式或者连续模式,Burst mode是指点放模式或者突发模式。这两个概念在DC-DC开关电源中比较常见,大家都了解开关电源是通过PWM信号控制开关管的通断来进行供电。恒频模式指PWM信号频率保持不变,开关电源一直在工作,这样电压比较稳定。点放模式下,开关管不是周期性开关的,当在轻负载状态下(一般是设备进入低功耗休眠模式),当电压低于预设电压时,导通一次开关管,这样就比较省电。
559 0
|
网络协议 BI 调度
NR PRACH(五) type1 RA(4-step)基本过程
无线通信,最重要的前提是建立接收端和发射端之间的时间同步。
|
传感器 人工智能 Linux
Jetson TX2 NX的GPIO引脚使用方式
Jetson TX2 NX的GPIO引脚使用方式
|
异构计算
Quartus中出现错误: Can't place multiple pins assigned to pin location Pin_101 (IOPAD_X53_Y21_N14)
Quartus中出现错误: Can't place multiple pins assigned to pin location Pin_101 (IOPAD_X53_Y21_N14)
546 0
Quartus中出现错误: Can't place multiple pins assigned to pin location Pin_101 (IOPAD_X53_Y21_N14)
流水灯--使用现成的intrins.h中_crol_(variable,number)来实现八位IO口的单个低电平循环
使用现成的intrins.h中_crol_(variable,number)来实现八位IO口的单个低电平循环
256 0
|
Linux
Wedge 100-32X 100GbE Data Center Switch
1、总体设计 (https://www.edge-core.com/productsList.php?cls=1&cls2=5&cls3=67) 基于 Facebook’s Wedge 100 design.
1453 0
|
传感器 测试技术
触摸屏(TP)奕力IC 测试技术---Sensor Test
文章转载地址:http://baijiahao.baidu.com/s?id=1576311209994050951&wfr=spider&for=pc
3750 0