打印
[STM32F1]

求助,我做PID运算时,为什么运算结果得不到负数?

[复制链接]
1560|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
i小贤|  楼主 | 2015-11-13 14:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,变量我是这样定义的:
int V_error=0;
int VV_error=0;
int VVV_error=0;
int pk;
int error,d_error,dd_error,V_UP,V_OUT;
运算式为:
                d_error = error - VV_error;      
                dd_error = d_error - VVV_error;
仿真时看到:(十六进制)0x0179 - 0x0186 = 0xFFF3;这是为什么?结果很明显是负数啊。。。求高手指点,感激不尽!!
沙发
丁弋宇| | 2015-11-13 15:36 | 只看该作者
大家来说说,lz该不该被打屁股?

使用特权

评论回复
板凳
i小贤|  楼主 | 2015-11-13 15:42 | 只看该作者
丁弋宇 发表于 2015-11-13 15:36
大家来说说,lz该不该被打屁股?

:(入门没多久,求赐教啊

使用特权

评论回复
地板
i小贤|  楼主 | 2015-11-13 15:47 | 只看该作者
丁弋宇 发表于 2015-11-13 15:36
大家来说说,lz该不该被打屁股?

我知道再计算器运算也是这结果。。。我想知道程序里怎么让变量运算结果能为负数

使用特权

评论回复
5
joketinnle| | 2015-11-13 15:54 | 只看该作者
short

使用特权

评论回复
6
diweo| | 2015-11-13 16:02 | 只看该作者
你想啊,二进制只有1和0,没有-1的,那怎么表示负数呢?

使用特权

评论回复
7
皈依| | 2015-11-13 17:04 | 只看该作者
楼主需要看看数电前面的知识~

使用特权

评论回复
8
泰山特曲123| | 2015-11-13 19:06 | 只看该作者
你把仿真软件上的数据类型设置为有符号数

使用特权

评论回复
9
阿牛哥| | 2015-11-14 13:36 | 只看该作者
你是用什么仿真的?仿真的变量类型也是有符号类型?

使用特权

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

本版积分规则

3

主题

11

帖子

0

粉丝