找回密码
 立即注册
查看: 944|回复: 2

对SPI状态寄存器SPSTAT(SPIF/WCOL)清零需要写1的疑问

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:500
  • 最近打卡:2025-06-16 10:39:44
已绑定手机

29

主题

349

回帖

1991

积分

金牌会员

机长

积分
1991
发表于 2023-7-4 10:57:39 | 显示全部楼层 |阅读模式
对SPI状态寄存器SPSTAT(SPIF/WCOL)清零需要写1的疑问-1.png


STC32G.pdf 页码角标523
已知:SPIF和WCOL位会被硬件置1。疑问:①为什么清零也是向此位写1?②代码写1后立即读到的是1还是0?

业余撸代码,专业开飞机 https://gitee.com/STC-MCU
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:57
  • 最近打卡:2025-06-16 09:23:00

26

主题

1037

回帖

3946

积分

超级版主

积分
3946
发表于 2023-7-4 21:29:09 | 显示全部楼层
①为什么清零也是向此位写1?
状态位写“0”清零和写“1”清零均是比较常见的设计
这里的SPIF和WCOL标志位,在芯片设计时就是设计为写“1”清零模式

②代码写1后立即读到的是1还是0?
寄存器reg不等同于RAM,写入寄存器的值并不是直接存入寄存器,而是由硬件电路进行处理
代码写1后,相当于告诉CPU可以清除内部相应的寄存器reg了,立即读取会读到0

点评

感谢版主,了解了~~  发表于 2023-7-5 00:21
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-17 05:15 , Processed in 0.115544 second(s), 58 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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