智能车制作

 找回密码
 注册

扫一扫,访问微社区

12
返回列表 发新帖
楼主: zl6977
打印 上一主题 下一主题

[咨询] 问个参考方案程序上的问题

[复制链接]

6

主题

264

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1608
威望
959
贡献
341
兑换币
43
注册时间
2010-12-10
在线时间
154 小时
11#
 楼主| 发表于 2012-4-22 16:41:48 | 只看该作者
吉他手 发表于 2012-4-22 16:32
可以去掉+1,也可以视而不见。

对于后面的 多个常数计算一般的C编译器均会将其合并成一个常数计算。

好,谢谢。
又想了一下,去掉“+1”逻辑上不对,当g_nSpeedControlPeriod =100时算出来g_fSpeedControlOut 后,紧接着就该执行else if(g_n1MSEventCount == 3)而不是else if(g_n1MSEventCount == 2),可是电机输出的函数是在else if(g_n1MSEventCount == 2)里面的,这个值算然算出来了,但是没被输出出去


所以符合逻辑的应该是“g_nSpeedControlPeriod ++ 与SpeedControlOutput()调换一下”。


是吧?
回复 支持 反对

使用道具 举报

6

主题

264

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1608
威望
959
贡献
341
兑换币
43
注册时间
2010-12-10
在线时间
154 小时
12#
 楼主| 发表于 2012-4-22 16:54:28 | 只看该作者
吉他手 发表于 2012-4-22 16:32
可以去掉+1,也可以视而不见。

对于后面的 多个常数计算一般的C编译器均会将其合并成一个常数计算。

好像也不对。。“g_nSpeedControlPeriod ++ 与SpeedControlOutput()调换一下”最终算出来的值还是没被输出出去,而且从效果上说,这才是0.99倍的调控量。

有点乱,还是视而不见吧,虽然g_fSpeedControlOut 会有一个逻辑上不应该出现的值,但是这个值对实际效果没有影响,好像并不是1.01倍。

我主要是想模仿您那个平滑输出的函数写一个逐步提高速度的起跑函数,结果发现速度设定值总是多出一个“步长”,看来这个地方不该“+1”,您那两个函数确实该“+1”。

回复 支持 反对

使用道具 举报

5

主题

93

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2842
威望
1087
贡献
599
兑换币
264
注册时间
2012-3-31
在线时间
578 小时
13#
发表于 2012-12-4 01:13:30 | 只看该作者
回复 支持 反对

使用道具 举报

14

主题

77

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1580
威望
768
贡献
484
兑换币
491
注册时间
2014-9-13
在线时间
164 小时
14#
发表于 2015-3-22 13:55:45 | 只看该作者
:lol:lol:lol:lol:lol:lol:lol:lol
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-25 05:22 , Processed in 0.051298 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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