国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【單片機(jī)】STM32單片機(jī)的各個(gè)定時(shí)器的定時(shí)中斷程序,標(biāo)準(zhǔn)庫(kù)

這篇具有很好參考價(jià)值的文章主要介紹了【單片機(jī)】STM32單片機(jī)的各個(gè)定時(shí)器的定時(shí)中斷程序,標(biāo)準(zhǔn)庫(kù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

【單片機(jī)】STM32單片機(jī)的各個(gè)定時(shí)器的定時(shí)中斷程序,標(biāo)準(zhǔn)庫(kù)

【單片機(jī)】STM32單片機(jī)的各個(gè)定時(shí)器的定時(shí)中斷程序,標(biāo)準(zhǔn)庫(kù)

高級(jí)定時(shí)器和普通定時(shí)器的區(qū)別(https://zhuanlan.zhihu.com/p/557896041):

【單片機(jī)】STM32單片機(jī)的各個(gè)定時(shí)器的定時(shí)中斷程序,標(biāo)準(zhǔn)庫(kù)

定時(shí)器1_定時(shí)中斷

TIM1是高級(jí)定時(shí)器,使用的時(shí)鐘總線是RCC_APB2Periph_TIM1,和普通定時(shí)器不一樣。

timer.c

#include "timer.h"
#include "led.h"
//初始化定時(shí)器為中斷觸發(fā)
void TIM1_Init(u16 arr,u16 psc)
{
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
    NVIC_InitTypeDef NVIC_InitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); //時(shí)鐘使能

    //定時(shí)器TIM1初始化
    TIM_TimeBaseStructure.TIM_Period = arr; //設(shè)置在下一個(gè)更新事件裝入活動(dòng)的自動(dòng)重裝載寄存器周期的值
    TIM_TimeBaseStructure.TIM_Prescaler =psc; //設(shè)置用來(lái)作為T(mén)IMx時(shí)鐘頻率除數(shù)的預(yù)分頻值
    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //設(shè)置時(shí)鐘分割:TDTS = Tck_tim
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上計(jì)數(shù)模式
    TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根據(jù)指定的參數(shù)初始化TIMx的時(shí)間基數(shù)單位

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

    //中斷優(yōu)先級(jí)NVIC設(shè)置
    NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQn;  //TIM3中斷
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占優(yōu)先級(jí)0級(jí)
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //從優(yōu)先級(jí)3級(jí)
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
    NVIC_Init(&NVIC_InitStructure);  //初始化NVIC寄存器

    TIM_Cmd(TIM1, ENABLE);  //使能TIM1

}
/* 定時(shí)器1中斷服務(wù)程序 */
void TIM1_UP_IRQHandler(void)                                    /* TIM1中斷 */
{

        if (TIM_GetITStatus(TIM1, TIM_IT_Update) != RESET)  /* 檢查T(mén)IM1更新中斷發(fā)生與否 */
        {
            TIM_ClearITPendingBit(TIM1, TIM_IT_Update);   /* 清除TIM1更新中斷標(biāo)志 */

            LED0 = !LED0;
        }
}



timer.h

#ifndef __TIMER_H
#define __TIMER_H
#include "sys.h"

void TIM1_Init(u16 arr,u16 psc);

#endif




調(diào)用

TIM1_Init(500 - 1, 7200 - 1);//50ms

定時(shí)器2_定時(shí)中斷

timer.c

#include "timer.h"
#include "led.h"
//初始化定時(shí)器為中斷觸發(fā)
void TIM2_Init(u16 arr,u16 psc)
{
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
    NVIC_InitTypeDef NVIC_InitStructure;

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //時(shí)鐘使能

    //定時(shí)器TIM2初始化
    TIM_TimeBaseStructure.TIM_Period = arr; //設(shè)置在下一個(gè)更新事件裝入活動(dòng)的自動(dòng)重裝載寄存器周期的值
    TIM_TimeBaseStructure.TIM_Prescaler =psc; //設(shè)置用來(lái)作為T(mén)IMx時(shí)鐘頻率除數(shù)的預(yù)分頻值
    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //設(shè)置時(shí)鐘分割:TDTS = Tck_tim
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上計(jì)數(shù)模式
    TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //根據(jù)指定的參數(shù)初始化TIMx的時(shí)間基數(shù)單位

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

    //中斷優(yōu)先級(jí)NVIC設(shè)置
    NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;  //TIM3中斷
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占優(yōu)先級(jí)0級(jí)
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //從優(yōu)先級(jí)3級(jí)
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
    NVIC_Init(&NVIC_InitStructure);  //初始化NVIC寄存器

    TIM_Cmd(TIM2, ENABLE);  //使能TIM2

}
/* 定時(shí)器2中斷服務(wù)程序 */
void TIM2_IRQHandler(void)                                    /* TIM2中斷 */
{

        if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)  /* 檢查T(mén)IM2更新中斷發(fā)生與否 */
        {
            TIM_ClearITPendingBit(TIM2, TIM_IT_Update);   /* 清除TIM2更新中斷標(biāo)志 */

            LED0 = !LED0;
        }
}


timer.h

#ifndef __TIMER_H
#define __TIMER_H
#include "sys.h"

void TIM2_Init(u16 arr,u16 psc);

#endif




調(diào)用

TIM2_Init(500 - 1, 7200 - 1);//50ms

定時(shí)器3_定時(shí)中斷

timer.c

#include "timer.h"
#include "led.h"
//初始化定時(shí)器為中斷觸發(fā)
void TIM3_Init(u16 arr,u16 psc)
{
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
    NVIC_InitTypeDef NVIC_InitStructure;

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //時(shí)鐘使能

    //定時(shí)器TIM3初始化
    TIM_TimeBaseStructure.TIM_Period = arr; //設(shè)置在下一個(gè)更新事件裝入活動(dòng)的自動(dòng)重裝載寄存器周期的值
    TIM_TimeBaseStructure.TIM_Prescaler =psc; //設(shè)置用來(lái)作為T(mén)IMx時(shí)鐘頻率除數(shù)的預(yù)分頻值
    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //設(shè)置時(shí)鐘分割:TDTS = Tck_tim
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上計(jì)數(shù)模式
    TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根據(jù)指定的參數(shù)初始化TIMx的時(shí)間基數(shù)單位

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

    //中斷優(yōu)先級(jí)NVIC設(shè)置
    NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM3中斷
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占優(yōu)先級(jí)0級(jí)
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //從優(yōu)先級(jí)3級(jí)
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
    NVIC_Init(&NVIC_InitStructure);  //初始化NVIC寄存器

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

}
/* 定時(shí)器3中斷服務(wù)程序 */
void TIM3_IRQHandler(void)                                    /* TIM3中斷 */
{

        if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)  /* 檢查T(mén)IM3更新中斷發(fā)生與否 */
        {
            TIM_ClearITPendingBit(TIM3, TIM_IT_Update);   /* 清除TIM3更新中斷標(biāo)志 */

            LED0 = !LED0;
        }
}




timer.h

#ifndef __TIMER_H
#define __TIMER_H
#include "sys.h"

void TI3_Init(u16 arr,u16 psc);

#endif




調(diào)用

TIM3_Init(500 - 1, 7200 - 1);//50ms

定時(shí)器4_定時(shí)中斷

timer.c

#include "timer.h"
#include "led.h"
//初始化定時(shí)器為中斷觸發(fā)
void TIM4_Init(u16 arr,u16 psc)
{
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
    NVIC_InitTypeDef NVIC_InitStructure;

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); //時(shí)鐘使能

    //定時(shí)器TIM4初始化
    TIM_TimeBaseStructure.TIM_Period = arr; //設(shè)置在下一個(gè)更新事件裝入活動(dòng)的自動(dòng)重裝載寄存器周期的值
    TIM_TimeBaseStructure.TIM_Prescaler =psc; //設(shè)置用來(lái)作為T(mén)IMx時(shí)鐘頻率除數(shù)的預(yù)分頻值
    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //設(shè)置時(shí)鐘分割:TDTS = Tck_tim
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上計(jì)數(shù)模式
    TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); //根據(jù)指定的參數(shù)初始化TIMx的時(shí)間基數(shù)單位

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

    //中斷優(yōu)先級(jí)NVIC設(shè)置
    NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn;  //TIM3中斷
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占優(yōu)先級(jí)0級(jí)
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //從優(yōu)先級(jí)3級(jí)
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
    NVIC_Init(&NVIC_InitStructure);  //初始化NVIC寄存器
	
		TIM_Cmd(TIM4, ENABLE);  //使能TIM4

}

/* 定時(shí)器4中斷服務(wù)程序 */
void TIM4_IRQHandler(void)                                    /* TIM4中斷 */
{

    if (TIM_GetITStatus(TIM4, TIM_IT_Update) != RESET)  /* 檢查T(mén)IM4更新中斷發(fā)生與否 */
    {
        TIM_ClearITPendingBit(TIM4, TIM_IT_Update);   /* 清除TIM4更新中斷標(biāo)志 */

				LED0 = !LED0;
    }
}

timer.h

#ifndef __TIMER_H
#define __TIMER_H
#include "sys.h"


void TIM4_Init(u16 arr,u16 psc);


#endif


調(diào)用

TIM4_Init(500 - 1, 7200 - 1);//50ms

定時(shí)器5_定時(shí)中斷

timer.c

#include "timer.h"
#include "led.h"
//初始化定時(shí)器為中斷觸發(fā)
void TIM5_Init(u16 arr,u16 psc)
{
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
    NVIC_InitTypeDef NVIC_InitStructure;

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE); //時(shí)鐘使能

    //定時(shí)器TIM5初始化
    TIM_TimeBaseStructure.TIM_Period = arr; //設(shè)置在下一個(gè)更新事件裝入活動(dòng)的自動(dòng)重裝載寄存器周期的值
    TIM_TimeBaseStructure.TIM_Prescaler =psc; //設(shè)置用來(lái)作為T(mén)IMx時(shí)鐘頻率除數(shù)的預(yù)分頻值
    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //設(shè)置時(shí)鐘分割:TDTS = Tck_tim
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上計(jì)數(shù)模式
    TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure); //根據(jù)指定的參數(shù)初始化TIMx的時(shí)間基數(shù)單位

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

    //中斷優(yōu)先級(jí)NVIC設(shè)置
    NVIC_InitStructure.NVIC_IRQChannel = TIM5_IRQn;  //TIM3中斷
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占優(yōu)先級(jí)0級(jí)
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //從優(yōu)先級(jí)3級(jí)
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
    NVIC_Init(&NVIC_InitStructure);  //初始化NVIC寄存器

    TIM_Cmd(TIM5, ENABLE);  //使能TIM5

}
/* 定時(shí)器5中斷服務(wù)程序 */
void TIM5_IRQHandler(void)                                    /* TIM5中斷 */
{

    if (TIM_GetITStatus(TIM5, TIM_IT_Update) != RESET)  /* 檢查T(mén)IM5更新中斷發(fā)生與否 */
    {
        TIM_ClearITPendingBit(TIM5, TIM_IT_Update);   /* 清除TIM5更新中斷標(biāo)志 */

        LED0 = !LED0;
    }
}


timer.h

#ifndef __TIMER_H
#define __TIMER_H
#include "sys.h"


void TIM5_Init(u16 arr,u16 psc);


#endif


調(diào)用文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-508944.html

TIM5_Init(500 - 1, 7200 - 1);//50ms

到了這里,關(guān)于【單片機(jī)】STM32單片機(jī)的各個(gè)定時(shí)器的定時(shí)中斷程序,標(biāo)準(zhǔn)庫(kù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【單片機(jī)】STM32單片機(jī)讀取旋轉(zhuǎn)編碼器,TIM定時(shí)器編碼器模式捕獲,程序

    【單片機(jī)】STM32單片機(jī)讀取旋轉(zhuǎn)編碼器,TIM定時(shí)器編碼器模式捕獲,程序

    旋轉(zhuǎn)編碼器簡(jiǎn)單來(lái)說(shuō),就是會(huì)輸出2個(gè)PWM,依據(jù)相位可以知道旋轉(zhuǎn)方向,依據(jù)脈沖個(gè)數(shù)可以知道旋轉(zhuǎn)的角度。一般旋轉(zhuǎn)一圈有一個(gè)固定數(shù)值的脈沖個(gè)數(shù)。 旋轉(zhuǎn)編碼器廣泛用于電機(jī)、或者角度傳感器,STM32的定時(shí)器可以直接接入這兩個(gè)波形獲取到信息。 前兩個(gè)引腳(接地和Vcc)

    2024年02月13日
    瀏覽(22)
  • STM32單片機(jī)(六)TIM定時(shí)器 -> 第三節(jié):TIM輸出比較

    STM32單片機(jī)(六)TIM定時(shí)器 -> 第三節(jié):TIM輸出比較

    ?? 專(zhuān)欄簡(jiǎn)介:本專(zhuān)欄記錄了從零學(xué)習(xí)單片機(jī)的過(guò)程,其中包括51單片機(jī)和STM32單片機(jī)兩部分;建議先學(xué)習(xí)51單片機(jī),其是STM32等高級(jí)單片機(jī)的基礎(chǔ);這樣再學(xué)習(xí)STM32時(shí)才能融會(huì)貫通。 ?? 專(zhuān)欄適用人群 :適用于想要從零基礎(chǔ)開(kāi)始學(xué)習(xí)入門(mén)單片機(jī),且有一定C語(yǔ)言基礎(chǔ)的的童鞋

    2024年02月09日
    瀏覽(30)
  • STM32單片機(jī)(六)TIM定時(shí)器 -> 第五節(jié):TIM輸入捕獲

    STM32單片機(jī)(六)TIM定時(shí)器 -> 第五節(jié):TIM輸入捕獲

    ?? 專(zhuān)欄簡(jiǎn)介:本專(zhuān)欄記錄了從零學(xué)習(xí)單片機(jī)的過(guò)程,其中包括51單片機(jī)和STM32單片機(jī)兩部分;建議先學(xué)習(xí)51單片機(jī),其是STM32等高級(jí)單片機(jī)的基礎(chǔ);這樣再學(xué)習(xí)STM32時(shí)才能融會(huì)貫通。 ?? 專(zhuān)欄適用人群 :適用于想要從零基礎(chǔ)開(kāi)始學(xué)習(xí)入門(mén)單片機(jī),且有一定C語(yǔ)言基礎(chǔ)的的童鞋

    2024年02月09日
    瀏覽(30)
  • STM32單片機(jī)入門(mén)學(xué)習(xí)筆記——定時(shí)器TIM第一部分

    STM32單片機(jī)入門(mén)學(xué)習(xí)筆記——定時(shí)器TIM第一部分

    筆記整理自B站UP主 江科大自化協(xié) 教程 《STM32入門(mén)教程-2023持續(xù)更新中》 ,所用單片機(jī)也為教程推薦單片機(jī)。 第一部分:定時(shí)器基本定時(shí)的功能,定時(shí)器每隔這個(gè)時(shí)間產(chǎn)生一個(gè)中斷,來(lái)實(shí)現(xiàn)每隔一個(gè)固定時(shí)間執(zhí)行一段程序的目的,比如要做一個(gè)時(shí)鐘、秒表或者使用一些程序算

    2024年02月03日
    瀏覽(24)
  • 【單片機(jī)】STM32單片機(jī),定時(shí)器,多路PWM,TIM1、TIM2、TIM3、TIM4,STM32F103

    【單片機(jī)】STM32單片機(jī),定時(shí)器,多路PWM,TIM1、TIM2、TIM3、TIM4,STM32F103

    下圖是定時(shí)器相關(guān)引腳: 在《STM32中文參考手冊(cè)V10.pdf》有寫(xiě): TIM1 的PWM是帶互補(bǔ)輸出的,較為高級(jí)和復(fù)雜,有興趣可以參考其他介紹文章,這里的代碼讓7個(gè)引腳輸出PWM。 調(diào)用: 這里沒(méi)有重映射,注意不能把PA9 PA10 初始化成串口去了。 timer.c timer.h 調(diào)用: 這里沒(méi)有重映射。

    2024年02月11日
    瀏覽(26)
  • STM32F103RCT6開(kāi)發(fā)板M3單片機(jī)教程06--定時(shí)器中斷

    STM32F103RCT6開(kāi)發(fā)板M3單片機(jī)教程06--定時(shí)器中斷

    除非特別說(shuō)明,本章節(jié)描述的模塊應(yīng)用于整個(gè) STM32F103xx 微控制器系列,因?yàn)槲覀兪褂檬?STM32F103RCT6開(kāi)發(fā)板是mini最小系統(tǒng)板。 本教程使用是( 光明谷SUN_STM32mini開(kāi)發(fā)板 ) ? 首先了解一下是STM32F10X定時(shí)器(Timer) ? 注: 小容量產(chǎn)品是指閃存存儲(chǔ)器容量在16K至32K字節(jié)之間的STM32F101

    2024年02月04日
    瀏覽(99)
  • 基于STM32F103C8T6單片機(jī)的1秒定時(shí)器設(shè)計(jì)與應(yīng)用

    標(biāo)題:基于STM32F103C8T6單片機(jī)的1秒定時(shí)器設(shè)計(jì)與應(yīng)用 摘要: 本文主要探討了如何在STM32F103C8T6微控制器上利用內(nèi)部定時(shí)器實(shí)現(xiàn)精確的1秒鐘定時(shí)功能,并通過(guò)實(shí)際項(xiàng)目實(shí)施,驗(yàn)證其穩(wěn)定性和可靠性。首先介紹了STM32F103C8T6單片機(jī)的特性及其定時(shí)器資源,然后詳細(xì)闡述了基于TIMx(

    2024年01月18日
    瀏覽(27)
  • (第48-59講)STM32F4單片機(jī),F(xiàn)reeRTOS【事件標(biāo)志、任務(wù)通知、軟件定時(shí)器、Tickless低功耗】【純文字講解】【】

    【吐血總結(jié)】FreeRTOS難點(diǎn)、Systick中斷-滴答定時(shí)器、PendSV中斷-任務(wù)切換、SVC中斷-系統(tǒng)底層、時(shí)間片調(diào)度-時(shí)鐘節(jié)拍【已完結(jié)】 (第1-8講)STM32F4單片機(jī),F(xiàn)reeRTOS基礎(chǔ)知識(shí)總結(jié)【視頻筆記、代碼講解】【正點(diǎn)原子】【原創(chuàng)】 (第9-10講)STM32F4單片機(jī),F(xiàn)reeRTOS任務(wù)創(chuàng)建和刪除(動(dòng)態(tài)方

    2024年02月01日
    瀏覽(34)
  • STM32單片機(jī)(六)TIM定時(shí)器 -> 第六節(jié):TIM輸入捕獲練習(xí)(輸入捕獲模式測(cè)頻率和PWMI模式測(cè)頻率占空比)

    STM32單片機(jī)(六)TIM定時(shí)器 -> 第六節(jié):TIM輸入捕獲練習(xí)(輸入捕獲模式測(cè)頻率和PWMI模式測(cè)頻率占空比)

    ?? 專(zhuān)欄簡(jiǎn)介:本專(zhuān)欄記錄了從零學(xué)習(xí)單片機(jī)的過(guò)程,其中包括51單片機(jī)和STM32單片機(jī)兩部分;建議先學(xué)習(xí)51單片機(jī),其是STM32等高級(jí)單片機(jī)的基礎(chǔ);這樣再學(xué)習(xí)STM32時(shí)才能融會(huì)貫通。 ?? 專(zhuān)欄適用人群 :適用于想要從零基礎(chǔ)開(kāi)始學(xué)習(xí)入門(mén)單片機(jī),且有一定C語(yǔ)言基礎(chǔ)的的童鞋

    2024年02月09日
    瀏覽(27)
  • 學(xué)習(xí)筆記|定時(shí)器|STC中斷|定時(shí)器時(shí)間計(jì)算|STC32G單片機(jī)視頻開(kāi)發(fā)教程(沖哥)|第十一集:定時(shí)器的作用和意義

    學(xué)習(xí)筆記|定時(shí)器|STC中斷|定時(shí)器時(shí)間計(jì)算|STC32G單片機(jī)視頻開(kāi)發(fā)教程(沖哥)|第十一集:定時(shí)器的作用和意義

    什么是定時(shí)器:定時(shí)器-與非網(wǎng) 上節(jié)課的一段代碼: TimeCount++然后一個(gè)延時(shí)1毫秒,每運(yùn)行1ms,變量就會(huì)加一。 系統(tǒng)已經(jīng)運(yùn)行了多少個(gè)毫秒。 實(shí)際使用時(shí)的代碼如下, 判斷按鍵有沿有按下的時(shí)候,我們等待按鍵松開(kāi),還有一個(gè)while循環(huán)。 如果沒(méi)有松開(kāi),會(huì)一直死在這一行。所以,

    2024年02月09日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包