STM8L中等容量有25个模拟通道(1个快速通道1us和24慢速通道)。中等+和高密度器件有28个通道(4个快速1us和24个慢速通道)。内部有两个通道连接带温度触发器和内部电压参考电压。可以配置为单次和连续模式。可以设置ADC时钟预分频比,模拟看门狗,DMA功能,可以设置为6/8/10/12位转换精度。
今天我们测量下VDD参考电压,是通过测量VREF电压换算出来的,换算的方法有两种:
第一种比较准确,VREF是出厂做的校准,存储在FLASH当中。计算公式为:VDD=(VREF出厂值/VREF实际测量值)×VDD出厂值
第二种方法是假定理论上VREF=1.224V,计算公式为:
VDD=(1.224/VREF实际测量值)×4096
一般我们采用第二种方法测量VDD,测量步骤为下:
1、使能ADC时钟
CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE);
2、出现初始化ADC1
ADC_DeInit(ADC1);
3、设置ADC通道,精度,转换时间
ADC_Init(ADC1, ADC_ConversionMode_Single,ADC_Resolution_12Bit, ADC_Prescaler_2);
ADC_SamplingTimeConfig(ADC1, ADC_Group_SlowChannels, ADC_SamplingTime_384Cycles);
4、使能
ADC_VrefintCmd(ENABLE);
ADC_Cmd(ADC1, ENABLE);
ADC_ChannelCmd(ADC1, ADC_Channel_Vrefint, ENABLE);
5、测量8次取平均值
u16 VREF_Value(void)//测量内部参考电压VREF值,测量8次平均
{
uint8_t i;
uint16_t res=0;
for(i=8; i>0; i--)
{
/* start ADC convertion by software */
ADC_SoftwareStartConv(ADC1);
/* wait until end-of-covertion */
while( ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == 0 );
/* read ADC convertion result */
res += ADC_GetConversionValue(ADC1);
}
return (res>>3);
}
关键字:STM8L 探索套件 学习笔记
引用地址:
STM8L探索套件学习笔记-测量VDD(七)
推荐阅读最新更新时间:2024-03-16 14:40
Freescale MC9S08AW60汇编学习笔记(三)
前面给出了一个实现加法的小程序,但是如果要求变得更复杂、步骤变得更繁琐,这时又该怎么办呢??我们可以使用子程序来解决这个问题,这里给个例子:若字变量Data1和Data2分别存放着两个16位无符号数,编写求两个数之和的子程序,并将和存放到Sum字节存储空间中。代码如下: org $0070 data1 ds.b 2 data2 ds.b 2 sum ds.b 3 org $1860 Add_Pro: clc ;清空进位标志位 clrx clrh clra mov #$00,data1 mov #$04,data1+1 mov #$00,data2 mov #$28,data2+1 l
[单片机]
STM32学习笔记(6):LCD的显示
1.LCD/LCM的基本概念 液晶显示器(Liquid Crystal Display: LCD)的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。 LCM(LCD Module)即LCD显示模组、液晶模块,是指将液晶显示器件,连接件,控制与驱动等外围电路,PCB电路板,背光源,结构件等装配在一起的组件。 在平时的学习开发中,我们一般使用的是LCM,带有驱动IC和LCD屏幕等多个模块。 2.FSMC的基本概念 在STM32上开发LCD显示,可以有两种方式来对LCD进行操作,一种是通过普通的IO口,连接LCM的相应引脚来
[单片机]
STM32学习笔记--按键输入实验
//按键初始化函数 //特别注意:在该函数之后,JTAG将无法使用(SWD也无法使用) //如果想JTAG仿真,可以屏蔽该函数。 //PA0.13.15 设置成输入 void KEY_Init(void) { RCC- APB2ENR|=1 2; //使能PORTA时钟 GPIOA- CRL&=0XFFFFFFF0;//PA0设置成输入 GPIOA- CRL|=0X00000008; GPIOA- CRH&=0X0F0FFFFF;//PA13,15设置成输入 GPIOA- CRH|=0X80800000; GPIOA- ODR|=1 13; //PA13上拉,PA0默认下拉 GPIOA- ODR|=1 15; //
[单片机]
基于STM32的USB枚举过程学习笔记(二)
接下来介绍USB设备的枚举,枚举就是从设备读取各种描述符信息,这样主机就可以根据这些信息来加载合适的驱动,从而知道是什么样的设备,如何进行通信。 枚举过程使用的是控制传输。控制传输可以保证数据的正确性。控制传输分三个过程:建立过程,可选数据过程及状态过程。 下面介绍枚举的详细过程。 USB主机检测到USB设备插入后,就会先对设备复位,并通过一个带数据过程的控制传输完成设备描述符的获取。 第一步,USB主机会往地址0的端点0发送获取设备描述符的标准请求,发送请求属于控制传输的建立过程。建立过程是一个事务。首先是令牌包,即主机发送一个SETUP令牌,令牌的格式如上一篇描述的那样,有令牌的PID,地址和端点号等;其次是
[单片机]
ST发布首批基于超低功耗技术平台的8位微控制器
意法半导体(ST)日前宣布,首批整合其高性能8位架构和最近发布的超低功耗创新技术的8位微控制器开始量产。以节省运行和待机功耗为特色,STM8L系列下设三个产品线,共计26款产品,涵盖多种高性能和多功能应用。
设计工程师利用全新的STM8L系列可提高终端产品的性能和功能,同时还能满足以市场为导向的需求,例如,终端用户对节能环保产品的需求,便携设备、各种医疗设备、工业设备、电子计量设备、感应或安保设备对电池使用周期的要求。设计人员将选择STM8L这类超低功耗的微控制器,以符合低功耗产品设计标准,如“能源之星”、IEA的“1W节能计划”或欧盟的EuP法令,。
“意法半导体在技术创新上投入了大量资金,发展出支持STM8
[单片机]
STM8L151C8学习笔记0:建工程
学习单片机时,搭建环境,建工程,添加文件等是第0步,我这里步骤是从 StrongerHuang公众号里的IAR系列教程中的 EWSTM8系列教程02学习的。 准备工作 1.下载安装IAR For STM8:软件官网下载、安装和破解教程 2.下载STM8固件包:官网下载 或 百度下载 提取码:v3yw 3.新建工程文件夹 /-------Temp //工程名 /------App //存放主体源文件 /------Bsp //存放HardWare驱动文件 /------Doc //存放Readme说明文档 /------Libraries //存放固件库源文件 /------
[单片机]
基于STM8L的液晶显示RTC
完整代码在云盘里 http://pan.baidu.com/s/1pLB4OWj /** ****************************************************************************** * @file Project/Template/main.c * @author MCD Application Team * @version V1.3.0 * @date 07/14/2010 * @brief Main program body **********************************************************
[单片机]
arm学习笔记011之arm-linux-gcc的命令参数介绍
我们需要编译出运行在ARM平台上的代码,所使用的交叉编译器为 arm-linux-gcc。下面将arm-linux-gcc编译工具的一些常用命令参数介绍给大家。 在此之前首先介绍下编译器的工作过程,在使用GCC编译程序时,编译过程分为四个阶段: 1. 预处理(Pre-Processing) 2. 编译(Compiling) 3. 汇编(Assembling) 4. 链接(Linking) Linux程序员可以根据自己的需要让 GCC在编译的任何阶段结束,以便检查或使用编译器在该阶段的输出信息,或者对最后生成的二进制文件进行控制,以便通过加入不同数量和种类的调试代码来为 今后的调试做好准备。和其它常用的编译器一样,GCC也提供了
[单片机]