我正在尝试用Arduino制作秒表 通过多路复用,我可以用我写的函数显示一个静态数字:
void display7s (int i, int j, int k, int l)
{
while (1) {
displayNumber(i, 4);
delay(1);
displayNumber(j, 3);
delay(1);
displayNumber(k, 2);
delay(1);
displayNumber(l, 1);
delay(1);
}
}
i
,j
,k
,l
参数是要显示的数字。 displayNumber
显示并转换数字,此函数的第二个参数是数字,确实7段显示有4位数。
我不知道如何继续显示从(0010到9999,...)的增量数字 我只能显示静态的4位数字。
我知道我的函数编写方式它可以工作,因为它是一个无限循环,但我想结合这个无限循环和1000毫秒延迟来增加时间。
答案 0 :(得分:0)
如果您的问题是将数字分解为各自的数字, 你可以这样做:
while(1) {
int n = 0;
int i = n/1000; // x * 1000
int j = n/100 % 10; // x * 100
int k = n/10 % 10; // x * 10
int l = n % 10; // x
displayNumber(i,4);
delay(1);
displayNumber(j,3);
delay(1);
displayNumber(k,2);
delay(1);
displayNumber(l,1);
delay(1000);
n++;
if(n>9999) n = 0;
}