完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如果缓存功能被使能(DBUF=1),那么某个选定通道上的8个或者10个连续的转换结果会填满数据缓存,当满数据缓存,当缓存被填满时,EOC(转换结束)标志被置位,如果EOCIE位已被置位,则会产生一个中断,然后一个新的转换自动开始。如果某个数据缓存寄存器在被读走之前被覆盖,OVR标志将置1。
上面是数据手册中,介绍的ADC连续转换的功能介绍;用到内部缓存区; 问题是: 1,应该是单片机内部只有10个缓存区,STM8S105;只能对一个通道做连续转换并且缓存10个转换结果。??是不是这样理解; 2,如果是上面的理解正确;如果我想在缓存满后,停止这个通道转换,并且转换到另一个通道? |
|
相关推荐
2个回答
|
|
通过反复试验得到了一个比较好用的带缓存,带平均滤波的ADC读取方法,提供出来给各位参考。各位大侠欢迎拍砖。
u16 adc_trans(u8 channel) { u8 k = 0; u32 sum_adc = 0; u16 sum; ADC_CSR = channel; //选择通道 ADC_CR2|=0x08; // 数据排列,右对齐 //ADC_TDRL=0x20; //初始化ADC程序 ADC_CR1|=0x01|0x02; //将CR1寄存器的最低位置1开启adc转换,开启连续转换 ADC_CR3|=0X80; for(k=0;k<200;k++); //延时一段时间,至少7uS,保证ADC模块的上电完成 ADC_CR1|=0x01; //再次将CR1寄存器的最低位置1,开启AD转换 while((ADC_CSR 0x80)!=0x80); // 等待转换结束 //sum = ADC_DR;//直接读取16位数据 ADC_CSR =(~0x80); //软件清零 转换结束 标志位 ADC_CR1 = (~0x03); //停止转换 sum_adc = ADC_DB0R + ADC_DB1R + ADC_DB2R + ADC_DB3R + ADC_DB4R + ADC_DB5R + ADC_DB6R + ADC_DB7R + ADC_DB8R + ADC_DB9R; sum = sum_adc / 10; return sum; } |
|
|
|
是的,您的理解是正确的。STM8S105的连续ADC转换模式允许您对一个选定的通道进行连续的转换,并将结果存储在内部数据缓存区。STM8S105有10个数据缓存寄存器,这意味着它可以存储10个连续的转换结果。
以下是对您提到的功能的逐步解释: 1. 使能连续ADC转换模式:通过配置ADC的控制寄存器,您可以启用连续转换模式。 2. 使能数据缓存(DBUF=1):当您设置DBUF位为1时,数据缓存功能被启用。这意味着转换结果将被存储在内部数据缓存寄存器中。 3. 存储连续转换结果:在连续转换模式下,STM8S105将对选定的通道进行连续的转换,并将每个转换结果存储在数据缓存寄存器中。由于STM8S105有10个数据缓存寄存器,因此可以存储10个连续的转换结果。 4. EOC(转换结束)标志:当数据缓存寄存器被填满时,EOC标志被置位。这表示当前的连续转换已经完成。 5. 中断和新的转换:如果EOCIE位已被置位,那么当EOC标志被置位时,将产生一个中断。然后,一个新的连续转换将自动开始。 6. 数据缓存寄存器被覆盖:如果某个数据缓存寄存器在被读走之前被覆盖,OVR(溢出)标志将置1。这表示发生了数据丢失。 综上所述,您的理解是正确的:STM8S105只能对一个通道进行连续转换,并且可以缓存10个转换结果。在数据缓存寄存器被填满并触发中断后,新的连续转换将自动开始。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1614 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1541 浏览 1 评论
970 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
682 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1592 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 21:37 , Processed in 0.900208 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号