合泰中断c语言程序代码,盛群c语言应用中断范例

本文介绍了合泰单片机使用C语言进行中断服务处理的方法。强调中断服务函数的定义规则,如返回类型为void interrupt,不带参数,通过@指定中断向量。同时指出不应在中断服务函数内部开启同一中断,以防止重复进入,并应注意不同中断服务函数间的资源冲突。还提及了编译器对暂存器的管理以及在中断服务函数中节省程序编码大小的技巧。
摘要由CSDN通过智能技术生成

合泰单片机C语言应用中断的范例,有需要的可以自行下载。

本章介绍以C 语言程式处理微控制器的中断事件。 第四章 4.7 中断服务函式 中说明如何

撰写中断服务函式以及注意事项。 必须遵照下列的规则来定义中断服务函式

→ 函式的返回值型态必须是 void interrupt

→ 函式不可有参数 (argument)

→ 设定中断服务函式的中断向量 (interrupt vector) 使用 @ 指定中断向量

→ 最好不要从程式的其他地方呼叫中断服务函式

→ 不要在中断服务函式内做开启本中断功能 (interrupt reentrance) 相同的中断不要重复进入

格式

void interrupt ISR_TImer(void) @ 0x08

{

}

// 定义 : 返回值的型态, 没有参数, 设定中断向量为 0x08

C 编译器会根据中断服务函式对暂存器的需要, 在进入中断服务函式后, 将这些暂存器的内

容储存。 等执行完中断服务函式的工作后, 再恢复先前所储存的暂存器内容。 最后回要被中

断的地方继续执行, 同时中断功能也打开, 允许中断产生。 如果为了节省程式编码的大小, 在

中断服务函式中也可不要保存某些暂存器, 例如 BP, MP0, MP1.可参考第四章的 4.9 节关于

#pragma 的说明及使用。 在中断服务函式中不要将自身的中断功能再打开, 避免重复进入同一

个中断服务函式。 但是可以打开其他的中断功能, 只是要特别注意两个中断服务函式有无呼叫

到相同函式的状态, 以致发生变数共用造成资料错误的风险。

1db32a38dd4cd18307fe34470a849022.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值