当前位置: 首页 > news >正文

Qt/QML编程学习之心得:Linux下读写GPIO(23)

在linux嵌入式系统中,经常需要一些底层操作,Linux就如window一样,也对底层BSP进行了封装,对device driver进行了封装,使用的话基本就是文件读写的方式来读取,所以也大大简化了上层应用对底层硬件的访问难度。

比如要对GPIO口进行访问,在Qt中有几种方法:

使用命令行方式访问:

#include <sys/un.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <linux/types.h>
#include <linux/netlink.h>void visitGPIO(string sysCMD)
{FILE * ptr;if((ptr=popen(sysCMD, "r"))!=NULL){rewind(ptr);fread(bufData, 256,1, ptr);// XXX,对数据进行处理pclose(ptr);
}

直接执行方式访问:

用户空间可通过sysfs访问控制GPIO:

# echo 11 > /sys/class/gpio/export      执行此命令会在gpio/下生成gpio11目录
# echo out > gpio11/direction            设置GPIO11方向为输出
# echo 1 > gpio11/value                   设置GPIO11为高电平
# echo 0 > gpio11/value                   设置GPIO11为低电平
# echo 11 &
http://www.lryc.cn/news/277561.html

相关文章:

  • Unity中URP下深度图的线性转化
  • Low Poly Cartoon House Interiors
  • [算法与数据结构][c++]:左值、右值、左值引用、右值引用和std::move()
  • 【QT】day3
  • c++ fork, execl 参数 logcat | grep
  • QT:单例
  • IPv6路由协议---IPv6动态路由(OSPFv3-4)
  • 移动通信原理与关键技术学习(4)
  • 第二百五十八回
  • freesurfer-reconall后批量提取TIV(颅内总体积)
  • 【GO】如何用 Golang 的 os/exec 执行 pipe 替换文件
  • 基于Spring-boot-websocket的聊天应用开发总结
  • 2023年度总结 - 职业生涯第一个十年
  • setup 语法糖
  • Javaweb之Mybatis的基础操作的详细解析
  • 知名开发者社区Stack Overflow发布《2023 年开发者调查报告》
  • vue element plus Form 表单
  • zmq_connect和zmq_poll
  • TinyLog iOS v3.0接入文档
  • react-native 配置@符号绝对路径配置和绝对路径没有提示的问题
  • element的Table表格组件树形数据与懒加载简单使用
  • 游戏、设计选什么内存条?光威龙武系列DDR5量大管饱
  • linux磁盘清理_docker/overlay2爆满
  • Redis过期清理策略和内存淘汰机制
  • 2_并发编程同步锁(synchronized)
  • Python 常用模块pickle
  • CentOS 6 制作openssh 9.6 p1 rpm包(含ssh-copy-id、openssl) —— 筑梦之路
  • Tomcat Notes: Deployment File
  • 某邦通信股份有限公司IP网络对讲广播系统挖矿检测脚本
  • uniapp点击跳转传对象