关于linux异步通知signal 和QT的信号槽

项目要进行ARM和DSP之间的通信,查了很多资料,最终决定用HPI,HPI驱动写完后,要写QT应用程序,方案是qt端给信号中断DSP,然后DSP处理完一帧数据后,中断ARM。

ARM接收到中断后调用read函数读一帧,然后显示,是设备主动中断应用程序通知读写的方式。


本人菜鸟一枚,花了好多时间从驱动的坑里跳出来后,转眼就跳入了QT的坑。so,问题在哪?驱动接收到中断后,怎样让应用层接收到信号,从而update()刷新UI。


查了些资料,发现了linux的异步通知,自己试着做了下,脱离qt的情况下完全没问题,应用程序反馈良好,然后加入到Qt程序里,利用异步通知调用的函数emit信号给主线程,在主线程的solt里update,自我感觉良好,实际开始写的时候问题就来了。

error: void (VideoDevice::)(int)’ does not match ‘void (*)(int)’ 谷歌了下,说是异步通知signal的处理函数必须使用c声明函数,类的不行,解决方案是把异步通知函数声明为静态成员函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值