问题如下 1、如下图,串口波特率计算这里,为什么计算DIV_Fraction时,需要把小数*16啊?以前我就按部就班这么做了,原因一直没想清楚。 2、STM32 的外部中断 0~4 都有单独的中断服务函数,但是外部中断 5~9、10~15都是共用一个,比如,void EXTI9_5_IRQHandler(void), 那么怎么区分到底是哪个中断啊?
汗,这个是中断,判断端口没用的吧。
1. 这个是UART以16倍速采样信息,能减少误差,硬件实现的,按部就班就好
2. 需要在中断函数里面检测中断源,根据中断源执行相应操作,具体可以检测EXTI->PR寄存器来判断
hal库里有这样一个宏定义,供参考:
2、可以读取每隔IO的中断标志位
怎么没有用,5-9虽然占用的同一个中断向量,但是每个端口还是有自己的中断标志的
大体明白了