热度 3
2021-5-9 23:12
1669 次阅读|
0 个评论
1.编写片上外设的正常工作的程序 将片上外设的功能配置OK(在查询方式下能够工作) 2和3只需要设置一次,所以在片上外设的初始化函数中编写 2.开启NVIC(在core_cm3.h或 core_cm4.h中找NVIC开头的函数 ) step1:设置优先级分组 step2:合成优先级并使用一个变量接收函数的返回值 step3:设置优先级到这个片上外设中 step4:使能这个片上外设的NVIC控制器 3.开启这个片上外设的模块级中断使能(在stm32提供的F1系列或F4系列的手册中的对应片上外设的寄存器中找) step1: 根据需要这个片上外设的各个中断使能位 4.编写中断服务函数 step1:清要实现的功能的必要的标志位 step2:把要在中断中执行的操作写在函数体中 以USART为例 1.正常初始化设备 2.之后将中断的步骤添加进去 NVIC_SetPriorityGrouping(7-2); NVIC_SetPriority(USART1_IRQn,NVIC_EncodePriority(7-2,2,1)); NVIC_EnableIRQ(USART1_IRQn); CR1 |= (1<<5); 3.编写中断服务函数 void USART1_IRQHandler(void) { SR &= (1<<5)!=0) { DR; } }