写入寄存器 - stm32 中的命名约定

writing to registers - naming convention in stm32

我一直在尝试在 SMT32cubeIDE 中为 STM32F0103K6 手动设置 ADC。我想我知道我需要哪些寄存器和标志,但我似乎无法写入其中任何一个,因为所有名称都是错误的 - ?我尝试在 cubeIDE 的 SFR 视图中使用名称,例如 -

 ADC ->CR |= 1<<ADEN; // enable ADC
 ADC ->ADC_SMPR |= 1<<0 | 1<<1; // speed divider select
 ADC ->ADC_CHSELR |= 1<<0 | 1<<1; // set sequence to adc0, adc1
 ADC ->ADC_CFGR1 |= 1<<DISCEN; //discontinuous mode
 ADC ->ADC_CR |= 1<<2; // start conversion

但编译器无法识别其中任何一个。参考手册中的名称都是相同的,除了它们有ADC(即ADC_CR)和none位的名称似乎也被识别。

我哪里错了?

这很简单。找到 CMSIS 头文件并使用正确的标识符。 通常寄存器位定义看起来像 ADC_CR1_DISCEN.