中断程序在一个子函数中,不需要手动调用,当中断来临时自动调用
几乎所有的外设(EXIT TIM ADC USART SPI I2C RTC等)都能申请中断,使用NVIC内核外设【都不用开启时钟】(叫号系统)统一管理
中断优先级16个

一个外设可能占用多个中断通道(n)
抢占优先级:可抢占,嵌套
响应优先级:插队到第二个,等第一处理完后
优先级,值越小越高。若是优先级完全一样,则按照中断向量表里面的排序确认优先级


PA0与PB0 或 PB1与PA1不能同时使用
中断响应时到CPU,事件响应时到其他外设(ADC.DMA等)

EXTI与NVIC默认时钟就是打开的
AFIO复用IO口


外部中断处理那些转瞬即逝的事件,比如红外。 按键的话不推荐(因为不好处理抖动),可以用主循环读取,或者定时器中断读取,
旋转编码器,测位置、速度或旋转方向,
红外对射式的通过光栅格得到高低电平,方波的个数就是转过的角度,方波的频率就是转速,使用外部中断捕获方波的边缘就可以判断位置和速度,但是只有一路输出,就不能判断正转还是反转
旋转编码器,通过金属触点和栅格来产生高低电平,再通过两路的输出波形(相位相差90度的正交波形)来判断正反转 【适合速度慢的场合】
高速的可用霍尔传感器
代码实现