用户模式下,软件中断SVC处理过程中是否要关中断?

[复制链接]
3087|4
 楼主| linjing 发表于 2012-8-11 01:12 | 显示全部楼层 |阅读模式
画板子的时候口线不够,把液晶的8位数据线与按键扫描复用了,
按键扫描是在定时中断中处理的,
液晶读写的时候为了防止按键扫描的影响,需要关中断,像这样。
{
__disable_irq();//关中断,主要目的是禁止定时中断执行按键扫描
访问液晶端口。。。
__enable_irq();//开中断
return;
}
现在希望我的程序在用户模式下运行,这样就无法直接关中断。
通常的办法是写软件中断执行开关中断,可感觉这样有点折腾,因为液晶端口访问程序是很短的,所以直接将液晶读写的函数定义成软件中断,用SVC调用来访问液晶端口,现在不太确定的是,SVC本身就是中断,在SVC调用过程中还需要关中断吗?
john_lee 发表于 2012-8-11 16:27 | 显示全部楼层
只要你保证定时器中断的优先级低于或等于svc异常就可以了。
5509 发表于 2012-8-11 20:49 | 显示全部楼层
学习下,不知道怎么处理较好?
 楼主| linjing 发表于 2012-8-22 10:26 | 显示全部楼层
2# john_lee

SVC的优先级不是固定的吗?
那我具体要如何设置才能保证定时器的中断优先级低于SVC的呢?
airwill 发表于 2012-8-24 08:36 | 显示全部楼层
SVC 的中断优先级是可调整的.
设置定时器的中断的占先优先级的数值大于于SVC的就行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:承接单片机电路设计,程序开发 QQ:: 93652802 青岛地区,兼职、专职都可以

35

主题

327

帖子

0

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