打印

中断服务程序

[复制链接]
999|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
历史暴君|  楼主 | 2017-6-30 23:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
中断是嵌入式系统中重要的组成部分,但是在标准C中不包含中断。许多编译开发商在标准C上增加了对中断的支持,提供新的关键字用于标示中断服务程序(ISR),类似于__interrupt、#program interrupt等
沙发
历史暴君|  楼主 | 2017-6-30 23:27 | 只看该作者
当一个函数被定义为ISR的时候,编译器会自动为该函数增加中断服务程序所需要的中断现场入栈和出栈代码。

使用特权

评论回复
板凳
历史暴君|  楼主 | 2017-6-30 23:28 | 只看该作者
不能返回值;

使用特权

评论回复
地板
zb0830| | 2017-6-30 23:28 | 只看该作者
不能向ISR传递参数;

使用特权

评论回复
5
zb0830| | 2017-6-30 23:28 | 只看该作者
ISR应该尽可能的短小精悍;

使用特权

评论回复
6
zb0830| | 2017-6-30 23:29 | 只看该作者
printf(char * lpFormatString,…)函数会带来重入和性能问题,不能在ISR中采用

使用特权

评论回复
7
comeon201208| | 2017-7-26 22:07 | 只看该作者
zb0830 发表于 2017-6-30 23:29
printf(char * lpFormatString,…)函数会带来重入和性能问题,不能在ISR中采用

这个说的是,需要注意的

使用特权

评论回复
8
vivilzb1985| | 2017-7-30 21:54 | 只看该作者
历史暴君 发表于 2017-6-30 23:27
当一个函数被定义为ISR的时候,编译器会自动为该函数增加中断服务程序所需要的中断现场入栈和出栈代码。 ...

这个是中断服务程序自定义的?

使用特权

评论回复
9
vivilzb1985| | 2017-8-15 22:07 | 只看该作者
这个是一一对应的,,每一个中断服务程序会对应一个中断的。。

使用特权

评论回复
10
vivilzb1985| | 2017-8-15 22:08 | 只看该作者
而每一个中断的都会有相应的地址进行统一管理的。

使用特权

评论回复
11
vivilzb1985| | 2017-8-15 22:11 | 只看该作者
访问某个中断服务程序,就会根据其对应的地址进行调用的。

使用特权

评论回复
12
firstblood| | 2017-8-16 20:05 | 只看该作者
这个关键字是非常重要的,每一个中断服务程序都一样。

使用特权

评论回复
13
smilingangel| | 2017-8-20 21:27 | 只看该作者
中断程序的应用是必要的。

使用特权

评论回复
14
comeon201208| | 2017-8-23 22:32 | 只看该作者
这些不是很明白的

使用特权

评论回复
15
angerbird| | 2017-8-23 23:08 | 只看该作者
ISR中不要用延时函数的

使用特权

评论回复
16
baimiaocun2015| | 2017-8-25 22:34 | 只看该作者
这个关键字是很重要的,在库文件里面都会定义好的。

使用特权

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

本版积分规则

35

主题

312

帖子

0

粉丝