WCH沁恒单片机
直播中

王岩

7年用户 807经验值
私信 关注
[问答]

请问CH573的中断服务函数怎么放有硬性规定吗?

刚上手CH573,头两天搞中断头大的要死,死活调试不通。今早忽然间发现了问题所在:之前用惯了ST,想把所有中断服务函数放在一个irq.c文件中,这样比较清晰。但是我发现

【如图①】只要把SPI0的中断服务函数放在irq.c中,编译器不会报错,但是运行起来直接跑飞,也可能是中断一直卡住未响应【如图①】注意irq.c中还有一个Systick中断,在①的情况下无法工作,但是②时irq.c的SysTick中断是正常的

【如图②】只要把SPI0的中断服务函数原封不动的剪切黏贴到另外一个.c文件中,那么运行起来就正常了【如图②】

整个过程编译器未报错,使用MounRiver v1.42编译器,优化等级最低


还有个问题,这芯片在线调试功能是基本没法用吗?随便debug进去点开个寄存器想看值弹出来一堆错误。。。
  
  









  
  

回帖(1)

李岩

2022-9-1 10:44:39
你好,可能是ld文件的问题,你把ld文件更新试一下。

Link.rar
解压后替换 EVTEXAMSRCLd目录下的ld文件。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分