野火电子论坛

 找回密码
 注册

扫一扫,访问微社区

查看: 54|回复: 1

[F1-霸道] RCC之结构体如何理解

[复制链接]
发表于 6 天前 | 显示全部楼层 |阅读模式


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它是一个值吗?


回复

使用道具 举报

 楼主| 发表于 6 天前 | 显示全部楼层
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号-2 大学生ARM嵌入式2群

GMT+8, 2019-12-7 22:23 , Processed in 0.117890 second(s), 29 queries , Gzip On.

野火电子论坛

© 2014-2016 www.firebbs.cn

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