历史上的今天
今天是:2025年01月11日(星期六)
2020年01月11日 | stm8s ADC单次模式
2020-01-11 来源:eefocus
因为stm8s模拟输入io默认为浮空输入,所以我没有配置io,而是直接配置了ADC。ADC单次模式,简而言之就是只采集一次信号,然后就不再采集了。ADC单次模式配置方法如下:
ADC_CR1_ADON = 0;//关闭ADC
ADC_CSR_EOCIE = 1; //使能转换结束中断
ADC_CR1_SPSEL = 4;//预分频为8->1MHz
ADC_CR1_ADON = 1;//唤醒ADC
ADC_CR1_CONT = 0;//单次转换模式
ADC_CR2_ALIGN = 0;//0:数据左对齐->先读高8位,再读低2位 1:数据右对齐->先读低8位,再读高2位
ADC_CSR_CH = 9;//模拟通道AIN9
说明:我是用的2ms定时采样,所以在定时中断里会不断的将ADC_CR1_ADON = 1;因为手册里讲“当首次置位ADON位时,ADC从低功耗模式唤醒。为了启动转换必须第二次使用写指令来置位 寄存器ADC_CR1的ADON位。”所以在中断里将ADON置1的作用就是启动转换,让ADC工作。
中断函数如下:
/* Defines an interrupt handler for ADC1 vector. */
#pragma vector=24
__interrupt void ADC1_IRQHandler(void)
{
uint16_t temph = 0;
uint8_t templ = 0;
ADC_CSR_EOC = 0; //清标志位
temph = ADC1_DRH;
templ = ADC1_DRL;
temph = (uint16_t)((uint16_t)((uint16_t)templ << 6) | (uint16_t)((uint16_t)temph << 8));
}
注意:如果配置数据是右对齐要先读ADC1_DRL,再读ADC1_DRH,再合成一个数
下一篇:stm8s uart配置
史海拾趣
|
蓝牙、Wi-Fi和ZigBee在无线通信领域都有一席之地。但基于不同原因,上述几种技术都不太适合无线传感器网络应用。用于传感和控制应用的无线产品和技术正迅速变为现实。无线技术的大规模普及只是时间早晚的问题,但标准化组织和技术供应商在解决 ...… 查看全部问答> |
|
我使用的是蓝海微芯的板子,LJD-2410-II开发板,bsp是重新烧入的,启动后就一直停在触摸屏校准程序,点十字光标一点反应都没有。请问是怎么回事?大家有遇到这种情况吗?是不是触摸屏坏了,照理说触摸屏没这样脆弱吧,… 查看全部问答> |
|
我现在做的是一个windows CE下传感器的项目,其中有一个过程,是给传感器发一个读指令(16进制),然后传感器会自动返回一组数据(16进制);传感器的数据刷新是50次每秒,所以在20ms内必须主动接受数据并进行处理。这里的主动是细节上的,文章题目 ...… 查看全部问答> |
|
想用加速度传感器MMA7260做一个跌倒的检测装置,proteus元件库中找不到MMA7260元件,哪位高手帮忙解决一下,小弟谢过~~~我的QQ:501292878~~… 查看全部问答> |
|
瞬时功耗 p = v *I tav; V越小 P也小 所以低功耗处理器采用低压方式 ,I tav为单位时间的平均电流,与上升时间 和下降时间 重复频率有关 所以频率 越高功耗越大 ; 动态功耗=瞬时功耗+ 电容冲放电消耗的功耗 ;充放电功耗也与重复频率有关 所以 ...… 查看全部问答> |
|
【TI文献】智能能源规范 (Smart Energy Profile) 解决方案 智能能源规范 (SEP) 是一种公共应用规范,在诸如计量和家庭区域网等智能电网应用中使用。Smart Energy Profile支持的设备类型包括能源服务接口 (ESI)、计量设备、家庭能源显示器 (IHD)、可编程通信型温控器 (PCT)、负载控制设备等等。德州仪器提供 ...… 查看全部问答> |
|
#include<reg52.h>#define uint unsigned intsbit led1=P1^0;void delay(uint z){ uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}void main(){ while(1) { led1=0; d ...… 查看全部问答> |




