ES7P003使用多个中断时报错及解决办法

问题描述:

当使用idesigner对ES7P003编程时候,有时可能会使用多个中断,但是新手在使用多个中断的时候,idesigner会出现编译报错的情况,如下图所示:

解决办法:
1.配置字中开启中断向量模式,步骤:依次选择菜单栏中项目——>属性——>设备——>配置字,找到Parameter0,将其下面的INTVEN1修改成向量中断模式,选择如下图:

2.修改Support interrupt vectors 为TRUE,步骤如下:依次选择菜单栏中项目——>属性——>编译,找到hrcc,将其下面的Support interrupt vectors 为TRUE,选择如下图:

按上述步骤修改后,即可解决使用多个中断时编译器报错的情况。

原因:ESSemi即东软载波的8位单片机的中断,默认使用的是中断模式,只支持 1 个中断入口,即 0004H 入口地址,不支持中断优先级和中断嵌套。即所有的中断共用这1个中断入口,然后在中断函数函数里判断中断标志位来判断发生了什么中断。

如果用户不想使用默认的中断模式,可以按上述步骤修改,即可使用多个中断入口的方式,中断函数编写方式参考官网的例程即可。