mbed os 5 C++ 编程
mbed os 5 c++ programming
void rise_handler() { timer.start();}
void fall_handler() { timer.stop(); }
void signal() {
while(1) {
if (num > 0.5) {
rise_handler();
}
else {
fall_handler();
}
}
}
我有一个来自传感器的输入,它随时间变化。 num大于0.5while循环只会调用一次怎么办?
添加布尔标志。当条件为真时设置标志,当条件为假时清除标志。
结合条件使用这个标志来知道什么时候调用哪个函数。
示例:
bool flag = false;
while (1)
{
if (num > 0.5)
{
if (!flag)
{
// First time above the threshold
flag = true;
rise_handler();
}
}
else
{
if (flag)
{
// First time below the threshold
flag = false;
fall_handler();
}
}
}
void rise_handler() { timer.start();}
void fall_handler() { timer.stop(); }
void signal() {
while(1) {
if (num > 0.5) {
rise_handler();
}
else {
fall_handler();
}
}
}
我有一个来自传感器的输入,它随时间变化。 num大于0.5while循环只会调用一次怎么办?
添加布尔标志。当条件为真时设置标志,当条件为假时清除标志。
结合条件使用这个标志来知道什么时候调用哪个函数。
示例:
bool flag = false;
while (1)
{
if (num > 0.5)
{
if (!flag)
{
// First time above the threshold
flag = true;
rise_handler();
}
}
else
{
if (flag)
{
// First time below the threshold
flag = false;
fall_handler();
}
}
}