【问题标题】:writing to registers - naming convention in stm32写入寄存器 - stm32 中的命名约定
【发布时间】:2020-10-26 15:57:16
【问题描述】:

我一直在尝试在 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),而且似乎也没有一个位的名称被识别。

我哪里错了?

【问题讨论】:

    标签: stm32


    【解决方案1】:

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

    【讨论】:

    • 在哪里可以找到 CMSIS 头文件?
    • 应该是您(生成的?)项目源文件的一部分。尝试查找包含 ADC_CFGR1_DISCEN 或仅包含 DISCEN 的 .h 文件。
    猜你喜欢
    • 2022-01-07
    • 2021-12-30
    • 1970-01-01
    • 2015-08-18
    • 2018-03-08
    • 1970-01-01
    • 2020-11-17
    • 2013-01-09
    • 1970-01-01
    相关资源
    最近更新 更多