Cute 发表于 2022-8-11 07:31:06

Keil C51/C251 中断向量号拓展插件 解决超过31号中断无法通过编译的办法


随着芯片功能越来越多,部分C51/C251指令集的单片机中断的向量号已超出31。
中断号超过31的C语言中断服务程序不能直接用interrupt声明,可通过此插件解决。
拓展前只能使用0~31号中断,拓展后可使用0~254号中断。

这是一个32号的中断程序(需要拓展后才可以编译):
#include "reg51.h"
#include "intrins.h"
void main() {
        while (1);
}

void interrupt32() interrupt 32 {
        _nop_();
}

使用以下插件修改:

支持C51、C251环境编译器,汇编语言不受影响。
修改失败请跟帖回复,C251为32位51单片机编译器,没有安装的可以忽略。

插件会自动修改并备份以下文件到 .BK1 后缀名:
.\C51\BIN\C51.EXE
.\C251\BIN\C251.EXE

页: [1]
查看完整版本: Keil C51/C251 中断向量号拓展插件 解决超过31号中断无法通过编译的办法