野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16582|回复: 1

RCC之结构体如何理解

[复制链接]
发表于 2019-12-1 18:17:51 | 显示全部楼层 |阅读模式


HSEStatus = RCC->CR & RCC_CR_HSERDY;

#define  RCC_CR_HSERDY                       ((uint32_t)0x00020000)        /*!< External High Speed clock ready flag */
RCC_CR_HSERDY这个是CR寄存器中的位17,外部高速时钟就绪位,由硬件自动置1来指示外部振荡器已经稳定。
#define RCC                 ((RCC_TypeDef *) RCC_BASE)
RCC是定义的一个结构体指针,->访问的是结构体中的成员变量的地址。如果是地址就不是一个具体的值,这里不知道如何理解了。。。【说白了就是C语言不过关 哭】
这里的RCC->CR它是一个值吗?


回复

使用道具 举报

 楼主| 发表于 2019-12-1 22:49:18 | 显示全部楼层
RCC->CR |= ((uint32_t)RCC_CR_HSEON);

  /* Wait till HSE is ready and if Time out is reached exit */
  do
  {
    HSEStatus = RCC->CR & RCC_CR_HSERDY;
    StartUpCounter++;  
  } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));

  if ((RCC->CR & RCC_CR_HSERDY) != RESET)
  {
    HSEStatus = (uint32_t)0x01;
  }


哈哈 。懂了。RCC->CR |= ((uint32_t)RCC_CR_HSEON); 这一句中是给RCC-CR赋值了。所以可以在下边的代码中进行按位与操作。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 23:20 , Processed in 0.077389 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表