树莓派 QT 编程下的硬件中断
这个标题可以有点别扭 表意不明
本文主要记录了 这个遇到的问题
环境描述 : 在qt中想使用gpio 来用作中断控制 一个TabWidget 的翻页
这个是WiringPi库中的中断注册函数 后面可以看到是个函数指针 直接把函数名传进去就好,
int wiringPiISR (int pin, int edgeType,void (*function)(void))
可是问题就出来了,显然这个如果是在成员函数中的话是需要静态函数的(也可以不包含在一个类中)
然而如果要使用QT中的机制(信号与槽 emit,etc) 必须是QOBJECT 的对象 且是其非静态函数
于是就遇到了静态函数访问非静态成员的问题
本来打算使用事件系统绕过 比如按键事件 于是查询了一些软键盘的资料 可是显得太复杂和冗余,重要的是没有可用的库,最后直面问题总结出上面的问题了;
下面给出重要的参考文章(感谢这个自由的互联网时代)
C++静态成员函数访问非静态成员的几种方法
http://www.cnblogs.com/rickyk/p/4238380.html
虽然评论说是这种方法不可取,不过的确绕不开这个
另外提醒自己 静态变量的使用
声明完了之后记得在Cpp中进行初始化
在头文件MainWindow.h的类中声明
public:static int i;
在MainWindow.cpp中定义:
int MainWindow::i=1;
注意不要在cpp的其他函数中定义,不能被任何函数所包含
使用:
qDebug()<<MainWindow::i;
树莓派 QT 编程下的硬件中断相关推荐
- Linux 多核下绑定硬件中断到不同 CPU(IRQ Affinity)
转载 - Linux 多核下绑定硬件中断到不同 CPU(IRQ Affinity) 作者 digoal 日期 2016-11-20 标签 Linux , IRQ , 中断 , CPU亲和 , 绑定中断 ...
- qt获取 扫码枪_QT编程下条码扫描器的实现
龙源期刊网 http://www.qikan.com.cn QT 编程下条码扫描器的实现 作者:刘立才 杜传红 梁丽秀 来源:<科技创新与应用> 2014 年第 28 期 摘 要:在凌动嵌 ...
- 嵌入式linux中断驱动,嵌入式Linux下硬件中断驱动程序的开发.pdf
嵌入式Linux下硬件中断驱动程序的开发.pdf 2003 年 6 月 航空精密制造技术 Jun. 2003 第 39 卷 第 3 期 AVIATION PRECISION MANUFACTURING ...
- 计算机编程书籍-Python硬件开发树莓派从入门到实践无人驾驶 AndroidTV 自动循迹
内容简介 <Python硬件开发树莓派从入门到实践>全书可大致分为4个部分,其中第13章介绍了树莓派的基本使用:第4章介绍了如何在树莓派上使用Python的OpenCV包:第58章介绍了树 ...
- 07 树莓派裸机编程,并在Windows MSYS2 QEMU模拟器中运行
作者 将狼才鲸 创建日期 2022-11-14 Gitee源码和工程地址:才鲸嵌入式 / 开源安防摄像机(嵌入式软件) CSDN文章地址:项目介绍:开源安防摄像机(嵌入式软件) 4)完整的环境安装步骤 ...
- 树莓派pythongpio编程_树莓派gpio接口及编程方法
树莓派现在越来越火,网上树莓派的资料也越来越多.树莓派源自英国,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面详细介绍一下树莓派gpio接口及编程方法. GPIO基本介绍 GP ...
- 《树莓派Python编程指南》—— 1.3 树莓派快速指南
本节书摘来自华章计算机<树莓派Python编程指南>一书中的第1章,第1.3节,作者:(美) Alex Bradbury Ben Everard更多章节内容可以访问云栖社区"华章 ...
- Linux技巧:多核下绑定硬件/进程到不同CPU
http://www.51testing.com/html/07/n-222407.html 硬件中断发生频繁,是件很消耗 CPU 资源的事情,在多核 CPU 条件下如果有办法把大量硬件中断分配给不同 ...
- Linux下的硬件驱动——USB设备(下)
Linux下的硬件驱动--USB设备(下)(驱动开发部分) 文档选项 打印本页 将此页作为电子邮件发送 未显示需要 JavaScript 的文档选项 级别: 初级 赵明, 联想软件设计中心嵌入式研发处 ...
最新文章
- 解决虚拟器device support x86 but apk only supports armeabi-v7
- PDO防注入原理分析以及使用PDO的注意事项 (转)
- 百度、长沙加码自动驾驶,湖南阿波罗智行科技公司成立...
- 虚拟机网卡引起的一个问题
- Error:Unable to tunnel through proxy. Proxy returns HTTP/1.1 400 Bad Request
- 如何在eclipse中使用分支合并功能
- asp.net mvc批量删除的实现
- ios sandbox
- 无法检测的新型 Linux 恶意软件利用 Dogecoin API 攻击 Docker 服务器
- 要注意观察我们周围的人,不要一天只是低头写代码!
- 使用wps插件,实现word转PDF
- java图片透明_Java实现对图片透明化处理
- 大厂HR的新对手是Excel
- 下午:准备考试——SOA解决方案架构师认证
- ecshop支付宝H5插件,ecshop手机版个人支付宝插件,ecshop手机端个人支付宝插件【支付宝免签接口,免签约扫码支付,免申请无须手续费,支付宝支付即时到账】
- 如何加强大数据安全管理和防护
- 卸载腾讯手游模拟器的方法
- 阿里云服务器(Windows)磁盘空间不足时如何释放磁盘空间?
- 基于ssm的在线音乐播放网站的设计与实现
- Android悬浮菜单按钮FloatingActionButton实现
热门文章
- 1.7-27编程基础之字符串 单词翻转
- Java黑皮书课后题第9章:9.7(Account类)设计一个名为Account的类,它包含……。编写一个测试程序,创建一个账户ID为1122、余额为20000美元、年利率为4.5%的Account…
- 九度OJ最短摘要的生成
- shell脚本实例-判断主机存活 以及企业备份方案
- 2013 ACM/ICPC 亚洲区 杭州站
- 跳转到页面后加载一个请求的方法
- objective-c高级编程 笔记
- electron项目中使用jquery不生效的解决方法
- JavaScript原生对象属性和方法详解——String对象
- python 正则表达式应用——缩写词扩充