我正在考虑编写一个自动更换自行车装备的程序.它可能需要一个微处理器,所以我想到的问题是:编程微处理器有什么不同的语言,还是可以用c和c ++来完成?
另一件事是,关于程序,一个switch声明可以做我的工作,还是我需要指针或链表,因为齿轮可以上下两种方式工作?我对switch陈述事情有点困惑!
Cur*_*urd 23
您不需要switch语句,只需使用shift运算符:
上移:
齿轮<< = 1;
降档:
齿轮>> = 1;
我可能既不使用指针,链接列表或开关来写它很难.
您需要知道的第一件事是您拥有什么样的输入以及如何获得它们.
然后,您需要知道可以发送的输出以及输出方式.
假设您可以将rpm读作C变量,而另一个变量控制齿轮,这应该有效:
while (1) {
if (rpm <= 3) chggear(-1);
if (rpm >= 7.4) chggear(+1);
}
Run Code Online (Sandbox Code Playgroud)
功能chggear将改变档位并等待一段合适的时间,以确保下一个档位在返回环路之前接合.
int chggear(int direction) {
gear += direction;
sleep(10); /* wait for gear to engage */
return gear; /* return currently engaged gear */
}
Run Code Online (Sandbox Code Playgroud)
编辑您也可以直接更改为特定档位,无论变速箱在做什么:
int jumptogear(int geartojump) {
gear = geartojump;
}
Run Code Online (Sandbox Code Playgroud)
并像这样使用它
if (breaking) jumptogear(1); /* and possibly break gearbox */
Run Code Online (Sandbox Code Playgroud)
除了一个非常糟糕的想法和一个可能极其危险的"实验"试图编程自己的微处理器自动更换你的自行车上的齿轮,你可能会发现调查Arduino的东西很有用.
Arduino是一个"开源硬件"板,可以用C,C++或C#编程(取决于你买的那个).它通过USB直接插入您的计算机进行编程.您可以将任何您喜欢的东西连接起来 - 电机,伺服器,传感器等......
| 归档时间: |
|
| 查看次数: |
2301 次 |
| 最近记录: |