久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 183|回復(fù): 0
收起左側(cè)

STM32系列單片機按鍵在定時器中的應(yīng)用?包括單擊、雙擊

[復(fù)制鏈接]
ID:945807 發(fā)表于 2025-6-12 13:56 | 顯示全部樓層 |閱讀模式
  1. #include "stm32f10x.h"                  // Device header
  2. #include "Timer.h"
  3. #include "StaticData.h"
  4. #include "TM1637.h"
  5. #include "led.h"
  6. #include "can.h"


  7. uint16_t x,y;
  8. int count; //定時器計數(shù)
  9. int KeyStartcount;//長按事件計數(shù)
  10. uint8_t  UpdateState;                        //設(shè)置運行狀態(tài)標(biāo)志位
  11. uint8_t         RunState;                            //運行狀態(tài)
  12. uint8_t         AwaitSetRunState;                    //設(shè)置運行狀態(tài)
  13. int smg_Mode;  //數(shù)碼管調(diào)節(jié)


  14. void TIM2_IRQHandler(void)
  15. {
  16.         if (TIM_GetITStatus(TIM2, TIM_IT_Update) == SET)
  17.         {
  18.         count++;
  19.         
  20.       
  21.         //啟動停止
  22.         KeyTask(&KeyStartStop);
  23.         if(KeyStartStop.Event==LONG_PRESS)//長按
  24.         {   
  25.             if(KeyStartcount==0)
  26.             {
  27.                 UpdateState=1; //運行狀態(tài)更新標(biāo)志位
  28.                 if(RunState==0)    //運行狀態(tài)
  29.                 {
  30.                     AwaitSetRunState=1;//啟動
  31.                     RunState=1;
  32.                   
  33.                 }
  34.                 else
  35.                 {
  36.                     AwaitSetRunState=0;//停止
  37.                     RunState=0;
  38.                 }
  39.             }
  40.             KeyStartcount++; //長按一次只觸發(fā)一次
  41.         }
  42.         else
  43.         {
  44.             KeyStartcount=0;//復(fù)位長按事件
  45.         }

  46.         
  47.                 TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
  48.         }
  49. }



  50. int16_t Encoder_Get(void)
  51. {

  52.         int16_t Temp;
  53.         if(AwaitSetRunState==1)
  54.     {
  55.       smg_Mode=1;
  56.         if(smg_Mode==1)
  57.         {
  58.            TIM_SetCounter(TIM3,96);
  59.         }
  60.        else
  61.         {
  62.             TIM_SetCounter(TIM3,0);
  63.           }
  64.     }
  65.      if(smg_Mode==1)
  66.      {
  67.        Temp = TIM_GetCounter(TIM3);
  68.           if(Temp>=96)
  69.             {
  70.                 Temp=96;
  71.                 TIM_SetCounter(TIM3,96);
  72.             }
  73.    
  74.             if(Temp<4)
  75.             {
  76.                 Temp=4;
  77.                 TIM_SetCounter(TIM3,4);
  78.             }
  79.         }
  80.         else
  81.         {
  82.             
  83.                 TIM_SetCounter(TIM3,0);
  84.            
  85.         }

  86.     return Temp;
  87. }









  88. int main()
  89. {
  90.     KeyHandlerInit();
  91.     Timer_Init();
  92.     TM1637_Init();       
  93.     LED_Init();
  94. //   
  95.    CAN_Configuration();
  96.    CAN_NVIC_Configuration(USB_LP_CAN1_RX0_IRQn,2,0); //CAN中斷配置
  97.     while (1)
  98.     {
  99.         x=Encoder_Get()/4;
  100.         
  101.         TM1637_SetNum(5,x/10);//個位
  102.         TM1637_SetNum(4,x%10);//十位

  103.        TM1637_Display_INC();
  104.        TM1637_SetBrightness( 7 );
  105.         if(count%5==0)
  106.         {
  107.          CAN_Datasend(0xdd,0x00,0x50,0,0,0);
  108.         
  109.         }
  110.         if(AwaitSetRunState==1)
  111.         { GPIO_SetBits(LEDPORTb,DOT);
  112.            GPIO_SetBits(LEDPORTa,FIRE);
  113.              CAN_Datasend(0xdd,0x00,0x50,0,0,0);  
  114.              }
  115.        else
  116.            
  117.         { GPIO_ResetBits(LEDPORTb,DOT);
  118.            GPIO_ResetBits(LEDPORTa,FIRE);
  119.             CAN_Datasend(0xdd,0x42,0x50,0,0,0);  
  120.         }

  121.     }

  122. }
復(fù)制代碼

原理圖: 無
仿真: 無
代碼: 長按短按實例.7z (188.59 KB, 下載次數(shù): 0)
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久国产精品视频 | 成人在线观看免费观看 | 亚洲三区在线 | 米奇7777狠狠狠狠视频 | 91福利网址 | 国产人免费人成免费视频 | 亚洲一区二区三区免费观看 | 欧美精品在线免费 | 亚洲免费在线视频 | 激情欧美日韩一区二区 | 久久中文字幕一区 | 精品久久久久国产 | 精品毛片 | 在线看av的网址 | 亚洲国产中文字幕 | 国产精品18hdxxxⅹ在线 | 亚洲欧洲一区二区 | 亚洲欧洲成人av每日更新 | 在线观看日本高清二区 | 天天躁天天操 | 欧美激情一区二区三级高清视频 | 国产一区二区三区四区 | 国产精品二区三区 | 亚洲国产精品日韩av不卡在线 | 成人性视频免费网站 | 久久国产亚洲精品 | 日韩综合一区 | 一区二区三区不卡视频 | 亚洲国产成人精品女人 | 欧美在线a | 青青操91 | 不卡av电影在线播放 | www.日韩系列 | 国产精品一区二区久久久久 | 亚洲欧美综合精品久久成人 | 一区二区日韩 | 精品国产欧美一区二区 | 日韩一区二区成人 | 久久久久久亚洲精品 | 在线观看视频你懂得 | 国产美女一区 |