OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5567|回复: 3

小白求助,对于STM32寄存器可以以半字和全字进行寄存器操作,如何正确的理解和操作?

[复制链接]

3

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2015-1-23
在线时间
4 小时
发表于 2015-2-7 11:23:59 | 显示全部楼层 |阅读模式
5金钱
RT,具体举个例子。望大神赐教!!!

想飞跃得有翅膀和石头、
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2015-2-7 12:56:38 | 显示全部楼层
按我的理解,就是有操作8位与16位数据的专门指令咯。
比如,寄存器是32的,以8位方式操作0x000000ff加1,得到的是0x00000000,而不是0x00000100。不然的话还得多一条指令把前面的3个字节清零。
业余程序玩家。
回复

使用道具 举报

3

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2015-1-23
在线时间
4 小时
 楼主| 发表于 2015-2-7 14:00:42 | 显示全部楼层
回复【2楼】ofourme:
---------------------------------
是否要涉及到格式对齐呢?比如SPI_CR1寄存器是16位的,我如何用半字或全字操作这个寄存器?
是否就是SPI->CR1|=0X0000;         (半字)
            SPI->CR1|=0X0000 0000;(全字)???都可以???
想飞跃得有翅膀和石头、
回复

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2015-2-7 19:28:45 | 显示全部楼层
不是。根据数据类型,编译器自己选择对应的指令。你不用考虑那么多。
业余程序玩家。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-26 00:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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