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. 左右对齐

时间: 2024-10-13 20:51:48

STM8S103 ADC的相关文章

重学STM32---(五)ADC

这两天把外部中断和ADC看了下,个人感觉外部中断不是很难,也就没有把记下来了,毕竟写这个挺浪费时间.ADC是比较复杂的,如果想让完全自由的运用ADC必须经过多次实践可能才可以.由于已经学过库函数,也就打算自己看数据手册写了一个简单的寄存器版的ADC,期间也遇到了很多问题,幸好都解决了. 把这次学习的重点都记下来,以后再看不知是什么感觉O(∩_∩)O哈哈~ 1. 模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值. ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生.

1.13裸机ADC部分

1.13.1.ADC的引入 1.13.1.1.什么是ADC (1)ADC:analog digital converter ,AD转换,模数转换(也就是模拟转数字) (2)CPU本身是数数字的,而外部世界变量(如电压.温度.高度.压力)都是模拟的,所以需要用CPU来处理这些外部的模拟量的时候就需要做AD转换 1.13.1.2.为什么需要ADC (1)为了用数字技术来处理外部的模拟量 1.13.1.3.关于模拟量和数字量 (1)模拟的就是连续的,显示生活中的时间.电压.高度等都是模拟的(连续分布的

利用STM32CubeMX来生成USB_HID_Mouse工程【添加ADC】(2)【非dma和中断方式】

上回讲到怎么采集一路的adc的数据,这次我们来采集两路的数据. 现在直接修改原先的代码 /* Private variables ---------------------------------------------------------*/ uint16_t AD_Value_Buf[2]; uint16_t AD_X_Value = 0; uint16_t AD_Y_Value = 0; /* USER CODE END PV */ /* USER CODE BEGIN 3 */ fo

STM32F0的多路ADC 无DMA

前段时间几乎用了一下午的时间, 就为了调F0的两路ADC, 一开始想的办法是将采样的连续模式(ADC_ContinuousConvMode)使能, 然后连续拿两个值, 拿完分别返回. 坏处不用说, 看着就傻, 就算你只需要一个ADC通道的值, 也要拿足N个, 比如你一共要拿5个ADC引脚的电压, 那就要全拿, 然后取其中第若干个, 如果你要拿8个做平均, 就要把时间再乘8, 看着就蠢. 但是反复调试发现如果不连续采样, 第一次ok, 但是后面每次就只采后一个通道了, 很奇怪, 结果发现原来是居然

【ADC】ADC初始化的注意事项

ADC的初始化如果没设置好,对于整个系统是有很大的影响的,首先就是拖慢采集速度. 再有就是没打开通道没有检测.那直接看710的ADC初始化代码来理解吧 要用的引脚需要先设置为输入. 27     AD1PCFGH=0XFFFF;                        //选择AN0引脚作为模拟输入28     AD1PCFGL=0XFFF0; 这两个寄存器设置需要注意,0为模拟输入,所以你要多个采集的话就要把那几位置零了 AD1CSSL=0X0001;                  

MAX10 ADC的一些基知识

MAX10 ADC 的一些知识 1.        MAX 10 内部集成的12bit SAR ADC的特点为: a.        采样速率高达1Mhz. b.        模拟通道多达18个,单个ADC多达17个,双ADC器件中有16个双功能ADC通道,2个专用的ADC. c.         提供单端测量功能. d.        双ADC器件的专用模拟输入管脚具备同步测量功能.因两个专用的管脚的封装布线是匹配的.而双功能管脚,两个ADC模块之间的布线延时在同步测量中导致数据失配.另外I

ADC类型总结

1.SAR型 (逐次逼近型) 摘要:逐次逼近寄存器型(SAR)模数转换器(ADC)占据着大部分的中等至高分辨率ADC市场.SAR ADC的采样速率最高可达5Msps,分辨率为8位至18位.SAR架构允许高性能.低功耗ADC采用小尺寸封装,适合对尺寸要求严格的系统. 本文说明了SAR ADC的工作原理,采用二进制搜索算法,对输入信号进行转换.本文还给出了SAR ADC的核心架构,即电容式DAC和高速比较器.最后,对SAR架构与流水线.闪速型以及Σ-Δ ADC进行了对比. 引言 逐次逼近寄存器型(S

STM32 ADC基础与多通道采样

12位ADC是一种逐次逼近型模拟数字数字转换器.它有多达18个通道,可测量16个外部和2个内部信号源.ADC的输入时钟不得超过14MHZ,它是由PCLK2经分频产生.如果被ADC转换的模拟电压低于低阀值或高于高阀值,AWD模拟看门狗状态位被设置. ADC通常要与DMA一起使用 这里只是简单的用库配置ADC 不断扫描来实现ADC的应用. 配置DMA: void DMA_Config(void) { DMA_InitTypeDef DMA_InitStructure;//定义DMA初始化结构体 DM

HAL驱动库学习-ADC

如何使用ADC驱动库 1  实现如下两个函数 a: HAL_ADC_MspInit()使能ADC时钟,设置时钟源, 使能ADC Pin,设置为输入模式,可选 DMA,中断 b:HAL_ADC_MspDeInit() 与 HAL_ADC_MspInit()作用相反,用来关闭ADC,可选 DMA,中断 2  配置ADC参数,详细参数描述参考ADC属性定义.通过HAL_ADC_Init()来加载参数 3  配置ADC通道,包括使用的通道,采样时间等 HAL_ADC_ConfigChannel() 4