標(biāo)題:
HK32單片機(jī)按鍵掃描代碼
[打印本頁(yè)]
作者:
sr861126
時(shí)間:
2024-5-9 16:43
標(biāo)題:
HK32單片機(jī)按鍵掃描代碼
分高低電平兩種
void Keys_Scan_Periodic_Callback(void)
{
static uint32_t key1_cnt = 0;
static uint32_t key2_cnt = 0;
static uint32_t key3_cnt = 0;
static uint32_t key4_cnt = 0;
if((GPIOC->IDR & GPIO_Pin_3) ) //高電平
{
key1_cnt ++;
if(T_50ms == key1_cnt)
{
key1_flag = SET;
}
if(key1_cnt > 0x0FFFFFFF)
{
key1_cnt = 0x0FFFFFFF;
}
}
else
{
key1_cnt = 0;
}
if( !(GPIOC->IDR & GPIO_Pin_4) )//低電平
{
key2_cnt ++;
if(T_50ms == key2_cnt)
{
key2_flag = SET;
}
if(key2_cnt > 0x0FFFFFFF)
{
key2_cnt = 0x0FFFFFFF;
}
}
else
{
key2_cnt = 0;
}
if( !(GPIOC->IDR & GPIO_Pin_5) )
{
key3_cnt ++;
if(T_50ms == key3_cnt)
{
key3_flag = SET;
}
if(key3_cnt > 0x0FFFFFFF)
{
key3_cnt = 0x0FFFFFFF;
}
}
else
{
key3_cnt = 0;
}
if( !(GPIOC->IDR & GPIO_Pin_6) )
{
key4_cnt ++;
if(T_50ms == key4_cnt)
{
key4_flag = SET;
}
if(key4_cnt > 0x0FFFFFFF)
{
key4_cnt = 0x0FFFFFFF;
}
}
else
{
key4_cnt = 0;
}
}
void ADC_Scan_Periodic_Callback(void)
{
static uint32_t adc_cnt = 0;
if(ADC1->DR < ADC_Threshold_Value)
{
adc_cnt ++;
if(T_100ms == adc_cnt)
{
acd_power_down_flag = SET;
}
if(adc_cnt > 0x0FFFFFFF)
{
adc_cnt = 0x0FFFFFFF;
}
}
else
{
adc_cnt = 0;
}
}
void Key1_Process(void)
{
if(SET == key1_flag)
{
/* Add code here */
Power_OFF;delay_ms(1000);Power_ON;
/* code end */
key1_flag = RESET;
}else
Power_ON;
}
void Key2_Process(void)
{
if(SET == key2_flag)
{
/* Add code here */
/* code end */
key2_flag = SET;
}
}
void Key3_Process(void)
{
if(SET == key3_flag)
{
/* Add code here */
// L1_ON;
// L2_ON;
// delay_ms(100);
// L1_OFF;
// L2_OFF;
// charge();
// R1_ON;
// R2_ON;
// delay_ms(100);
// R1_OFF;
// R2_OFF;
// charge();
/* code end */
key3_flag = SET;
}
}
void Key4_Process(void)
{
if(SET == key4_flag)
{
/* Add code here */
/* code end */
key4_flag = RESET;
}
}
void Adc_Process(void)
{
if(SET == acd_power_down_flag)
{
/* Add code here */
// PC7_ON;
/* code end */
acd_power_down_flag = RESET;
}
}
復(fù)制代碼
原理圖: 無(wú)
仿真: 無(wú)
代碼:
HK32F030MF4P6_4xKeys_1xADC.7z
(171.51 KB, 下載次數(shù): 0)
2024-5-11 00:22 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1