中断

发布时间 2023-08-14 21:46:10作者: 磕伴

中断程序在一个子函数中,不需要手动调用,当中断来临时自动调用

几乎所有的外设(EXIT  TIM  ADC USART SPI  I2C RTC等)都能申请中断,使用NVIC内核外设【都不用开启时钟】(叫号系统)统一管理

中断优先级16个

 一个外设可能占用多个中断通道(n)

抢占优先级:可抢占,嵌套

响应优先级:插队到第二个,等第一处理完后

优先级,值越小越高。若是优先级完全一样,则按照中断向量表里面的排序确认优先级

 

 PA0与PB0 或 PB1与PA1不能同时使用

中断响应时到CPU,事件响应时到其他外设(ADC.DMA等)

EXTI与NVIC默认时钟就是打开的 

AFIO复用IO口

 

 外部中断处理那些转瞬即逝的事件,比如红外。 按键的话不推荐(因为不好处理抖动),可以用主循环读取,或者定时器中断读取,

旋转编码器,测位置、速度或旋转方向,

红外对射式的通过光栅格得到高低电平,方波的个数就是转过的角度,方波的频率就是转速,使用外部中断捕获方波的边缘就可以判断位置和速度,但是只有一路输出,就不能判断正转还是反转

旋转编码器,通过金属触点和栅格来产生高低电平,再通过两路的输出波形(相位相差90度的正交波形)来判断正反转    【适合速度慢的场合】

高速的可用霍尔传感器

代码实现