|
- #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ù)
- int KeyStartcount;//長按事件計數(shù)
- uint8_t UpdateState; //設(shè)置運行狀態(tài)標(biāo)志位
- uint8_t RunState; //運行狀態(tài)
- uint8_t AwaitSetRunState; //設(shè)置運行狀態(tài)
- int smg_Mode; //數(shù)碼管調(diào)節(jié)
- 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; //運行狀態(tài)更新標(biāo)志位
- if(RunState==0) //運行狀態(tài)
- {
- AwaitSetRunState=1;//啟動
- RunState=1;
-
- }
- else
- {
- AwaitSetRunState=0;//停止
- RunState=0;
- }
- }
- KeyStartcount++; //長按一次只觸發(fā)一次
- }
- else
- {
- KeyStartcount=0;//復(fù)位長按事件
- }
-
-
- 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);
- }
- }
- }
復(fù)制代碼
原理圖: 無
仿真: 無
代碼:
長按短按實例.7z
(188.59 KB, 下載次數(shù): 0)
2025-6-12 14:49 上傳
點擊文件名下載附件
|
|