根据st官方手册提供描述不难看出,ADC模拟看门狗其实就是用户可以设置一个AD值上下限值,然后打开此模拟看门狗中断开关,那么就会在检测到当IO输入转换AD值小于下限值或大于上限值时进入相应的中断函数。大致就是这么一个功能实现过程。
根据表63 可以看出,模拟看门狗可以设置为多通道和单通道模式,即可以通过设置相应的寄存器位来选择某一通道或多通道打开模拟看门狗检测。
那么明白了以上这些基础规则,那么我就要根据官方提供的库文件及里面的使用说明来配置相应函数来使用模拟看门狗。
打开此文件后下一步:
看!在这个官方提供的.c文件里面已经有介绍关于模拟看门狗使用的详细介绍的,只要理解了英文描述的意义,结合之前看数据手册关于ADC模拟看门狗的描述就会很快的完成模拟看门狗的配置程序。
下面即是完成的模拟看门狗配置函数:
最后还不要忘记加入打开看门狗中断的函数:
ADC_ITConfig(ADC1,ADC_IT_AWD,ENABLE);
完整的配置过程如下:
void NVIC_Config(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannelPriority = 3; //先占优先级1级
NVIC_InitStructure.NVIC_IRQChannel = ADC1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能
NVIC_Init(&NVIC_InitStructure);
}
/*
模拟看门狗配置函数
单通道:7
*/
void ADC_WatchdogConfig(void)
{
ADC_AnalogWatchdogSingleChannelConfig(ADC1,ADC_AnalogWatchdog_Channel_7);
ADC_AnalogWatchdogThresholdsConfig(ADC1,4050,0);
ADC_AnalogWatchdogCmd(ADC1,ENABLE);
ADC_AnalogWatchdogSingleChannelCmd(ADC1,ENABLE);
}
以上就是对ADC模拟看门狗的使用做了一个小结,当然只是用了其中一部分功能,如有纰漏,请您指出,不胜感谢。
通过此次模拟看门狗的使用,我更加明白要利用官方资源的重要性,解铃还须系铃人,这句话非常适合做技术的人,当遇见问题时,无从下手或不知怎么样下手才会效率高的解决问题时,这时就应该想到生产厂家才是解决问题的源头关键,那里有相当丰富的使用说明文档及工具资源,这样就避免了在网络上找不到自己用到的相关应用时而苦恼无助的情况,谨以此心得与读者共勉!
关键字:STM32f030c8t6 单片机 ADC 模拟看门狗
引用地址:
STM32f030c8t6单片机ADC模拟看门狗使用
推荐阅读最新更新时间:2024-03-16 16:02
自制简单实用的51单片机开发板
一、电路原理 电路如下图所示。89S52单片机的P0口外接8x1kΩ的上拉排阻与1602字符型液晶屏的数据线相连,P2.5、P2.6、P2.7与1602字符型液晶屏的三根控制线相连,组成系统的显示部分;P1口与16个按键开关相连,组成4×4行列式键盘;J4为RS232通信插座,一端接MAX232,一端通过串行通信电缆与电脑的串口相连,以实现单片机系统与电脑间的串行通信,单片机的串行通讯口P3.0、P3.1通过J1接至MAX232.J5、J6将单片机各管脚引出,以方便扩展使用;K17为复位开关,Dl、D2分别为复位和电源指示灯。 二、PCB制作及注意事项 PCB板如右图所示。黑线部分为底层,白线部分为顶层,覆铜部分为底层地。此
[单片机]
飞思卡尔16位单片机(五)——ADC模数转换模块测试
一、介绍 ADC模块的作用是将模拟的电压信号转换为CPU可以处理的数字信号。一些低端的单片机上没有ADC模块,必须使用片外的ADC芯片,才能实现模数转换的功能。而飞思卡尔的单片机一般是集成了ADC模块的,这样使用起来就很方便了。虽然片内的ADC模块采集的精度不高,但是对于一般的用途已经足够用了。 XEP100的ADC模块由模拟量前端、模拟量转换、控制部分和结果存储四部分组成。ADC工作时由CPU发出启动命令,然后经过采样、模数转换,最后将结果保存到相应的寄存器。XEP100单片机ADC模块具有如下特性: ● 8位、10位和12位三种转换模式。 ● 采样缓冲器放大功能。 ● 可编程的采样时间。 ● 左/右对齐
[单片机]
用PICC编译器开发PIC系列单片机的代码
摘要:介绍PIC系列单片机C语言的发展;以HI-TECH Software公司的HI-TECH PICC为例,介绍PICC编译器的特点和用其开发PIC系列单片机时应注意的一些问题。
关键词:PIC PICC编译器 C语言/汇编语言 Hi-Tech
引言
目前,在市场上应用最广泛的应该属于8位单片机,Microchip Technoloogy公司推出的8位PIC系列单片机,目前在国内市场上深受用户欢迎,已经逐渐成为单片机应用的新潮流;但遗憾的是,目前国内介绍它的C语言开发工具的书籍和文章却比较少,而且用的人也不多,广大的程序员在用其开发的过程中都在慢慢摸索,可能会走一些弯路。笔者最近在用PIC的C语言时就遇到了好些问题,在这
[应用]
Atmel和Lead Tech Design合作开发基于AT91CAP可定制微控制器的视频SoC
Lead Tech Design负责视频专业技术和IP构件,爱特梅尔则提供可定制微控制器解决方案 爱特梅尔公司 (Atmel Corporation) 和法国 Lead Tech Design (LTD) 宣布达成一项合作协议,将携手为其共同的客户开发视频系统级芯片 (systems-on-chip, SoC)。此项合作将以爱特梅尔的AT91CAP可定制微控制器为基础,并结合LTD的视频设计专业技术及其硬件和软件IP构件,创造双赢局面。 按照该项协议,LTD将负责直接与客户沟通,把客户的设计技术要求转换成AT91CAP可定制微控制器的金属可编程部分的网表 (netlist),并利用LTD 广泛的视频信号处理功能库组合所需的IP
[焦点新闻]
STM32-快速上手ADC
1. ADC端口映射 ADC肯定要外部输入信号的,通过IO口进行采集,IO与ADC通道的对应关系如下: 2. 配置 2.1 配置步骤 开启需要用到的ADCx时钟和对应的IO时钟 ADC模块和GPIO模块都在APB2时钟下 void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState); 配置ADCx预分频器分频系数 void RCC_ADCCLKConfig(uint32_t RCC_PCLK2); 配置需要用到的对应IO设置为模拟输入 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTyp
[单片机]
STM32单片机简易定时器PWM输出
由于RCC- CFGR时钟配置寄存器中 APB1设置为2分频,所以TIM3就是其倍频==72M 上次我发表的STM32单片机自带PWM输出实验大家可以参考学习: http://www.51hei.com/mcu/2123.html ,这次是用定时器产生的pwm. //----------------------------------定时器-----------time.c----------- #include time.h void time_init(u16 arr,u16 psc) { RCC- APB1ENR|=1 1; //TIM2定时器时钟使能 TIM3- ARR=arr; //设置重装
[单片机]
STM32基础设计(6)---ADC转换(DMA方式)
本文简单介绍了STM32F103C8,通过DMA方式读取ADC并通过串口中断向电脑端打印出当前电源ADC的值。 现在先将设计过程的主要步骤介绍如下: 1,串口配置 2,中断配置 3,DMA配置 4,ADC配置 5,中断服务函数 6,主函数 先总结下博主在这次基础设计中犯的错误,在中断初始化函数中,没有将中断通道使能,导致电脑端没有接收到数据,发现后就去检查串口初始化函数了,结果没有发现错误,而是检查了一遍代码才发现错误。发现串口无法工作后,先核查初始化函数,如果问题没有解决,第二步,如果是串口中断方
[单片机]
51单片机,点阵显示汉字(C语言)
#include #include #define uint unsigned int #define uchar unsigned char sbit SH_595=P2^1; sbit DATA_595=P2^0; sbit ST_CP_595=P2^2;//74HC595(12)-ST_CP上升沿-移位寄存器的数据进入数据存储寄存器 输出锁存器的时钟信号端口 sbit MR_595=P2^3; //74HC595(10)-MR 为0将移位寄存器的数据清0 sbit E1_154=P2^4;//74HC154(18)-E1为0开列(col)输出 显示允许 控制信号端口 uchar keynum; uchar tem
[单片机]