这是以这种方式使用队列FIFO的标准做法吗?

时间:2016-11-08 02:58:11

标签: c linux communication interrupt

让我们说我必须在资源吝啬的平台上工作,我的程序运行的处理器是相当低端的(MCU,80486,诸如此类),我尝试实现这个面向对象的事件 - 驱动编程模型。

事件的来源当然来自中断。由于处理器速度很慢,而且我不想丢弃任何中断事件(这是BTW,通常情况下是MCU,如果我无法及时响应,我会屏蔽相关的中断源和完全停止接受中断)我将要做的是我将要有一个详细说明所有内容的中断事件结构,然后我将构建一个FIFO数组,其中不包含这些事件,但是这些事件的引用(指针),如果我在意的话,我可以使这个FIFO成为双向链表,只要我注意大小或可能发生内存泄漏。

所以每次中断到来时,我都会" cram"它的所有信息都带有上述事件结构中的某种setter并将其推入FIFO中,然后我会弹出并处理它。

我认为当中断主要与通信相关时,这一点特别有用,例如,如果我要实现一个低功耗,独立的MQTT服务器。

我的问题是,这是一个完全业余的东西,只是一个"坏"程序员会做什么,还是相当于书?

0 个答案:

没有答案