打印

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

[复制链接]
2428|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的呢?

使用特权

评论回复
5
airwill| | 2012-8-24 08:36 | 只看该作者
SVC 的中断优先级是可调整的.
设置定时器的中断的占先优先级的数值大于于SVC的就行了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

35

主题

327

帖子

0

粉丝