stm32为什么给有些寄存器赋值确不会影响其他位?USARTx->SR = (uint16_t)~USART_FLAG
2015-08-12 18:00
507 查看
新手小白可能会遇到的问题:stm32为什么给有些寄存器赋值确不会影响其他位?在stm32的库函数中可以看到有的关于位的操作不是用位与位或,而是直接赋值,但确不会影响其他位,例如:USARTx->SR = (uint16_t)~USART_FLAG,原因在于sr寄存器只能硬件置1,软件写1无效,关于这些寄存器的错作细则可以在stm32的手册中查询,
在对寄存器的描述中使用了下列缩写:
read / write (rw)
软件能读写此位。
read-only (r)
软件只能读此位。
write-only (w)
软件只能写此位,读此位将返回复位值。
read/clear (rc_w1)
软件可以读此位,也可以通过写’1’清除此位,写’0’对此位无影响。
read / clear (rc_w0)
软件可以读此位,也可以通过写’0’清除此位,写’1’对此位无影响。
read / clear by read (rc_r)
软件可以读此位;读此位将自动地清除它为’0’,写’0’对此位无影响。
read / set (rs)
软件可以读也可以设置此位,写’0’对此位无影响。
read-only write trigger (rt_w)
软件可以读此位;写’0’或’1’触发一个事件但对此位数值没有影响。
toggle (t)
软件只能通过写’1’来翻转此位,写’0’对此位无影响。
Reserved(Res.)
保留位,必须保持默认值不变
在查看寄存器时会看到这些标志,我们根据这些标志就可以知道怎么对寄存器操作了~
在对寄存器的描述中使用了下列缩写:
read / write (rw)
软件能读写此位。
read-only (r)
软件只能读此位。
write-only (w)
软件只能写此位,读此位将返回复位值。
read/clear (rc_w1)
软件可以读此位,也可以通过写’1’清除此位,写’0’对此位无影响。
read / clear (rc_w0)
软件可以读此位,也可以通过写’0’清除此位,写’1’对此位无影响。
read / clear by read (rc_r)
软件可以读此位;读此位将自动地清除它为’0’,写’0’对此位无影响。
read / set (rs)
软件可以读也可以设置此位,写’0’对此位无影响。
read-only write trigger (rt_w)
软件可以读此位;写’0’或’1’触发一个事件但对此位数值没有影响。
toggle (t)
软件只能通过写’1’来翻转此位,写’0’对此位无影响。
Reserved(Res.)
保留位,必须保持默认值不变
在查看寄存器时会看到这些标志,我们根据这些标志就可以知道怎么对寄存器操作了~
相关文章推荐
- 修复mysql数据库
- nodejs中的fiber(纤程)库详解
- 桌面中心(一)创建数据库
- 浅析C语言头文件和库的一些问题
- 桌面中心(三)修改数据库
- 目前流行的JavaScript库的介绍及对比
- MySql表、字段、库的字符集修改及查看方法
- 11个并不被常用但对开发非常有帮助的Python库
- Python标准库与第三方库详解
- 实验九 模板与库使用
- Keil STM32工程环境搭建
- stm32之RTC
- STM32串口操作相关事项
- STM32 SPI工作在主模式时用DMA方式接收数据
- STM32 配置定时器让引脚输出PWM波形
- [嵌入式裸机课程]Cortex-M3开发实训班
- 【转】:C++ 库
- 今天我的ubuntu软件中心坏了,于是长生了一个想法。。。
- SDL一些库的安装
- 工会i哦i哦i