这个标题可以有点别扭 表意不明
本文主要记录了 这个遇到的问题

环境描述 : 在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 编程下的硬件中断相关推荐

  1. Linux 多核下绑定硬件中断到不同 CPU(IRQ Affinity)

    转载 - Linux 多核下绑定硬件中断到不同 CPU(IRQ Affinity) 作者 digoal 日期 2016-11-20 标签 Linux , IRQ , 中断 , CPU亲和 , 绑定中断 ...

  2. qt获取 扫码枪_QT编程下条码扫描器的实现

    龙源期刊网 http://www.qikan.com.cn QT 编程下条码扫描器的实现 作者:刘立才 杜传红 梁丽秀 来源:<科技创新与应用> 2014 年第 28 期 摘 要:在凌动嵌 ...

  3. 嵌入式linux中断驱动,嵌入式Linux下硬件中断驱动程序的开发.pdf

    嵌入式Linux下硬件中断驱动程序的开发.pdf 2003 年 6 月 航空精密制造技术 Jun. 2003 第 39 卷 第 3 期 AVIATION PRECISION MANUFACTURING ...

  4. 计算机编程书籍-Python硬件开发树莓派从入门到实践无人驾驶 AndroidTV 自动循迹

    内容简介 <Python硬件开发树莓派从入门到实践>全书可大致分为4个部分,其中第13章介绍了树莓派的基本使用:第4章介绍了如何在树莓派上使用Python的OpenCV包:第58章介绍了树 ...

  5. 07 树莓派裸机编程,并在Windows MSYS2 QEMU模拟器中运行

    作者 将狼才鲸 创建日期 2022-11-14 Gitee源码和工程地址:才鲸嵌入式 / 开源安防摄像机(嵌入式软件) CSDN文章地址:项目介绍:开源安防摄像机(嵌入式软件) 4)完整的环境安装步骤 ...

  6. 树莓派pythongpio编程_树莓派gpio接口及编程方法

    树莓派现在越来越火,网上树莓派的资料也越来越多.树莓派源自英国,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面详细介绍一下树莓派gpio接口及编程方法. GPIO基本介绍 GP ...

  7. 《树莓派Python编程指南》—— 1.3 树莓派快速指南

    本节书摘来自华章计算机<树莓派Python编程指南>一书中的第1章,第1.3节,作者:(美) Alex Bradbury Ben Everard更多章节内容可以访问云栖社区"华章 ...

  8. Linux技巧:多核下绑定硬件/进程到不同CPU

    http://www.51testing.com/html/07/n-222407.html 硬件中断发生频繁,是件很消耗 CPU 资源的事情,在多核 CPU 条件下如果有办法把大量硬件中断分配给不同 ...

  9. Linux下的硬件驱动——USB设备(下)

    Linux下的硬件驱动--USB设备(下)(驱动开发部分) 文档选项 打印本页 将此页作为电子邮件发送 未显示需要 JavaScript 的文档选项 级别: 初级 赵明, 联想软件设计中心嵌入式研发处 ...

最新文章

  1. 解决虚拟器device support x86 but apk only supports armeabi-v7
  2. PDO防注入原理分析以及使用PDO的注意事项 (转)
  3. 百度、长沙加码自动驾驶,湖南阿波罗智行科技公司成立...
  4. 虚拟机网卡引起的一个问题
  5. Error:Unable to tunnel through proxy. Proxy returns HTTP/1.1 400 Bad Request
  6. 如何在eclipse中使用分支合并功能
  7. asp.net mvc批量删除的实现
  8. ios sandbox
  9. 无法检测的新型 Linux 恶意软件利用 Dogecoin API 攻击 Docker 服务器
  10. 要注意观察我们周围的人,不要一天只是低头写代码!
  11. 使用wps插件,实现word转PDF
  12. java图片透明_Java实现对图片透明化处理
  13. 大厂HR的新对手是Excel
  14. 下午:准备考试——SOA解决方案架构师认证
  15. ecshop支付宝H5插件,ecshop手机版个人支付宝插件,ecshop手机端个人支付宝插件【支付宝免签接口,免签约扫码支付,免申请无须手续费,支付宝支付即时到账】
  16. 如何加强大数据安全管理和防护
  17. 卸载腾讯手游模拟器的方法
  18. 阿里云服务器(Windows)磁盘空间不足时如何释放磁盘空间?
  19. 基于ssm的在线音乐播放网站的设计与实现
  20. Android悬浮菜单按钮FloatingActionButton实现

热门文章

  1. 1.7-27编程基础之字符串 单词翻转
  2. Java黑皮书课后题第9章:9.7(Account类)设计一个名为Account的类,它包含……。编写一个测试程序,创建一个账户ID为1122、余额为20000美元、年利率为4.5%的Account…
  3. 九度OJ最短摘要的生成
  4. shell脚本实例-判断主机存活 以及企业备份方案
  5. 2013 ACM/ICPC 亚洲区 杭州站
  6. 跳转到页面后加载一个请求的方法
  7. objective-c高级编程 笔记
  8. electron项目中使用jquery不生效的解决方法
  9. JavaScript原生对象属性和方法详解——String对象
  10. python 正则表达式应用——缩写词扩充