欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
STM32系列單片機(jī)按鍵在定時(shí)器中的應(yīng)用?包括單擊、雙擊
[打印本頁(yè)]
作者:
tjdk2if
時(shí)間:
2025-6-12 13:56
標(biāo)題:
STM32系列單片機(jī)按鍵在定時(shí)器中的應(yīng)用?包括單擊、雙擊
#include "stm32f10x.h" // Device header
#include "Timer.h"
#include "StaticData.h"
#include "TM1637.h"
#include "led.h"
#include "can.h"
uint16_t x,y;
int count; //定時(shí)器計(jì)數(shù)
int KeyStartcount;//長(zhǎng)按事件計(jì)數(shù)
uint8_t UpdateState; //設(shè)置運(yùn)行狀態(tài)標(biāo)志位
uint8_t RunState; //運(yùn)行狀態(tài)
uint8_t AwaitSetRunState; //設(shè)置運(yùn)行狀態(tài)
int smg_Mode; //數(shù)碼管調(diào)節(jié)
void TIM2_IRQHandler(void)
{
if (TIM_GetITStatus(TIM2, TIM_IT_Update) == SET)
{
count++;
//啟動(dòng)停止
KeyTask(&KeyStartStop);
if(KeyStartStop.Event==LONG_PRESS)//長(zhǎng)按
{
if(KeyStartcount==0)
{
UpdateState=1; //運(yùn)行狀態(tài)更新標(biāo)志位
if(RunState==0) //運(yùn)行狀態(tài)
{
AwaitSetRunState=1;//啟動(dòng)
RunState=1;
}
else
{
AwaitSetRunState=0;//停止
RunState=0;
}
}
KeyStartcount++; //長(zhǎng)按一次只觸發(fā)一次
}
else
{
KeyStartcount=0;//復(fù)位長(zhǎng)按事件
}
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
}
}
int16_t Encoder_Get(void)
{
int16_t Temp;
if(AwaitSetRunState==1)
{
smg_Mode=1;
if(smg_Mode==1)
{
TIM_SetCounter(TIM3,96);
}
else
{
TIM_SetCounter(TIM3,0);
}
}
if(smg_Mode==1)
{
Temp = TIM_GetCounter(TIM3);
if(Temp>=96)
{
Temp=96;
TIM_SetCounter(TIM3,96);
}
if(Temp<4)
{
Temp=4;
TIM_SetCounter(TIM3,4);
}
}
else
{
TIM_SetCounter(TIM3,0);
}
return Temp;
}
int main()
{
KeyHandlerInit();
Timer_Init();
TM1637_Init();
LED_Init();
//
CAN_Configuration();
CAN_NVIC_Configuration(USB_LP_CAN1_RX0_IRQn,2,0); //CAN中斷配置
while (1)
{
x=Encoder_Get()/4;
TM1637_SetNum(5,x/10);//個(gè)位
TM1637_SetNum(4,x%10);//十位
TM1637_Display_INC();
TM1637_SetBrightness( 7 );
if(count%5==0)
{
CAN_Datasend(0xdd,0x00,0x50,0,0,0);
}
if(AwaitSetRunState==1)
{ GPIO_SetBits(LEDPORTb,DOT);
GPIO_SetBits(LEDPORTa,FIRE);
CAN_Datasend(0xdd,0x00,0x50,0,0,0);
}
else
{ GPIO_ResetBits(LEDPORTb,DOT);
GPIO_ResetBits(LEDPORTa,FIRE);
CAN_Datasend(0xdd,0x42,0x50,0,0,0);
}
}
}
復(fù)制代碼
原理圖: 無(wú)
仿真: 無(wú)
代碼:
長(zhǎng)按短按實(shí)例.7z
(188.59 KB, 下載次數(shù): 0)
2025-6-12 14:49 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1