刚上手CH573,头两天搞中断头大的要死,死活调试不通。今早忽然间发现了问题所在:之前用惯了ST,想把所有中断服务函数放在一个irq.c文件中,这样比较清晰。但是我发现
【如图①】只要把SPI0的中断服务函数放在irq.c中,编译器不会报错,但是运行起来直接跑飞,也可能是中断一直卡住未响应【如图①】注意irq.c中还有一个SysTick中断,在①的情况下无法工作,但是②时irq.c的SysTick中断是正常的
【如图②】只要把SPI0的中断服务函数原封不动的剪切黏贴到另外一个.c文件中,那么运行起来就正常了【如图②】
整个过程编译器未报错,使用MounRiver v1.42编译器,优化等级最低
还有个问题,这芯片在线调试功能是基本没法用吗?随便debug进去点开个寄存器想看值弹出来一堆错误。。。