#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED=P1^0
bit flag
uchar count=0
void delay(uchar c)
{
uchar a, b
for (c>0c--)
for (b=142b>0b--)
for (a=2a>0a--)
}
void main(void)
{
TMOD=0x01
TH0=(65536-50000)/256
TL0=(65536-50000)%256
EA=1
ET0=1
TR0=1
while(1)
{
if(flag==1)
{
LED=0
delay(100)
LED=1
flag=0
}
}
}
void time0(void) interrupt 1
{
TH0=(65536-50000)/256
TL0=(65536-50000)%256
count++
if (count>=20)
{
count=0
flag=1
}
不清楼上的问题。按照我的理解回答一下:在连续调用中返回不同值
在不同的调用上返回不同的值有两种方法.第一是定义多个期望并从每个中返回一个不同值:
oneOf (anObject).doSomething()will(returnValue(10))
oneOf (anObject).doSomething()will(returnValue(20))
oneOf (anObject).doSomething()will(returnValue(30))
第一次调用doSomething会返回10,第二次返回20,第三次返回30.
然而,重复定义期望调用,所以会增加维护负担.一个更好的方法是使用onConsecutiveCalls方法来在不同的调用中返回不同值(或者执行一个不同的行为
atLeast(1).of (anObject).doSomething()
will(onConsecutiveCalls(
returnValue(10),
returnValue(20),
returnValue(30)))
这个期望被期望至少调用一次,而不是三次,如果你想要,稍后你可以很容易添加更多效果.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)