中断函数可以不用和启动文件的函数名不一样,但是要重新定义下:
#define Uart232_IRQHandler USART1_IRQHandler
第二个问题
PB6满足中断条件后,中断标志位置位,如果寄存器中允许中断的话,程序会自动跳转到EXTI9_5_IRQHandler函数
这两处的名称必须一致,如果不一致,程序在连接的过程中就会提示出错。当然这个名称不一定必须是启动文件中的名称,可以自己修改,但是必须要保证启动文件中的名称和自己实现的中断服务函数名称一致。
1、函数名其实是个地址
2、不修改启动文件就不能改函数名
3、为什么是这个函数名?因为在启动文件定义了这个中断的地址(函数)
4、修改启动文件地址(函数名),就可修改函数名
在启动文件里面,写了中断向量表的,当你初始化了相关中断后,如果中断被触发了,会相应,这个中断函数是weak,如果你定了就会去相应你写的哪个函数。
必须一样,这样编译器才会将对应的函数放到那个地址,编译器对s文件的那些终端函数会分配固定地址的
这个中断是由中断控制器,也就是那个NVIC来触发的,属于硬件动作,它会将CPU拖进中断模式,CPU跳转到对应的地址去执行中断函数
一定要一样的,如果不一样 ,中断找不到中断函数,会进到错误中断中的。
中断满足后,中断标志置位,当CPU查询到这个中断标志有效时,就跳到中断函数中执行。