注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
wlzeagle的个人空间 https://home.eeworld.com.cn/space-uid-369109.html [收藏] [复制] [分享] [RSS]
日志

【晒心得】STM32F03-- 寄存器清除

已有 1399 次阅读2013-11-27 23:10

开发环境:WIN8.1+ARM_MDK+STM32F030 DISCO

以前清除寄存器都是读写存的方式,但是在cortex-mx中看见有些寄存器是通过硬件设置,写1清除,写0则没效果。
今晚看了discovery的Flash_Program demo发现如下代码:
  /* Clear pending flags (if any) */  
  FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPERR);

void FLASH_ClearFlag(uint32_t FLASH_FLAG)
{
  /* Check the parameters */
  assert_param(IS_FLASH_CLEAR_FLAG(FLASH_FLAG));

  /* Clear the flags */
  FLASH->SR = FLASH_FLAG;
}


脑子突然转不过弯来,久久不能想通为什么这样是清除,还觉得是库错了,后来仔细看看手册才恍然大悟,悲剧
------------
Set by hardware when programming a write-protected address of the Flash memory.Reset by writing 1.
--------------------------------

本文来自论坛,点击查看完整帖子内容。

全部作者的其他最新日志
评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章