打印
[STM32F1]

关于STM32的思考求解惑

[复制链接]
911|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
布丁奶茶|  楼主 | 2016-10-17 14:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们都知道STM32每次都能处理32位的数据。那么如果我要处理的数据是8位的或者16位的,那STM32是怎么存储这些数据的呢?例如8位数据,我是存在四个32位内存中,每个内存用低四位,还是分别存在一个内存的四个字节呢?另外STM32的地址可以是8位或者16位吗?
新手,求大神解惑
沙发
布丁奶茶|  楼主 | 2016-10-17 14:59 | 只看该作者
补充一下,上面打错了,应该是有4个8位数据

使用特权

评论回复
板凳
xia00| | 2016-10-17 20:26 | 只看该作者
另外STM32的地址可以是16位的啊!!

使用特权

评论回复
地板
734774645| | 2016-10-17 21:37 | 只看该作者
不会也占用32bit吧?

使用特权

评论回复
5
戈卫东| | 2016-10-17 21:52 | 只看该作者
可以按字节(8位)/半字(16位)/字(32位)访问存储器。
某些核心需要对齐,某些可以不对齐,但效率可能下降。

使用特权

评论回复
6
布丁奶茶|  楼主 | 2016-10-18 09:28 | 只看该作者
戈卫东 发表于 2016-10-17 21:52
可以按字节(8位)/半字(16位)/字(32位)访问存储器。
某些核心需要对齐,某些可以不对齐,但效率可能下 ...

我想知道的是我存四个字节的,一般没做设定,32是怎么存的呢

使用特权

评论回复
7
布丁奶茶|  楼主 | 2016-10-18 09:30 | 只看该作者
xia00 发表于 2016-10-17 20:26
另外STM32的地址可以是16位的啊!!

谢谢了。。

使用特权

评论回复
8
布丁奶茶|  楼主 | 2016-10-18 09:42 | 只看该作者
734774645 发表于 2016-10-17 21:37
不会也占用32bit吧?

没懂。

使用特权

评论回复
9
icecut| | 2016-10-18 10:41 | 只看该作者
想想结构体是怎么存储的,就明白了....内存中是连续的,不会浪费

使用特权

评论回复
10
diweo| | 2016-10-18 11:42 | 只看该作者
“我们都知道STM32每次都能处理32位的数据。那么如果我要处理的数据是8位的或者16位的,那STM32是怎么存储这些数据的呢?“

你的逻辑搞反了!
不是说我想怎么处理这些数据,决定我怎么存储这些数据。
而是:数据始终存在那里,然后我以怎样一种方式来处理它。
STM32每次都能处理32位的数据,就是一次性处理4个字节。当然,它也可以一次性处理2个字节,或者1个字节。

使用特权

评论回复
11
布丁奶茶|  楼主 | 2016-10-18 14:48 | 只看该作者
diweo 发表于 2016-10-18 11:42
“我们都知道STM32每次都能处理32位的数据。那么如果我要处理的数据是8位的或者16位的,那STM32是怎么存储 ...

那32的最小存储单元是8位的对吗?有没有最小存储单元大于8位的

使用特权

评论回复
12
wahahaheihei| | 2016-10-18 15:30 | 只看该作者
楼主可以用联合体进行测试一下看看到底怎么存的。弄个32位的,然后弄4个八位的,打印出来对比一下,看看是怎么取的范围。

使用特权

评论回复
13
布丁奶茶|  楼主 | 2016-10-18 15:46 | 只看该作者
wahahaheihei 发表于 2016-10-18 15:30
楼主可以用联合体进行测试一下看看到底怎么存的。弄个32位的,然后弄4个八位的,打印出来对比一下,看看是 ...

好的,谢谢

使用特权

评论回复
14
1203030117| | 2016-10-18 16:22 | 只看该作者
实践是检验真理的唯一标准,不要拿着理论去强行解释理论,你拿stm32用着用着就自然明白怎么回事了
大鱼吃小鱼,小鱼吃虾米。不要以这句话为基准去思考大鱼到底吃不吃虾米,怎么吃虾米,这东西,别人再怎么清楚的告诉你,最多也只是个详解,
你不去实践一下,根本没办法去理解其中的东西。学这东西又不是为了考试。

使用特权

评论回复
15
lefeng| | 2016-10-18 20:21 | 只看该作者
内存中是连续的,不会浪费的

使用特权

评论回复
16
734774645| | 2016-10-20 22:06 | 只看该作者
icecut 发表于 2016-10-18 10:41
想想结构体是怎么存储的,就明白了....内存中是连续的,不会浪费

那就是不会出现高位补充0的情况,直接就是8bit

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

180

帖子

1

粉丝