ADC通道切换在GD32和PY32(STM32)区别

GD32 与 PY32/STM32 (LL库) 在 ADC 架构和寄存器操作上的核心差异。

核心差异总结

1. GD32 (基于标准库/寄存器直接操作):

机制: 使用 RSQ (Regular Sequence) 寄存器。

操作: adc_regular_channel_config(rank, channel, ...) 实际上是修改序列中第 rank 个位置对应的通道号。

特性: 这是一个"写通道号"的操作。在大多数 GD32 型号中,只要不改变序列长度或触发源,动态修改 RSQ 中的通道值通常不需要关闭 ADC,因为硬件是在转换开始那一刻读取 RSQ 的当前值。

2. PY32 / STM32 (基于 LL 库):

机制: 使用 CHSELR (Channel Selection Register)。

操作: LL_ADC_REG_SetSequencerChannels() 是写入一个位图 (Bitmap)。例如,选通道 3 就是置位 bit 3。

特性: 这是一个"配置有效通道集合"的操作。根据 ARM Cortex-M0/M0+内核的 ADC 设计规范(以及 PY32/STM32 参考手册),当 ADEN (ADC Enable) 为 1 时,CHSELR 寄存器是只读的 (Write protected)。

后果: 如果在 ADC 使能状态下强行写入 CHSELR,写入会被忽略,或者导致总线错误(取决于具体系列),通道不会切换。因此,必须先 Disable -> 等待完全关闭 -> 修改寄存器 -> 重新 Enable -> 等待就绪。

相关推荐
2401_827501283 小时前
51单片机(二):GPIO、中断、定时器与PWM
单片机·嵌入式硬件·51单片机
尼喃5 小时前
HDMI/DP高速差分接口ESD保护:0.3pF超低电容PWESD-5VSDF方案详解
嵌入式硬件
ACP广源盛139246256735 小时前
GSV6155@ACP# 搭配 AI 服务器、AI PC 完整适配方案
大数据·服务器·人工智能·分布式·单片机·嵌入式硬件
Saniffer_SH6 小时前
NAND技术(二):从 Channel、Die/LUN、P/E Cycle 到 LDPC,一次讲透 NAND 里那些最容易误解的概念
人工智能·驱动开发·嵌入式硬件·测试工具·fpga开发·计算机外设·压力测试
辰哥单片机设计7 小时前
STM32音乐播放器
stm32·单片机·嵌入式硬件
周洲08308 小时前
STM32 串口指令控制系统|上位机下发命令控制 LED、继电器,通用指令解析框架
stm32·嵌入式硬件·mongodb
集芯微电科技有限公司8 小时前
PC3100H 专为TFT-LCD面板偏置电源设计双输出100m电流
人工智能·单片机·嵌入式硬件·神经网络·生成对抗网络
广州灵眸科技有限公司9 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) 系统操作-线进程操作
数据库·单片机·嵌入式硬件·算法·php
集芯微电科技有限公司10 小时前
各种大小尺寸TFT-LCD面板供电偏压电源方案IC
人工智能·单片机·嵌入式硬件·神经网络·生成对抗网络
FREEDOM_X10 小时前
嵌入式——定时器工作原理
linux·c语言·单片机·嵌入式硬件·ubuntu