我正在编写一个在微处理器和LCD屏幕上从3开始倒计时的功能。
void countdown() {
_delay_ms(1000);
draw_string("3",40,20);
_delay_ms(1000);
clear();
draw_string("2",40,20);
_delay_ms(1000);
clear();
draw_string("1",40,20);
_delay_ms(1000);
clear();
}
我试过这个,但这显然效率低下且做法不好。
我怎么能正确地写这个?
答案 0 :(得分:1)
使用for
循环:
for (char c = '3'; c > '0'; c--)
{
// Convert c to an ascii value and null-terminate
char str[2] = { c, '\0' };
// Draw the string
draw_string(str, 40, 20);
_delay_ms(1000);
clear();
}