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

標題: stm32單片機流水燈代碼 [打印本頁]

作者: heidianzilt    時間: 2023-4-21 11:37
標題: stm32單片機流水燈代碼
代碼:
#include "stm32f10x.h"
#include "bsp_led.h"
#include "bsp_key.h"


void Tim3_Int_Init(u16 arr,u16 psc);
void TIM3_IRQHandler(void);
int x = 1;
int mode = 0;
int change = 0;
int y = 1;

/**
  * @brief  主函數
  * @param  無  
  * @retval 無
  */
int main(void)
{   
    /* LED 端口初始化 */
    LED_GPIO_Config();   

    while (1)
    {
        if (mode==1 && change==0)
        {
            Tim3_Int_Init(4999, 7199);
            change = 1;
        }
        else if (mode==2 && change==0)
        {
            Tim3_Int_Init(7199, 9999);
            change = 1;
        }
        TIM3_IRQHandler();
        if( Key_Scan(KEY2_GPIO_PORT,KEY2_GPIO_PIN) == KEY_ON )
        {
            mode += 1;
            change = 0;
            if (mode >= 5)
            {
                mode = 1;
            }
        }
        if( Key_Scan(KEY1_GPIO_PORT,KEY1_GPIO_PIN) == KEY_ON )
        {
            y += 1;
            LED1_ON;
        }
    }
}

void Tim3_Int_Init(u16 arr,u16 psc)
{
    TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;//配置定時器時鐘
    NVIC_InitTypeDef NVIC_InitStruct;//配置中斷控制器

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//使能定時器時鐘

    TIM_TimeBaseInitStruct.TIM_ClockDivision = TIM_CKD_DIV1;//設置時鐘分割
    TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up;//設置為向上計數模式
    TIM_TimeBaseInitStruct.TIM_Period = arr;//設置在下一個更新時間裝入活動的自動重裝載寄存器周期的值
    TIM_TimeBaseInitStruct.TIM_Prescaler = psc;//預分頻值

    TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStruct);//初始化

    TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);//使能TIM3中斷,允許更新中斷

    NVIC_InitStruct.NVIC_IRQChannel = TIM3_IRQn;
    NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;
    NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0;
    NVIC_InitStruct.NVIC_IRQChannelSubPriority = 3;
    NVIC_Init(&NVIC_InitStruct);//NVIC

    TIM_Cmd(TIM3,ENABLE);//使能TIM3
}

void TIM3_IRQHandler(void)
{
    if(TIM_GetITStatus(TIM3,TIM_IT_Update) == 1)//檢查TIM3更新中斷發生與否
    {
        TIM_ClearITPendingBit(TIM3,TIM_IT_Update);//清除TIMx更新中斷標志
        x += 1;
        switch(mode)
        {
            case 1:
                if (x==1)
                {
                    LED3_OFF;
                    LED1_ON;
                }
                else if (x==2)
                {
                    LED1_OFF;
                    LED2_ON;
                }
                else if (x==3)
                {
                    LED2_OFF;
                    LED3_ON;
                    x = 0;
                }
                break;
            case 2:
                if (x==1)
                {
                    LED2_OFF;
                    LED3_OFF;
                    LED1_ON;
                }
                else if (x==2)
                {
                    LED2_ON;
                    LED3_ON;
                    x = 0;
                }
                break;
            case 3:
                if (y==1)
                {
                    LED3_OFF;
                    LED1_ON;
                }
                else if (y==2)
                {
                    LED1_OFF;
                    LED2_ON;
                }
                else if (y==3)
                {
                    LED2_OFF;
                    LED3_ON;
                    y = 1;
                }
                break;
            default:
                break;
        }


    }

}





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产1级片 | 国产日韩精品一区二区 | 久久精品久久久久久久 | 长河落日电视连续剧免费观看 | 九九视频在线观看 | 亚洲一区久久 | 中文在线字幕观看 | 中文在线免费观看 | 国产理论在线观看 | 日韩视频一区二区三区 | 成人欧美激情 | 一区二区免费在线观看 | 欧美视频三区 | 精品欧美一区二区精品久久 | 欧美日韩精品在线观看 | 麻豆成人91精品二区三区 | 久久精品一 | 欧美日韩精品一区二区三区 | 在线中文字幕 | 久久久久成人网 | 高清一级片 | 精品一区二区视频 | 98在线视频 | 日日夜夜艹| 免费视频一区二区 | 亚洲一区在线观看视频 | 日韩黄色一级片 | 国产一级免费 | 中文字幕亚洲综合 | 91精品一区二区 | 中文字幕精品视频 | 亚洲精品一二三四区 | 日韩视频免费在线观看 | a在线免费观看 | 国产理论视频 | 国产免费91 | 免费av在线 | 日韩免费一区 | 久久精品视频网站 | 色婷婷亚洲 | 免费视频国产 |