嵌入式开发者社区

标题: 关于软件中断的问题(以基于sys/bios下GPIO_LED_SWI)为例 [打印本页]

作者: 朱宝军    时间: 2014-12-23 18:28
标题: 关于软件中断的问题(以基于sys/bios下GPIO_LED_SWI)为例
关于软件中断的问题(以基于sys/bios下GPIO_LED_SWI)为例
1、中断源启动的问题,
这个例程中主程序应该是通过Task_create(taskMain, NULL, NULL);创建了taskMain任务,然后在taskMain中通过语句Swi_post(swi0);执行swi0(led7)任务,Swi_post()这个函数Swi_post is used to post a software interrupt regardless of the trigger value.意思是立即启动中断任务,既然软中断是由Swi_post()函数启动的,任务的运行先后顺序应该和中断优先级没有关系了啊?另外由于是Swi_post()函数启动中断,也应该和中断无关了吧?(体现不出中断作用)
2、swiParams.trigger = 1;trigger这个参数有什么用途,根据定义Initial Swi trigger value,但是我不明白这句话的意思,是触发中断吗(我看例程上的注释这么写的)

3、假设我做串口中断接收发送(应该属于软中断范畴),中断标志位(TI,RI)作为一种中断源触发中断?如何编写代码?能不能这么写?
    if(ti=1)
   swiParams.trigger = 1;



作者: 希望缄默    时间: 2014-12-24 09:51



你是完完全全没有搞清楚软件中断到底是什么~

作者: 朱宝军    时间: 2014-12-24 10:26
希望缄默 发表于 2014-12-24 09:51
你是完完全全没有搞清楚软件中断到底是什么~

我是没有你明白,你明白的难道就不能简洁的介绍一下,还在这儿装逼,你要是装逼的话还真是太嫩了点,我真是后悔上了这个论坛,本来是通过技术支持的邮箱请教问题,结果让转到这儿来,没有想到这儿有这么一个奇葩的装逼犯,以后也不想着在这儿寻求支持了,算我倒霉,看看整个论坛的回复,有几条有价值的信息

作者: 希望缄默    时间: 2014-12-24 10:38
朱宝军 发表于 2014-12-24 10:26
我是没有你明白,你明白的难道就不能简洁的介绍一下,还在这儿装逼,你要是装逼的话还真是太嫩了点,我真 ...

你这么没教养 怪不得什么都不会~

作者: Lewis    时间: 2014-12-24 19:55
1、软件中断时通过在程序中调用SWI函数来触发,我们一般会在硬件中断中发布软件中断。优先级:
HWI>SWI>TSK>IDL,软件中断用于处理那些时间限制比任务线程严格,但比硬件中断宽松的作业,SWI可以使得HWI可以将一些不太关键的处理交给一个优先级比它低的SWI来完成,从而减少CPU在中断服务程序中花费太多时间而影响其他硬件中断的执行。
2、使用Swi_post来发布软件中断可以忽略这个参数swiParams.trigger = 1;,这个参数不产生影响
3、串口中断可以参考starterware的历程来移植






欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4