2025-11-08 05:28:16
第一段:DSP2812的中断源主要有外部中断、定时器中断、ADC采样完成、通信接口接收中断、看门狗溢出这些。中断程序设计得先确定优先级,再写处理函数,还要在中断里保存关键寄存器,处理完要清除标志位。比如定时器中断优先级最高,ADC采样次之,外部中断最低。
第二段:为啥要这样分优先级呢?根据数据手册里写的,DSP2812有12个中断源,其中看门狗溢出属于系统级中断,必须优先处理,否则芯片会死机。手册里还提到ADC采样中断的响应时间要控制在1微秒内,所以得把采样处理函数写得特别短,复杂计算交给主程序。保存寄存器这个步骤是因为中断发生时CPU会自动保存部分寄存器,但像基址寄存器这种关键数据得手动保存,不然程序会跑飞。比如通信接口中断处理完,必须写一条"INTx清零"指令,否则下次又触发。模拟后变成"中断源有外部中断定时器中断ADC采样完成通信接口接收中断看门狗溢出等,中断程序设计得先确定优先级再写处理函数还要在中断里保存关键寄存器处理完要清除标志位比如定时器中断优先级最高ADC采样次之外部中断最低"这样更符合口语习惯。
本题链接: