打印

请教:STM32的“饱和运算”怎么用

[复制链接]
4566|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
loohoo0301|  楼主 | 2011-6-20 22:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
向各位大虾请教:STM32的资料说支持“饱和运算”,
以前我不知道STM32支持就只好用条件运算符当“饱和运算”不过速度较慢,
所有请教在uVision3中STM32的“饱和运算”怎么用?
沙发
clingos| | 2011-6-22 10:56 | 只看该作者
啥是饱合运算??LZ能否讲讲?

使用特权

评论回复
板凳
loohoo0301|  楼主 | 2011-6-22 12:15 | 只看该作者
简单的举个例说:
B=17
C=18
A=B*C (可以是其它公式)
那么A=306 但是在下一步计算将要使用A,并且A不能大于200或是负数,不然会发生溢出错误。
往下一步计算是:
u16 Data[200]
Data[A]    明显A作为数组Data下标是不能大于200。
再例如:
u8 B=170
u8 C=180
u8 A=B+C (可以是其它公式
那么A=350 但是作为u8的A不能大于255或是负数,不然会发生溢出错误。

饱和运算就让A在发生溢出时强制使A不超出我们定义的安全范围,类似于电路的稳压管、钳位管。
我一直用条件运算做饱和判定不过速度较慢,STM32是有硬件的“饱和运算”,但我也不知道怎么用。

使用特权

评论回复
地板
loohoo0301|  楼主 | 2011-6-22 18:58 | 只看该作者
多谢janeslee,我研究下

使用特权

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

本版积分规则

0

主题

25

帖子

1

粉丝