stm8s adc1 init
在STM8S单片机中初始化ADC1(模数转换器1)需配置相关寄存器,以下是基本步骤及代码示例:
主要步骤:
-
开启ADC时钟
在CLK_PCKENR1寄存器中使能ADC时钟(通常为位0)。 -
配置ADC通道
选择模拟输入通道(如AIN2对应PC3引脚)。 -
设置采样时间
通过ADC1_SCHx寄存器配置通道采样时间(例如设置为55.5个时钟周期)。 -
配置控制寄存器
ADC1_CR1:选择ADC时钟分频(推荐F_MASTER/2)、设置单次模式。ADC1_CR2:设置数据对齐方式(右对齐)。
-
启动ADC
设置ADC1_CR1的ADON位启动ADC,首次启动需延迟等待稳定。
代码示例(STM8S103F3为例):
#include "stm8s.h"
void ADC1_Init(void) {
// 1. 开启ADC时钟 (PCKENR1的bit0)
CLK->PCKENR1 |= (1 << CLK_PCKENR1_ADC);
// 2. 关闭施密特触发器(降低功耗)
ADC1->TDRL |= (1 << 2); // 关闭AIN2(PC3)的施密特触发
// 3. 设置采样时间(通道2采样时间=55.5周期)
ADC1->SMPR = ADC1_SMPR_SMP_55DOT5;
// 4. 配置控制寄存器
ADC1->CR1 = ADC1_CR1_ADON // 开启ADC
| ADC1_CR1_SPSEL_0; // F_MASTER/2(时钟分频)
ADC1->CR2 = ADC1_CR2_ALIGN_RIGHT; // 数据右对齐
// 首次启动ADC并延时稳定(约7us)
ADC1->CR1 |= ADC1_CR1_ADON;
for(uint16_t i = 0; i < 1000; i++); // 简单延时
}
uint16_t ADC1_ReadSingle(void) {
ADC1->CSR &= ~ADC1_CSR_CH; // 清除通道选择
ADC1->CSR |= ADC1_CSR_CH_AIN2; // 选择通道2(PC3)
ADC1->CR1 |= ADC1_CR1_ADON; // 启动转换(触发)
while(!(ADC1->CSR & ADC1_CSR_EOC)); // 等待转换完成
uint16_t adc_value = ADC1->DRL; // 读取低8位
adc_value |= (uint16_t)(ADC1->DRH << 8); // 组合高2位
ADC1->CSR &= ~ADC1_CSR_EOC; // 清除转换完成标志
return adc_value;
}
关键点说明:
-
引脚配置:
确保使用的ADC引脚(如PC3)设为浮空输入模式(默认状态通常满足)。 -
采样时间:
根据信号源阻抗调整采样时间(阻抗高需更长时间)。 -
数据对齐:
结果存储在ADC1_DRH(高2位)和ADC1_DRL(低8位)中,需组合为10位值。 -
校准:
首次使用建议执行校准(通过ADC1_CR2寄存器的CAL位),参考手册操作流程。
详细寄存器定义请查阅对应型号的《STM8S参考手册》(Reference Manual)。
STM8AF5288T不带ADC1吗?
(ADC1) ADC1中没有STM8AF52Ax /** * @briefAnalog to Digital Converter (
STM8s的ADC通道采集,这个通道的概念是什么?要采集某个管脚的电压能做到吗?
请教一下大家,STM8s的ADC通道采集,这个通道的概念是什么?假如我要采集某个管脚的电压,能做到吗? 今天试了一下初始化如下 ADC1_Init
STM8S低功耗电源管理
置顶/星标公众号,不错过每一条消息! 在后台陆续收到一些关于STM8S低功耗的问题,今天就写一下低功耗相关的内容。1STM8S功耗来源STM8S
资料下载
陈俊
2022-01-05 14:39:05
STM8S(stm8s003F) ADC AIN7的使用
STM8S(stm8s003F) ADC AIN7的使用AIN7通道连接到内部稳压为1.22V,由此可以推算出供电电压,省去一路电源电压采集电路
资料下载
微风挽雨
2021-12-27 18:49:52
STM8S全解析之系列文章1---STM8S芯片项目需求与解决方案
STM8S全解析—系列文章1.STM8S芯片项目需求与解决方案提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:STM8S全
资料下载
佚名
2021-11-26 09:06:05
STM32U5系列片内ADC1和ADC4实现过程(上)
有人使用STM32U5系列MCU开发产品,在用到ADC结合DMA传输时遇到点障碍,这里针对片内ADC1和ADC4基于DMA标准请求模式和链表模式
2023-07-30 09:27:24
STM8S ADC AIN7该怎样去使用呢
STM8S(stm8s003F) ADC AIN7的使用AIN7通道连接到内部稳压为1.22V,由此可以推算出供电电压,省去一路电源电压采集电路
STM8S是什么?
STM8S全解析—系列文章1.STM8S芯片项目需求与解决方案提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:STM8S全
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- amoled屏幕和oled区别
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 苹果笔记本macbookpro18款与19款区别
- 通讯隔离作用
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机