亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
STM32系列單片機按鍵在定時器中的應用?包括單擊、雙擊
[打印本頁]
作者:
tjdk2if
時間:
2025-6-12 13:56
標題:
STM32系列單片機按鍵在定時器中的應用?包括單擊、雙擊
#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; //定時器計數
int KeyStartcount;//長按事件計數
uint8_t UpdateState; //設置運行狀態標志位
uint8_t RunState; //運行狀態
uint8_t AwaitSetRunState; //設置運行狀態
int smg_Mode; //數碼管調節
void TIM2_IRQHandler(void)
{
if (TIM_GetITStatus(TIM2, TIM_IT_Update) == SET)
{
count++;
//啟動停止
KeyTask(&KeyStartStop);
if(KeyStartStop.Event==LONG_PRESS)//長按
{
if(KeyStartcount==0)
{
UpdateState=1; //運行狀態更新標志位
if(RunState==0) //運行狀態
{
AwaitSetRunState=1;//啟動
RunState=1;
}
else
{
AwaitSetRunState=0;//停止
RunState=0;
}
}
KeyStartcount++; //長按一次只觸發一次
}
else
{
KeyStartcount=0;//復位長按事件
}
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);//個位
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);
}
}
}
復制代碼
原理圖: 無
仿真: 無
代碼:
長按短按實例.7z
(188.59 KB, 下載次數: 0)
2025-6-12 14:49 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1