[讨论] 为什么32位的单片机中很少用到64位的数据类型

馨曦   2017-8-30 09:57 楼主
为什么32位的单片机中很少用到64位的数据类型呢?
例如:systick的MS计数,
截图20170830095536.png

回复评论 (6)

49天之后都会溢出了,
点赞  2017-8-30 10:05
64位数据运算起来肯定慢啊
那只是一个数字,溢出了也一样用啊,不过要尽量避免溢出带来的bug
点赞  2017-8-30 11:17
这个不是个大问题,如果真是大问题,人们会想着它的解决办法的。

象这个SYSTICK,多数用于延时的,恰好跨越溢出这段时间,会出问题。
点赞  2017-8-30 11:33
在大,64位也会溢出的
数据和指令匹配都是32位比较好

点赞  2017-8-30 12:34
读取64位数据要两次load
两次load之间可能产生systick中断
若是刚好进位的时候,可能导致读取的数据被破坏。
出于严谨,还是得额外处理
点赞  2017-8-30 14:19
其实,你是害怕溢出吧。你再用一个32位数记录溢出次数不就行了。
就像用16位定时器用捕获脉宽测量低频,全局中断里记录溢出一样。
点赞  2017-8-30 19:05
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复