STM8S103之ADC

2020-02-12来源: eefocus关键字:STM8S103  ADC

如何快速了解ADC,查看Reference manual中ADC registers章节,初步了解到ADC


  1. ADC buffer register和ADC data register

  2. Analog Watchdog + Analog Watchdog High Voltage threshold+

  3. EOC,完成采样后可以触发中断

  4. Continuous conversion和single conversion,Scan Mode

  5. External event触发?

  6. 错误状态Overrun Flag

  7. ADC schmitt trigger

  8. 左右对齐方式

  9. ADC时钟


然后进行通关,理解ADC这8个方面的知识,这时为了快速弄懂,refer to STM32开发指南V1.2中关于ADC的章节,然后弄懂了


  1. 模拟看门狗允许应用程序检测输入电压是否超出用户定义的高/低阈值

  2. Single conversion指的是只执行单次,对应的是Continous conversion,Scan mode扫描模式指的是如果设置了几个通道,依次扫描,此时最后一个通道完成才会产生EOC中断

  3. External event触发,指的是例如时钟event触发ADC中断,对应的是软件触发,软件程序中使能触发

  4. ADC时钟相关的有,ADC最大转换速率、ADC时钟,并且对于STM32系列,转换时间=采样时钟+12.5个ADC时钟周期(自己理解12.5周期为ADC处理需要的时间)


然后阅读STM8S_StdPeriph_Lib中关于ADC的例子程序,了解一般如何应用,可以看出ADC的设置还是比较简单的其中外部触发关闭

然后带着尚未解决的疑惑再次阅读Reference Manual


  1. ADC有5个通道,分别为2-6通道,没有1通道

  2. ADC buffer register和ADC data register,这两个register的区别不大。buffer register是缓冲

  3. External trigger有2个事件,一个是ADC_ETR的上升沿触发,查看STM8S103的datasheet,知道只有PB4和PD3;另外一个是Internal TIM1 TRGO event(待详细补充)

  4. ADC schmitter trigger是关于IO口上的触发器,ADC可以配置关闭AD相关IO口的触发器以节省能耗

  5. ADC时钟只介绍了ADC时钟的分频因子,最小卫2分频,关于转换速率没有提及

  6. 左右对齐

然后测试AD,AD测试的环境搭建,很简单,直接用直流源的正负分别接MCU的GND和AD输入,因为电源为3.3V,将直流源调整至3.3V左右,观测AD值,如果采样AD值为1023左右(stm8S103的AD为10位),则表明AD功能正常。

关键字:STM8S103  ADC 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic487935.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM8的ADC的五种工作模式
下一篇:stm8s使用问题总结2——AD转换

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM8S库文件判断指定IO输入引脚电平GPIO_ReadInputPin有问题
/**  * @brief  Reads the specified GPIO input data pin.  * @param  GPIOx : Select the GPIO peripheral number (x = A to I).  * @param  GPIO_Pin : Specifies the pin number.  * @retval BitStatus : GPIO input pin status.  */BitStatus GPIO_ReadInputPin(GPIO_TypeDef* GPIOx, GPIO_Pin_Ty
发表于 2020-02-08
使用STM8S105K4T6C 模数转换器的12通道
分享今天遇到的一个stm8s模数转换的小问题~~~这款单片机一共提供了7个模数转换通道,他们分别是AIN0-AIN5和AIN12。stm8s105k4t6c的管脚图其中AIN0-AIN5的配置和使用方法如下,配置为连续转换、扫描模式(代码写的不好,大神请见谅~):[mw_shl_code=c,true]/*---------------------------------包含头文件---------------------------------*/#include "adc.h" #define        ADC     
发表于 2020-02-08
MCU程序设计之STM8S的optionbytes
今天使用STM8S在程序中修改optionbyte遇到问题一直读取为0,不能进入设置流程,之前的程序今天重新修改东西,使用新的片子,原来程序如下:  AFR_TEMP = (uint16_t)((uint16_t)0x01 << 8);  AFR_TEMP = AFR_TEMP | (uint16_t)0xFE;  AFR_TEMP = (AFR_TEMP >> 8);之所以直接赋值而不调用函数,是因为程序代码空间有限,使用函数调用方法修改没有问题,如下:  AFR_TEMP = FLASH_ReadOptionByte(0X4803);  AFR_TEMP
发表于 2020-02-08
关于STM8S003F3P6开发的笔记
5.STM8各功能模块的寄存器编程6.IAR开发环境和STVP烧写软件STM8S103F3P6 性能对比:看到了吧,关键是只有100次,不过我估计一次也用不了了,,,
发表于 2020-02-07
关于STM8S003F3P6开发的笔记
使用STM8S003K3 ADC简介以及初始化
简介最近用stm8s003k3开发项目,用到了ADC模块,记录一下笔记也分享一下心得软件环境:STVD+COSMIC硬件环境:STM8S003K3 TSSOP20封装模块:ADC1.ADC功能以及框图由STM8S参考手册可以得到几个信息:1、有ADC1和ADC2两个(实际上得看封装,我这款只有ADC1)2、有多达16个输入通道(看封装,我这款只有2~6输入)3、有好几个扩展功能具体的功能如下所示*由框图可以看出ADC1和ADC2差别还是有一点的,一些多引脚的芯片中ADC2的带模拟参考正负极,在模拟放大中,可通过减小参考电压来提供更大的分辨率。由于没有用到所以不考虑*转换结束时可产生中断*f MASTER 可以被分频2 到18
发表于 2020-02-07
使用STM8S003K3 ADC简介以及初始化
STM8S使用外部时钟引起串口数据传输错误
最近有个小东西用到STM8S来驱动,之前用STM8S使用的是内部自带的16MHz RC时钟,尚未尝试过使用外部晶振作为主时钟。今天记录一下使用外部晶振时遇到的一个问题。老规矩,在进行程序设计时,首先初始化时钟,本次使用的是STM8S103F3P6芯片,8MHz的外部晶振,为了方便内外部时钟切换,结合资料写了两个切换函数/************************************************描述:采用内部16MHz的RC时钟为主时钟*      初始化时钟为1分频 16M,无外部晶振*版本:V1.0*作者
发表于 2020-02-07
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved