1,中断源状态
查看相关cpld/fpa文档,查看单个中断源的状态,每个中断源的状态是类似的。
2,中断使能
咨询硬件使用那个中断源,在确定使用那个中断源后,就需要打开相应的中断源使能。
3,中断处理函数
硬件产生中断后,cpld相对应的寄存器会采集到相应的中断,这里需要和硬件确认中断上报的时间长短,避免中断采集不到。
当采集到相应中断后,就可以做出处理,具体的处理则是由中断处理函数完成。
怎么确认中断没上报上来:
(1)中断处理函数里面加打印函数,可以根据打印数据的长短确认中断上报的时间长短来确认中断上报保存的时长,特别是掉电告警时需要抓的中断;
中断服务程序ISR需要满足如下要求:
(1)不能返回值;
(2)不能向 ISR 传递参数;
(3) ISR 应该尽可能的短小精悍;
(4) printf(char * lpFormatString,…)函数会带来重入和性能问题,不能 在 ISR 中采用。
如果是linux中断,多个中断时还有中断优先级需要设置。