OpenEdv-开源电子网

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

声明变量的时候有时要用U16、有时要用U8,为了节省空间,我应该怎么设置,应该考虑什么条件呢?

[复制链接]

18

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2017-11-19
在线时间
30 小时
发表于 2017-12-8 15:55:47 | 显示全部楼层 |阅读模式
声明变量的时候有时要用U16、有时要用U8,为了节省空间,我应该怎么设置,应该考虑什么条件呢?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

192

帖子

0

精华

高级会员

Rank: 4

积分
582
金钱
582
注册时间
2017-6-2
在线时间
192 小时
发表于 2017-12-8 16:07:22 | 显示全部楼层
就是优先u8,如果实际需要变量值范围超过255,并且小于65535就用u16.更大的u32,一般很少有超过?
回复 支持 1 反对 0

使用道具 举报

7

主题

185

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2729
金钱
2729
注册时间
2015-12-27
在线时间
469 小时
发表于 2017-12-8 16:25:40 | 显示全部楼层
真的很需要省空间吗?我现在变量等都是直接u32的,可以提升速度。
回复 支持 反对

使用道具 举报

18

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2017-11-19
在线时间
30 小时
 楼主| 发表于 2017-12-8 17:00:38 | 显示全部楼层
可以提升速度?  为什么呢?
回复 支持 反对

使用道具 举报

18

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2017-11-19
在线时间
30 小时
 楼主| 发表于 2017-12-8 17:02:09 | 显示全部楼层
钩月黄昏 发表于 2017-12-8 16:25
真的很需要省空间吗?我现在变量等都是直接u32的,可以提升速度。

可以提升速度?  为什么呢?
回复 支持 反对

使用道具 举报

117

主题

598

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
1702
金钱
1702
注册时间
2012-5-10
在线时间
439 小时
发表于 2017-12-8 17:07:25 | 显示全部楼层
lsx0812 发表于 2017-12-8 17:02
可以提升速度?  为什么呢?

stm32是32位的
如有技术问题,微信扫头像交流,STM32,JAVA,服务器
回复 支持 反对

使用道具 举报

119

主题

439

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1185
金钱
1185
注册时间
2015-9-18
在线时间
422 小时
发表于 2017-12-8 17:39:50 | 显示全部楼层

感谢版主指教!
这块我也有些疑惑,下面我说说我的理解,如果不对,还望赐教。

就针对cortex-m3来说,取一个常见指令LDR,以unsigned类型来说:
<1>LDR    针对32位数据
<2>LDRS  针对16位数据
<3>LDRB  阵地8位数据
既然都能在一个指令完成,效率应该是一样的才对啊。

因为我看网上很多大神都说32位的效率更高,请大神明示,谢谢。
电子爱好者
回复 支持 反对

使用道具 举报

7

主题

185

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2729
金钱
2729
注册时间
2015-12-27
在线时间
469 小时
发表于 2017-12-8 21:51:00 | 显示全部楼层
liuchang 发表于 2017-12-8 17:39
感谢版主指教!
这块我也有些疑惑,下面我说说我的理解,如果不对,还望赐教。

我说不清楚,你可以测试一下对一个u8数组赋值操作和对一个u32的数组赋值操作,重复1000次,你可以看见使用的时间明显的差了好几倍。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-24 07:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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