STM32单片机的模拟看门狗的库函数设置.doc

上传人:白大夫 文档编号:3273701 上传时间:2019-08-07 格式:DOC 页数:2 大小:14.50KB
返回 下载 相关 举报
STM32单片机的模拟看门狗的库函数设置.doc_第1页
第1页 / 共2页
亲,该文档总共2页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《STM32单片机的模拟看门狗的库函数设置.doc》由会员分享,可在线阅读,更多相关《STM32单片机的模拟看门狗的库函数设置.doc(2页珍藏版)》请在三一文库上搜索。

1、STM32单片机的模拟看门狗的库函数设置ADC的模拟看门狗用于检查电压是否越界。他又上下两个边界,可分别在寄存器ADC_HTR和ADC_LTR中设置。库函数是使用ADC_AnalogWatchdogThresholdsConfig设置的,无论是常规通道还是注入通道,都非常简单。当模拟看门狗检测到电压高于上限或者低于下限时将会产生看门狗中断。捕获这个中断,可以做出一些应对措施。数据手册上特别之处的一个东西:模拟看门狗说使用的比较数据与ADC_CR2寄存器中设置的数据对齐方式无关。看门狗比较是在数据对齐之前完成的。先进行看门狗比较,再将数据放入ADC_DR数据寄存器。在ST的库中,只有简单的三个与

2、看门狗相关的函数:void ADC_AnalogWatchdogCmd(ADC_TypeDef* ADCx, uint32_t ADC_AnalogWatchdog);void ADC_AnalogWatchdogThresholdsConfig(ADC_TypeDef* ADCx, uint16_t HighThreshold,uint16_t LowThreshold);void ADC_AnalogWatchdogSingleChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel);使用ADC_AnalogWatchdogThreshol

3、dsConfig设置触发看门狗的上下限使用ADC_AnalogWatchdogSingleChannelConfig配置要使用模拟看门狗的通道配置完成后使用ADC_AnalogWatchdogCmd启动模拟看门狗。我写的函数很简单,就这么三行。将模拟看门狗加在ADC1的CH1上。代码如下:void ADC_WatchdogConfig(void) ADC_AnalogWatchdogSingleChannelConfig(ADC1,ADC_Channel_0); ADC_AnalogWatchdogThresholdsConfig(ADC1,1500,0xFFF); ADC_AnalogWat

4、chdogCmd(ADC1,ADC_AnalogWatchdog_SingleRegEnable);NVIC中初始化模拟看门狗:void NVIC_Config(void) NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); /设置中断优先级分组 NVIC_InitStructure.NVIC_IRQChannel = ADC_IRQn; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_InitStructure.NVIC_IRQChannelPreempTIonPriority = 0x01

5、; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00; NVIC_Init(NVIC_InitStructure);捕获看门狗中断:void ADC_IRQHandler(void) ADC_ITConfig(ADC1,ADC_IT_AWD,DISABLE); if(SET = ADC_GetFlagStatus(ADC1,ADC_FLAG_AWD) ADC_ClearFlag(ADC1,ADC_FLAG_AWD); ADC_ClearITPendingBit(ADC1,ADC_IT_AWD); printf(ADC AWD is happened.rn); ADC_ITConfig(ADC1,ADC_IT_AWD,ENABLE);当然,最后别忘了打开ADC的中断:ADC_ITConfig(ADC1,ADC_IT_AWD,ENABLE);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1