首页 > 代码库 > 电表程序的几个知识点
电表程序的几个知识点
1、中断
1.1如果要使用某个中断,首先需要用这个函数,配置抢占优先级和响应优先级。
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
这里的参数,就是设置抢占优先级和响应优先级的位数。
第一, 如果两个中断的抢占优先级和响应优先级都是一样的话,则看哪个中断先发生就先执行;
第二, 高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。而抢占优先级相同的中断,高优先级的响应优先级不可以打断低响应优先级的中断。
1.2 配置某个中断的参数
//Usart1 NVIC 配置 NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0 ;//抢占优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //响应优先级 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ使能 NVIC_Init(&NVIC_InitStructure); //初始化NVIC寄存器
1.3 确定具体的中断方式
比如串口中断,会有很多种中断源,这个函数就是确认具体的中断源。
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);// 串口接收中断
电表程序的几个知识点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。