为何HCS08的CPU不支持中断优先级编程?

[复制链接]
3180|3
 楼主| forthlab 发表于 2007-12-18 16:41 | 显示全部楼层 |阅读模式
把定时器中断的优先级比较高,我想把它降到最低,但发现不能改变.<br /><br />为何FSL会这么设计?
张明峰 发表于 2007-12-18 21:17 | 显示全部楼层

做死了,就这样了。

我想不出合适的理由,最可能的就是历史原因:最早的HC05就是这么个架构,一直用下来了,大家也都把活干得好好的。<br />用过51的人喜欢追求中断优先级,这本身没错,但过分强调就有死板之嫌。单片机本身执行速度足够,只要软件编写合理,完全能轻松搞定几乎所有你能在单片机上想到的任务。<br />估计如果你用PIC,肯定会问“为什么PIC中断只有一个向量?”这样的问题。
 楼主| forthlab 发表于 2007-12-19 09:52 | 显示全部楼层

可惜啊.

我的设计是主程序执行一个任务<br />另外准备将一部分程序放在定时中断内的,这部分程序定时启动,执行时间也比较长.类似嵌入式OS的时间片概念.<br />所以不希望定时中断屏蔽了其他硬件设备中断,也不希望定时中断打断其他硬件中断,所以必须定时中断的优先级是最低的.<br /><br />用修改SP指针等方法或许可以做,但麻烦又会带来BUG.
张明峰 发表于 2007-12-19 17:13 | 显示全部楼层

恰恰相反

OS中的时间片概念是各个任务分享CPU时间,而不是某一个任务在需要时独享时间,如你的定时器服务需要执行较长时间。<br />不了解你具体设计的意图,要我做也会尽量将定时器任务作为一般性质的任务查询来实现,而不让他独占较长的中断服务时间。当然各人对任务和设计思路理解不尽相同,无所谓好坏。<br />祝成功。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

87

主题

749

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部