fa_y1SSa 发表于 2026-4-28 14:23:17

stc32g12k128的huge模式app的can中断总是死机

采用stc32g12k128cpu,
1、之前单纯的一个app程序,里面有can中断,运行正常,没问题。

2、现在采用,boot+app,boot大小定为8k, app采用huge模式,现在app也能运行正常,但只要app一接收can中断数据,程序就死机了。


还都是模仿“使用STC的IAP系列单片机 开发自己的ISP程序”,以及参考网友的设置,都没查出问题。
void CANBUS2_Interrupt(void) interrupt CAN2_VECTOR


        c_arTemp = CANAR;                                // 保存CANAR现场,避免主循环里写完 CANAR 后产生中断,在中断里修改了 CANAR 内容
        c_store = AUXR2;                                // 保存AUXR2现场

。。。


        AUXR2 = c_store;                                // 恢复AUXR2现场
        CANAR = c_arTemp;                                // CANAR现场恢复


3、然后把app的can采用查询方式,又正常了,不死机了,
问题:请问这是因为什么,需要改什么
(另外我烧录程序时用stc官方的isp软件,先烧录boot,再烧录app)

狂热主宰 发表于 2026-4-29 00:17:11

可尝试其它中断
可能问题也有

乘风飞扬 发表于 2026-4-29 09:02:00

官网32G-CAN在线升级例子里面的用户APP程序默认就是使用HUGE模式,也用到CAN中断。
建议先用例子测试,功能验证正常后再进行修改或者移植。
https://www.stcai.com/zxsj

张辉华 发表于 2026-5-15 09:01:25

我24K的boot,跳app main运行了一段,好像也死在中断里,还没解决,你的解决没
页: [1]
查看完整版本: stc32g12k128的huge模式app的can中断总是死机