2019-07-20 18:21发布
Gene 发表于 2016-12-6 10:02 NVIC_Init()在misc.c里面 EXTI_Init()在stm32f4xx_exti.c 两个初始化的内容也不一样
zuozhongkai 发表于 2016-12-6 09:58 NVIC_Init()是用来设置中断有优先级的,EXTI_Init()是用来配置外部中断相关寄存器的!EXTI_Init()里面也要 ...
Gene 发表于 2016-12-6 10:00 既然串口通信使用了外部中断,为什么不需要EXTI_Init()和“stm32f4xx_exti.c”啊? 不懂这一点
最多设置5个标签!
看错了,EXTI_Init()函数是库里面的,用来根据你设置的参数配置外部中断相关寄存器的,里面没有用NVIC_Init()。EXTI_Init()和NVIC_Init()是两个不同功能的函数!NVIC_Init()用来设置某个中断的优先级,比如串口中断,定时器中断,外部中断等等!但是串口中断、定时器中断、外部中断等这些中断它们还需要其他的设置,比如外部中断就需要设置中断引脚,IO复用什么的。这个时候就是由函数EXTI_Init()来完成的。还有,说谁的串口中断使用了外部中断!你已经彻底混乱了。去看看参考手册吧,串口的中断章节和外部中断章节
既然串口通信使用了外部中断,为什么不需要EXTI_Init()和“stm32f4xx_exti.c”啊?
不懂这一点
NVIC_Init()在misc.c里面
EXTI_Init()在stm32f4xx_exti.c
两个初始化的内容也不一样
恩,串口没有外部的中断吧,外部中断是外届触发的
一周热门 更多>