库中结构体定义和规格书不一致
芯片031 RCC中有寄存器RCC_SYSCFG, 库中没有但多了__IO uint32_t HSIDLY;__IO uint32_t HSEDLY;是什么情况,访问HSEDLY 不会越界吗? RCC_SYSCFG怎么访问?本帖最后由 OnWater 于 2020-8-22 10:42 编辑
先修改一下结构体代码; OnWater 发表于 2020-8-22 10:40
////////////////////////////////////////////////////////////////////////////////
/// @brief RCC Regi ...
////////////////////////////////////////////////////////////////////////////////
/// @brief RCC Register Structure Definition
////////////////////////////////////////////////////////////////////////////////
typedef struct {
__IO u32 CR; ///< Control Register offset: 0x00
__IO u32 CFGR; ///< Configuration Register offset: 0x04
__IO u32 CIR; ///< Clock Interrupt Register offset: 0x08
__IO u32 APB2RSTR; ///< Advanced Peripheral Bus 2 Reset Register offset: 0x0C
__IO u32 APB1RSTR; ///< Advanced Peripheral Bus 1 Reset Register offset: 0x10
__IO u32 AHBENR; ///< Advanced High Performance Bus Enable Registeroffset: 0x14
__IO u32 APB2ENR; ///< Advanced Peripheral Bus 2 Enable Register offset: 0x18
__IO u32 APB1ENR; ///< Advanced Peripheral Bus 1 Enable Register offset: 0x1C
__IO u32 RESERVED0; ///< Reserved offset: 0x20
__IO u32 CSR; ///< Control Status Register offset: 0x24
__IO u32 AHBRSTR; ///< Advanced High Performance Bus Reset Register offset: 0x28
__IO u32 RESERVED2; ///< Reserved offset: 0x2C
__IO u32 RESERVED3; ///< Reserved offset: 0x30
__IO u32 RESERVED4; ///< Reserved offset: 0x34
__IO u32 RESERVED5; ///< Reserved offset: 0x38
__IO u32 RESERVED6; ///< Reserved offset: 0x3C
__IO u32 SYSCFG; ///< System Configuration Register offset: 0x40
} RCC_TypeDef; 估计是从st库移植过来的时候 出了差错 这倒不是,有隐情,很难一句话说清楚! OnWater 发表于 2020-8-22 10:40
先修改一下结构体代码;
官方库中的结构体,谁敢乱改啊. 都不知道官方为什么要这么做, 改了说不定出其他问题了. zhu^zhu 发表于 2020-8-23 10:23
这倒不是,有隐情,很难一句话说清楚!
我现在是这样操作,会不会有问题?
#define RCC_SYSCONFIG (*(uint32_t*)(0x40021040))
RCC_SYSCONFIG &= 0xFFFFE0FF;//将晶体电流和反馈电阻改为最小
因为我的晶体振荡出来的信号幅度太大了,而且有点失真了.这样改了后幅度会小一些.
这个寄存器和规格书描述也不一样,规格书说始终读为0的位读取后又为1. 谢谢您的指正!关于用户手册对寄存器描述的部分,明天下午关注一下,给您明确的答复。 确信存在最低两位,分别是:页面尺寸和编程校验。不好意思给您带来了麻烦! 谴责那些不负责任的决策者和操作者!
页:
[1]