96SEO 2026-02-23 14:54 1
er模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量建立模拟电路到数字电路的桥梁12位逐次逼近型ADC1us转换时间输入电压范围0~3.3V转换结果范围0~409518个输入通道可测量16个外部和2个内部信号源规则组和注入组两个转换单元模拟看门狗自动监测输入电压范围有个需求如果光线或温度高于或低于某个阈值就会执行一些操作STM32F103C8T6

IN0~IN7通过通道选择开关选中一路输入到比较器进行转换和比较。
首先是一个电压比较器它可以判断两个输入信号电压的大小关系输出一个高低电平指示谁大谁大小。
这个比较器有两个输入端一个是待测电压另一个是DAC电压输出端DAC是数模转换器给它一个数据他就能输出数据对应的电压。
一个是外部输入端的未知编码电压一个是DAC输出的已知编码电压他们同时输入电压比较器进行大小判断。
如果DAC输出的电压比较大就调小DAC数据如果DAC输出电压小就增大DAC数据直到DAC输出的电压和外部通道输入的电压近似相等那么DAC输入的数据就是外部电压的编码数据。
EOC是规则组的完成信号JEOC是注入组的完成信号这两个信号都会再状态寄存器里置一个标志位读取标志位就可以知道是否转换结束。
比如序列1为通道2之后就可以触发转换ADC对通道2进行模数转换过一定的时间后转换完成转换结果放在数据寄存器里同时给EOC标志位置1。
连续转换与单次转换不同的是它再一次转换结束后不会停止而是立刻开始下一轮的转换之后一直持续下去。
单次转换跟上面的单次转换非扫描模式大致一样但是扫描模式就会用到菜单列表可以连续对选中的位置进行转换转换结果都放在数据寄存器里但为了防止数据被覆盖需要用到DMA及时把数据挪走7个通道转换完成之后产生EOC信号转换结束。
12位ADC但数据寄存器有16位就分为数据右对齐和左对齐。
一般情况下是选择数据右对齐数据左对齐会让误差变大因为一位就是要乘2进4位就是乘16所以一般不用除非就用简单的判断把数据的高8位取出来舍弃后4位精度。
12.5个ADC周期例如当ADCCLK14MHz采样时间为1.5个ADC周期TCONV
ADC有一个内置自校准模式。
校准可大幅减小因内部电容器组的变化而造成的准精度误差。
校准期间在每个电容器上都会计算出一个误差修正码(数字值)这个码用于消除在随后的转换中每个电容器上产生的误差建议在每次上电后执行一次校准启动校准前
{RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,
1.时钟配置RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,
ENABLE);RCC_ADCCLKConfig(RCC_PCLK2_Div6);
2.ADC分频ADC最大14M接近来的时候是72M所以要分频到14M以下GPIO_InitTypeDef
3.GPIO配置GPIO_InitStructure.GPIO_Mode
GPIO_Mode_AIN;GPIO_InitStructure.GPIO_Pin
GPIO_Pin_0;GPIO_InitStructure.GPIO_Speed
GPIO_Speed_50MHz;GPIO_Init(GPIOA,
GPIO_InitStructure);ADC_RegularChannelConfig(ADC1,
5.配置ADCADC_InitStructure.ADC_Mode
ADC_InitStructure.ADC_DataAlign
数据对齐ADC_InitStructure.ADC_NbrOfChannel
ADC_InitStructure.ADC_ScanConvMode
DISABLE;ADC_InitStructure.ADC_ExternalTrigConv
外部触发转换选择//ADC_InitStructure.ADC_ContinuousConvMode
连续转换模式ADC_InitStructure.ADC_ContinuousConvMode
ADC_InitStructure);ADC_Cmd(ADC1,
6.开启ADCADC_ResetCalibration(ADC1);
(ADC_GetResetCalibrationStatus(ADC1)
SET);ADC_StartCalibration(ADC1);while
(ADC_GetCalibrationStatus(ADC1)
SET);ADC_SoftwareStartConvCmd(ADC1,
ADC软件启动转换,因为开启了连续转换模式所以只开启一次即可//
{//ADC_SoftwareStartConvCmd(ADC1,
ADC软件启动转换//while(ADC_GetFlagStatus(ADC1,
{RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,
1.时钟配置RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,
ENABLE);RCC_ADCCLKConfig(RCC_PCLK2_Div6);
2.ADC分频ADC最大14M接近来的时候是72M所以要分频到14M以下GPIO_InitTypeDef
3.GPIO配置GPIO_InitStructure.GPIO_Mode
GPIO_Mode_AIN;GPIO_InitStructure.GPIO_Pin
GPIO_Pin_3;GPIO_InitStructure.GPIO_Speed
GPIO_Speed_50MHz;GPIO_Init(GPIOA,
5.配置ADCADC_InitStructure.ADC_Mode
ADC_InitStructure.ADC_DataAlign
数据对齐ADC_InitStructure.ADC_NbrOfChannel
ADC_InitStructure.ADC_ScanConvMode
DISABLE;ADC_InitStructure.ADC_ExternalTrigConv
外部触发转换选择ADC_InitStructure.ADC_ContinuousConvMode
ADC_InitStructure.ADC_ContinuousConvMode
ADC_InitStructure);ADC_Cmd(ADC1,
6.开启ADCADC_ResetCalibration(ADC1);
(ADC_GetResetCalibrationStatus(ADC1)
SET);ADC_StartCalibration(ADC1);while
(ADC_GetCalibrationStatus(ADC1)
ADC软件启动转换,因为开启了连续转换模式所以只开启一次即可//
{ADC_SoftwareStartConvCmd(ADC1,
ADC软件启动转换while(ADC_GetFlagStatus(ADC1,
并且也不需要判断标志位了ADC_RegularChannelConfig(ADC1,
ADC_SampleTime_55Cycles5);return
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback