老菜鸟请教下大伙,有这么个活,我始终想不出一个合适的程序结果去写,故写出来请教下:
MCU: MEGA8,8M晶振。
1、任务A需要每500us调用一次,任务执行周期350us,无法分解。
2、串行通讯,接收周期20ms,100ms, 200ms, 500ms, 1000ms。发送周期20ms,100ms, 200ms, 500ms, 1000ms。
3、输入捕捉中断。输入周期最小大约40us。
4、输入捕捉中断,周期最小256us。
5、需要驱动外围的芯片有HT1621和595x3,24C02。
---------------
单片机已经不能更改。
目前用最原始的前后台方法。定时器中断500us一次,任务A放在中断里执行,剩下的150us计算定时时基,
主要的矛盾在于,有些任务需要时间比较准确,当在主程序中扫描时,定时不准确,分析是执行任务的时间太长,比如
驱动595和读写24c02这些任务都需要时间,往往影响时基,请问,这种情形有没有什么好的程序结构来解决?
谢谢大家!
|