问题1
__IO uint32_t uwTick_Lcd_Set_Point = 0
__IO是什么?
问题2
void Key_Proc(void)
{
if(uwTick - uwTick_Key_Set_Point <100) return;//减速函数
uwTick_Key_Set_Point = uwTick;
ucKey_Val = Key_Scan();
ucKey_Down = ucKey_Val & (ucKey_Old ^ ucKey_Val);
ucKey_Up = ~ucKey_Val & (ucKey_Old ^ ucKey_Val);
ucKey_Old = ucKey_Val;
if(ucKey_Down == 4)
{
LED_Disp(0xFF);
}
if(ucKey_Down == 3)
{
LED_Disp(0x00);
}
}
减速函数的作用?
问题3
是否按键都采用类似方式监控
问题4
视频中情况的原因
问题5
调试模式的使用方法及作用
https://blog.51cto.com/u_14436836/4893486
问题6
void Lcd_Proc(void)
{
if(uwTick - uwTick_Lcd_Set_Point <1000) return;//减速函数
uwTick_Lcd_Set_Point = uwTick;
i++;
sprintf((char *)Lcd_Disp_String, " Timer : %05d S ",i);
LCD_DisplayStringLine(Line4,Lcd_Disp_String);
}
我注意到,如果i的定义类型是unsigned char 那么i会在计数为255时 -255 然后记录 这是为什么?
问题7
void Key_Proc(void)
{
if(uwTick - uwTick_Key_Set_Point <100) return;//减速函数
uwTick_Key_Set_Point = uwTick;
ucKey_Val = Key_Scan();
ucKey_Down = ucKey_Val & (ucKey_Old ^ ucKey_Val);
ucKey_Up = ~ucKey_Val & (ucKey_Old ^ ucKey_Val);
ucKey_Old = ucKey_Val;
if(ucKey_Down == 4)
{
LED_Disp(0xFF);
}
if(ucKey_Down == 3)
{
LED_Disp(0x00);
}
if(ucKey_Down == 2)
{
i+=1000;
}
if(ucKey_Down == 1)
{
i-=1000;
}
}
void Lcd_Proc(void)
{
if(uwTick - uwTick_Lcd_Set_Point <1000) return;//减速函数
uwTick_Lcd_Set_Point = uwTick;
i++;
unsigned int h = i / 3600;
unsigned int m = (i % 3600) / 60;
unsigned int s = i % 60;
LCD_DisplayStringLine(Line2, (uint8_t*)" iTimer ");
sprintf((char *)Lcd_Disp_String, " %02d H %02d M %02d S ",h,m,s);
LCD_DisplayStringLine(Line4,Lcd_Disp_String);
LCD_DisplayStringLine(Line6, (uint8_t*)" passed ");
}
为什么unsigned int会出现负值?