请教各位大神,为啥宏定义ACT1_RCLA_STOP_ON实际的值并不是420,但是ACT1_RCLA_TAIL_ON的值是80?
#define RCLB_TAIL_UP 4
#define RCLA_TAIL 11
#define RCLB_TAIL_DOWN 6
#define RCLA_STOP 7
#define RCLB_STOP 7
#define ACT1_CYCLE 200 //周期200ms
#define ACT1_RATIO 10 //系数
#define ACT1_RCLA_WAIT 1500 //1500ms
#define ACT1_RCLA_TAIL_ON ((RCLB_TAIL_UP*ACT1_CYCLE)/ACT1_RATIO) // 80
#define ACT1_RCLA_STOP_ON (((RCLA_TAIL*ACT1_CYCLE)+(RCLB_TAIL_DOWN*ACT1_CYCLE)+ACT1_RCLA_TAIL_ON)/ACT1_RATIO))// 420
#define ACT1_RCLA_STOP_OFF ((RCLA_STOP*ACT1_CYCLE)+ACT1_RCLA_WAIT+ACT1_RCLA_STOP_ON) // 710
#define ACT1_RCLA_TAIL_OFF ((RCLA_STOP*ACT1_CYCLE)+(RCLB_TAIL_DOWN*ACT1_CYCLE)+ACT1_RCLA_STOP_OFF) //970
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4 * 200 / 10 = 80 没毛病啊。
#define ACT1_RCLA_STOP_ON (((RCLA_TAIL*ACT1_CYCLE)+(RCLB_TAIL_DOWN*ACT1_CYCLE)+ACT1_RCLA_TAIL_ON)/ACT1_RATIO))// 420
(((11 * 200) + (6 * 200)) + 80) / 10 = 348 没毛病啊。
我也很郁闷,开发环境是codewarrior 11.6
是我自己计算后写的注释
那到底是什么问题呢?
能描述清楚吗?
明天再用别的编译器试一下吧
一周热门 更多>