Qt/QML编程学习之心得:Linux下读写GPIO(23)
2024-01-09 22:33:27
在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 &
文章来源:https://blog.csdn.net/weixin_49369227/article/details/135430827
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!