27,374
社区成员
发帖
与我相关
我的任务
分享
int main(void)
{
char string[50],number[30];
uint16_t m,se,ms;
SystemInit();
EINT1_init(); // set P2.11 as EINT1 -- KEY1
EINT2_init(); // set P2.12 as EINT1 -- KEY2
lcd_Initializtion(); // init lcd
m = 0;
se = 0;
ms = 0;
while(1)
{
sprintf(number,"My id:1400210313");
LCD_write_english_string(20,50,number,Cyan,Blue);
sprintf(string,"current time:%dm-%ds-%d",m,se,ms);
LCD_write_english_string(20,100,string,Cyan,Blue);
if((Eint1_Count % 2) == 1) //开始、清零
{
LCD_write_english_string(20,150," ",White,Blue);
LCD_write_english_string(20,150,"start",Cyan,Blue);
SysTick_Config(Fcclk/100); // SysTick使用CCLK时钟计数,每10ms产生一次中断
ms = TimeTick * 10;
}
else
{
SysTick->CTRL &= 0x00;
m = 0;
se = 0;
ms = 0;
}
if((Eint2_Count % 2)== 1) //暂停、继续
{
SysTick->CTRL &= 0x00;
LCD_write_english_string(20,150," ",White,Blue);
LCD_write_english_string(20,150,"stop",Cyan,Blue);
}
else
{
SysTick->CTRL |= 0x01;
}
if(ms == 1000)
{
// ms = 0;
se++;
}
if(se == 60)
{
se = 0;
m++;
}
sprintf(string,"current time:%dm-%ds-%dms",m,se,ms);
LCD_write_english_string(20,100,string,Cyan,Blue);
//__WFE();
__WFI(); // 等待中断
}
}