你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

为什么她一直都在?从未改变!

[复制链接]
fushao 提问时间:2018-7-5 10:05 /
阅读主题, 点击返回1楼
收藏 1 评论19 发布时间:2018-7-5 10:05
19个回答
jjbboox 回答时间:2018-7-5 13:23:54
fushao 发表于 2018-7-5 11:28
HAL_GetTick()内部就是一个32位的uwTick,每隔1个tick ++一次,
如果tick设置为1ms,wuTick 49天会溢出。 ...

没有问题的。
你自己试一下吧。

0x00000000 - 0xffffffff = 1

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

潇潇雨歇pku 回答时间:2018-7-5 14:13:21
以前没想过这个问题,乍一看也认为溢出会有问题。
经楼上两位点拨,发现自己还是脑回路太短,太容易被带偏了。
潇潇雨歇pku 回答时间:2018-7-5 14:35:19
记录一下:
有人认为,HAL_Delay每隔49天左右就会出问题(我一开始也这么以为),原因是uint32每49天会溢出一次,这种观点是错误的。因为即便溢出了,两个unsigned数相减的结果也不会出错,正如11#所言:0x00000000 - 0xffffffff = 1。
HAL_Delay在延时超过49天时才会出错,但没有人会这么干,所以这个函数基本可以认为是没问题的。

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

我是熊猫大仙 回答时间:2018-7-5 14:44:21
我记得曾经也看过有人讨论过这个问题
其实不止是这里,有一些库也用过类似的无符号数相减的特性来优化计算的

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

select326 回答时间:2018-7-5 16:05:11
我是熊猫大仙 发表于 2018-7-5 14:44
我记得曾经也看过有人讨论过这个问题
其实不止是这里,有一些库也用过类似的无符号数相减的特性来优化计算 ...

无符号数相减是个什么结果 ??可以利用这个来做什么优化?
我是熊猫大仙 回答时间:2018-7-5 16:41:55
select326 发表于 2018-7-5 16:05
无符号数相减是个什么结果 ??可以利用这个来做什么优化?

跟HAL_Delay这样类似的,不需要去判断溢出,直接相减
例子就看jjbboox举的就是

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

select326 回答时间:2018-7-6 14:24:17
我是熊猫大仙 发表于 2018-7-5 16:41
跟HAL_Delay这样类似的,不需要去判断溢出,直接相减
例子就看jjbboox举的就是 ...

unsigned char a,b,c;
a = 0x00000000;
b = 0xffffffff;
c = a - b;
printf("c=%d\n",c);

以上代码是在X64机器上编译:
gcc b.c -o bb
b.c: 在函数‘main’中:
b.c:7: 警告:大整数隐式截断为无符号类型

这个警告的意义是什么?
我是熊猫大仙 回答时间:2018-7-6 14:34:56
select326 发表于 2018-7-6 14:24
unsigned char a,b,c;
a = 0x00000000;
b = 0xffffffff;

给unsigned char赋值0xffffffff,这个警告很明显呀。。。。
select326 回答时间:2018-7-6 14:49:29
我是熊猫大仙 发表于 2018-7-6 14:34
给unsigned char赋值0xffffffff,这个警告很明显呀。。。。

我明白子了,unsigned char  最大是0xff ,
jjbboox 回答时间:2018-7-27 14:04:53
这种代码都是大神们写的,尽管不能说大神们就不会犯错,但是这么久经考验的代码一般都是值得信赖的。
如果想不通,可以先自己验证一把,然后就能学到很多。
12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版