chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過CH32V103定時器中斷控制LED燈閃爍

CHANBAEK ? 來源:CSDN-借過風(fēng)景 ? 作者:CSDN-借過風(fēng)景 ? 2023-01-31 14:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡介

CH32V103系列是以青稞V3A處理器為核心的32位通用MCU,該處理器是基于RISC-V開源指令集設(shè)計。 片上集成了時鐘安全機制、多級電源管理、通用DMA控制器。 此系列具有1路USB2.0主機/設(shè)備接口、多通道12位ADC轉(zhuǎn)換模塊、多通道TouchKey、多組定時器、多路IIC/USART/SPI接口等豐富的外設(shè)資源。

本章教程通過CH32V103開發(fā)板板載兩個LED燈顯示程序運行狀態(tài),具體情況如下:

(1)串口調(diào)式助手大約每隔500ms打印一次”Enter interrupt“;

(2)開發(fā)板上LED1與LED2不停閃爍,其中,LED1閃爍較快,大約為100ms一次; LED2閃爍較慢,大約為500ms閃爍一次。

1、TIM簡介及相關(guān)函數(shù)介紹

CH32V103定時器包含1個高級16位定時器、3個通用16位定時器,以及2個看門狗定時器和1個系統(tǒng)時基定時器。

高級控制定時器(TIM1)是一個 16 位的自動裝載計數(shù)器,具有可編程的預(yù)分頻器。 除了完整的通用定時器功能外, 可以被看成是分配到 6 個通道的三相 PWM 發(fā)生器, 具有帶死區(qū)插入的互補 PWM 輸出功能,允許在指定數(shù)目的計數(shù)器周期之后更新定時器進行重復(fù)計數(shù)周期,剎車功能等。 高級控制定時器的很多功能都與通用定時器相同,內(nèi)部結(jié)構(gòu)也相同,因此高級控制定時器可以通過定時器鏈接功能與 TIM 定時器協(xié)同操作,提供同步或事件鏈接功能。

通用定時器(TIM2、TIM3和TIM4),其可同步運行,每個定時器都有一個 16 位的自動裝載遞加/遞減計數(shù)器、一個可編程的 16 位預(yù)分頻器和 4 個獨立的通道,每個通道都可用于輸入捕獲、輸出比較、 PWM 生成和單脈沖模式輸出。 其能通過定時器鏈接功能與高級控制定時器共同工作,提供同步或事件鏈接功能。 在調(diào)試模式下,計數(shù)器可以被凍結(jié),同時 PWM 輸出被禁止,從而切斷由這些輸出所控制的開關(guān)。 任意通用定時器都能用于產(chǎn)生 PWM 輸出。 每個定時器都有獨立的 DMA 請求機制。 這些定時器還能夠處理增量編碼器信號,也能處理 1 至 3 個霍爾傳感器的數(shù)字輸出。

系統(tǒng)時基定時器(SysTick),這是內(nèi)核控制器自帶的一個定時器,用于產(chǎn)生 SYSTICK 異常,可專用于實時操作系統(tǒng),為系統(tǒng)提供“心跳”節(jié)律,也可當(dāng)成一個標準的64位遞增計數(shù)器。 以AHB時鐘的8分頻為基準時鐘源。 當(dāng)計數(shù)器遞增到設(shè)置比較值時,產(chǎn)生一個可屏蔽系統(tǒng)中斷。 關(guān)于2個看門狗定時器,在前面教程有過介紹,在此不做過多贅述。

關(guān)于CH32V103定時器具體信息及其相關(guān)功能和實現(xiàn)等,可參考CH32V103數(shù)據(jù)手冊和應(yīng)用手冊。 本章教程主要通過CH32V103通用定時器TIM3編寫一個定時器中斷程序,并下載到開發(fā)板進行驗證,程序編寫所需相關(guān)函數(shù)在庫函數(shù)中進行調(diào)用,庫函數(shù)文件中函數(shù)介紹如下:

1.1、無效TIM_DeInit(TIM_TypeDef* TIMx)

功 能:將TIMx外圍寄存器初始化為其默認重置值。

輸 入:無

1.2、無效TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)

功 能:根據(jù)TIM_TimeBaseInitStruct中指定的參數(shù)初始化TIMx時基單元外圍設(shè)備。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TimeBaseInitStruct:指向TIM_TimeBaseInitTypeDef結(jié)構(gòu)的指針。

1.3、無效TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct)

功 能:根據(jù)TIM_OCInitStruct中指定的參數(shù)初始化TIMx Channel1。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_OCInitStruct:指向TIM_OCInitTypeDef結(jié)構(gòu)的指針。

1.4、無效TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct)

功 能:根據(jù)TIM_ICInitStruct中指定的參數(shù)初始化TIM外圍設(shè)備。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_ICInitStruct:指向TIM_ICInitTypeDef結(jié)構(gòu)的指針。

1.5、無效TIM_PWMIConfig(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct)

功 能:根據(jù)TIM結(jié)構(gòu)中的指定參數(shù)配置TIM外圍設(shè)備,以測量外部PWM信號。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_ICInitStruct:指向TIM_ICInitTypeDef結(jié)構(gòu)的指針。

1.6、無效TIM_BDTRConfig(TIM_TypeDef* TIMx,TIM_BDTRInitTypeDef *TIM_BDTRInitStruct)

功 能:配置:中斷特性、死區(qū)時間、鎖定級別、OSSI、OSSR狀態(tài)和AOE(自動輸出啟用)。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_BDTRInitStruct:指向TIM_BDTRInitTypeDef結(jié)構(gòu)的指針。

1.7、無效TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)

功 能:用默認值填充每個TIM_TimeBaseInitStruct成員。

輸 入:TimeBaseInitStruct:指向TIM_TimeBaseInitTypeDef結(jié)構(gòu)的指針。

1.8、無效TIM_OCStructInit(TIM_OCInitTypeDef*TIM_OCInitStruct)

功 能:用默認值填充每個TIM_OCInitStruct成員。

輸 入:TIM_OCInitStruct:指向TIM_OCInitTypeDef結(jié)構(gòu)的指針。

1.9、無效TIM_ICStructInit(TIM_ICInitTypeDef*TIM_ICInitStruct)

功 能:用其默認值填充每個TIM_ICInitStruct成員。

輸 入:TIM_ICInitStruct:指向TIM_ICInitTypeDef結(jié)構(gòu)的指針。

1.10、無效TIM_BDTRStructInit(TIM_BDTRInitTypeDef*TIM_BDTRInitStruct)

功 能:用默認值填充每個TIM_BDTRInitStruct成員。

輸 入:TIM_BDTRInitStruct:指向TIM_BDTRInitTypeDef結(jié)構(gòu)的指針。

1.11、void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState)

功 能:啟用或禁用指定的TIM外圍設(shè)備。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; NewState:啟用或禁用。

1.12、void TIM_CtrlPWMOutputs(TIM_TypeDef* TIMx, FunctionalState NewState)

功 能:啟用或禁用TIM外圍設(shè)備主輸出。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; NewState:啟用或禁用。

1.13、void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState)

功 能:啟用或禁用指定的TIM中斷。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_IT:指定要啟用或禁用的TIM中斷源; NewState:啟用或禁用。

1.14、無效TIM_GenerateEvent(TIM_TypeDef* TIMx,uint16_t TIM_EventSource)

功 能:將TIMx外圍寄存器初始化為其默認重置值。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_EventSource:指定事件源。

1.15、無效TIM_DMAConfig(TIM_TypeDef* TIMx、uint16_t TIM_DMABase、uint16_t TIM_DMABurstLength)

功 能:配置TIMx的DMA接口。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_DMABase:DMA基址; TIM_DMABurstLength:DMA突發(fā)長度。

1.16、void TIM_DMACmd(TIM_TypeDef* TIMx, uint16_t TIM_DMASource, FunctionalState NewState)

功 能:啟用或禁用TIMx的DMA請求。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_DMASource:指定DMA請求源; NewState:啟用或禁用。

1.17、無效TIM_InternalClockConfig(TIM_TypeDef* TIMx)

功 能:配置TIMx內(nèi)部時鐘。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備。

1.18、無效TIM_ITRxExternalClockConfig(TIM_TypeDef* TIMx,uint16_t TIM_InputTriggerSource)

功 能:將TIMx內(nèi)部觸發(fā)器配置為外部時鐘。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_InputTriggerSource:觸發(fā)源。

1.19、無效TIM_TIxExternalClockConfig(TIM_TypeDef* TIMx、uint16_t TIM_TIxExternalCLKSource、uint16_t TIM_ICPolarity uint16_t ICFilter)

功 能:將TIMx觸發(fā)器配置為外部時鐘。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_TIxExternalCLKSource: 觸發(fā)器源; ICFilter:指定過濾器值。 此參數(shù)的值必須介于0x0和0xF之間。

1.20、void TIM_ETRClockMode1Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity,uint16_t ExtTRGFilter)

功 能:配置外部時鐘模式1。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_ExtTRGPrescaler:外部觸發(fā)預(yù)分頻器; TIM_ExtTRGPolarity:外部觸發(fā)極性; ExtTRGFilter:外部觸發(fā)器篩選器。

1.21、void TIM_ETRConfig(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity,uint16_t ExtTRGFilter)

功 能:配置TIMx外部觸發(fā)器(ETR)。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_ExtTRGPrescaler:外部觸發(fā)預(yù)分頻器; TIM_ExtTRGPolarity:外部觸發(fā)極性; ExtTRGFilter:外部觸發(fā)器篩選器。

1.22、無效TIM_PrescalerConfig(TIM_TypeDef* TIMx、uint16_t預(yù)分頻器、uint16_t TIM_PSCReloadMode)

功 能:配置TIMx預(yù)分頻器。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; Prescaler:指定預(yù)分頻器寄存器值; TIM_PSCReloadMode:指定TIM預(yù)分頻器重新加載模式。

1.23、無效TIM_CounterModeConfig(TIM_TypeDef* TIMx,uint16_t TIM_CounterMode)

功 能:指定要使用的TIMx計數(shù)器模式。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_CounterMode:指定要使用的計數(shù)器模式。

1.24、無效TIM_SelectInputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource)

功 能:選擇輸入觸發(fā)源。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_InputTriggerSource:輸入觸發(fā)源。

1.25、void TIM_EncoderInterfaceConfig(TIM_TypeDef* TIMx, uint16_t TIM_EncoderMode,uint16_t TIM_IC1Polarity, uint16_t TIM_IC2Polarity)

功 能:配置TIMx編碼器接口。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_EncoderMode:指定TIMx編碼器模式;TIM_IC1Polarity:指定IC1極性;TIM_IC2Polarity:指定IC2極性。

1.26、void TIM_ForcedOC1Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction)

功 能:強制TIMx輸出1波形為激活或非激活電平。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_ForcedAction:指定要設(shè)置為輸出波形的強制操作。

1.27、void TIM_ARRPreloadConfig(TIM_TypeDef* TIMx, FunctionalState NewState)

功 能:在ARR上啟用或禁用TIMx外設(shè)預(yù)加載寄存器。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;NewState:啟用或禁用。

1.28、void TIM_SelectCOM(TIM_TypeDef* TIMx, FunctionalState NewState)

功 能:選擇TIM外圍換向事件。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;NewState:啟用或禁用。

1.29、void TIM_SelectCCDMA(TIM_TypeDef* TIMx, FunctionalState NewState)

功 能:選擇TIMx外圍捕獲比較DMA源。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;NewState:啟用或禁用。

1.30、void TIM_CCPreloadControl(TIM_TypeDef* TIMx, FunctionalState NewState)

功 能:設(shè)置或重置TIM外圍捕獲比較預(yù)加載控制位。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;NewState:啟用或禁用。

1.31、void TIM_OC1PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload)

功 能:啟用或禁用CCR1上的TIMx外圍預(yù)加載寄存器。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_OCPreload:TIMx外圍預(yù)加載寄存器的新狀態(tài)。

1.32、void TIM_OC1FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast)

功 能:配置TIMx輸出比較1快速功能。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_OCFast:輸出比較快速啟用位的新狀態(tài)。

1.33、void TIM_ClearOC1Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear)

功 能:清除或保護外部事件上的OCREF1信號。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_OCClear:輸出比較清除啟用位的新狀態(tài)。

1.34、void TIM_OC1PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity)

功 能:配置TIMx通道1極性。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_OCPolarity:指定OC1極性。

1.35、void TIM_OC1NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity)

功 能:配置TIMx通道1極性。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_OCNPolarity:指定OC1N極性。

1.36、無效TIM_CCxCmd(TIM_TypeDef* TIMx、uint16_t TIM_Channel、uint16_t TIM_CCx)

功 能:啟用或禁用TIM捕獲比較通道x。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_Channel:指定TIM通道; TIM_CCx:指定TIM信道CCxE位的新狀態(tài)。

1.37、無效TIM_CCxNCmd(TIM_TypeDef* TIMx、uint16_t TIM_Channel、uint16_t TIM_CCxN)

功 能:啟用或禁用TIM捕獲比較通道xN。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_Channel:指定TIM通道; TIM_CCxN:指定TIM信道CCxNE位的新狀態(tài)。

1.38、無效TIM_SelectOCxM(TIM_TypeDef* TIMx、uint16_t TIM_Channel、uint16_t TIM_OCMode)

功 能:選擇TIM輸出比較模式。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; TIM_Channel:指定TIM通道; TIM_OCMODE:指定TIM輸出比較模式。

1.39、無效TIM_UpdateDisableConfig(TIM_TypeDef* TIMx,函數(shù)狀態(tài)新狀態(tài))

功 能:啟用或禁用TIMx更新事件。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備; NewState:啟用或禁用。

1.40、無效TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, uint16_t TIM_UpdateSource)

功 能:配置TIMx更新請求中斷源。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_UpdateSource:指定更新源。

1.41、void TIM_SelectHallSensor(TIM_TypeDef* TIMx, FunctionalState NewState)

功 能:啟用或禁用TIMx的霍爾傳感器接口。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;NewState:啟用或禁用。

1.42、void TIM_SelectOnePulseMode(TIM_TypeDef* TIMx, uint16_t TIM_OPMode)

功 能:選擇TIMx的單脈沖模式。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_OPMode:指定要使用的OPM模式。

1.43、void TIM_SelectOutputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_TRGOSource)

功 能:選擇TIMx觸發(fā)器輸出模式。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_TRGOSource:指定觸發(fā)器輸出源。

1.44、void TIM_SelectSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_SlaveMode)

功 能:選擇TIMx從機模式。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_SlaveMode:指定定時器從模式。

1.45、void TIM_SelectMasterSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_MasterSlaveMode)

功 能:設(shè)置或重置TIMx主/從模式。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_MasterSlaveMode:指定定時器主從模式。

1.46、void TIM_SetCounter(TIM_TypeDef* TIMx, uint16_t Counter)

功 能:設(shè)置TIMx計數(shù)器寄存器值。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;Counter:指定計數(shù)器寄存器的新值。

1.47、void TIM_SetAutoreload(TIM_TypeDef* TIMx, uint16_t Autoreload)

功 能:設(shè)置TIMx自動重新加載寄存器值。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;Autoreload:指定Autoreload寄存器的新值。

1.48、void TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1)

功 能:設(shè)置TIMx捕獲比較1寄存器值。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;Compare1:指定捕獲Compare1寄存器的新值。

1.49、void TIM_SetIC1Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC)

功 能:設(shè)置TIMx輸入捕捉1預(yù)分頻器。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_ICPSC:指定輸入Capture1預(yù)分頻器的新值。

1.50、void TIM_SetClockDivision(TIM_TypeDef* TIMx, uint16_t TIM_CKD)

功 能:設(shè)置TIMx時鐘刻度值。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_CKD:指定時鐘分頻值。

1.51、uint16_t TIM_GetCapture1(TIM_TypeDef* TIMx)

功 能:獲取TIMx輸入捕獲1的值。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備。

1.52、uint16_t TIM_GetCounter(TIM_TypeDef* TIMx)

功 能:獲取TIMx計數(shù)器值。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備。

1.53、uint16_t TIM_GetPrescaler(TIM_TypeDef* TIMx)

功 能:獲取TIMx預(yù)分頻器值。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備。

1.54、FlagStatus TIM_GetFlagStatus(TIM_TypeDef* TIMx, uint16_t TIM_FLAG)

功 能:檢查是否設(shè)置了指定的TIM標志。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_FLAG:指定要檢查的標志。

1.55、void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG)

功 能:清除TIMx的掛起標志。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_FLAG:指定要清除的標志位。

1.56、ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t TIM_IT)

功 能:檢查TIM中斷是否發(fā)生。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_IT:指定要檢查的TIM中斷源。

1.57、void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT)

功 能:清除TIMx的中斷掛起的位。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_IT:指定要清除的掛起位。

1.58、static void TI1_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection,uint16_t TIM_ICFilter)

功 能:將TI1配置為輸入。

輸 入:TIMx:其中x可以是1到4來選擇TIM外圍設(shè)備;TIM_ICPolarity:輸入極性;TIM_ICSelection:指定要使用的輸入;TIM_ICFilter:指定輸入捕獲篩選器。

以上函數(shù)均為庫函數(shù)內(nèi)部函數(shù),在進行使用時只需在程序中進行調(diào)用即可。

2、硬件設(shè)計

本章教程通過定時器中斷控制LED燈閃爍,其中,定時器為CH32V103內(nèi)部資源,無需進行硬件設(shè)計,只需進行LED連接即可,LED與GPIO引腳連接方式如下:

LED1與PA0連接;

LED2與PA1連接。

3、軟件設(shè)計

本章教程主要通過定時器中斷控制LED燈閃爍,其中,led.c文件與led.h文件前面GPIO教程中已講解,在此不再介紹,本章主要介紹time.h文件、time.c文件以及main.c文件,具體程序如下:

time.h文件

poYBAGPYs5mADYo_AAAep4GzhG8724.png

time.h文件主要是定時器初始化配置函數(shù)的聲明。

time.c文件

poYBAGPYs5mAEOeuAAGDptae-i0236.png

4、下載驗證

將編譯好的程序下載到開發(fā)板并復(fù)位,可以看到開發(fā)板兩個LED燈閃爍,其中,LED1閃爍較快,LED2閃爍較慢。同時,串口調(diào)試助手打印顯示:Enter interrupt,表示程序進入中斷,大約500ms打印一次。串口調(diào)試助手打印顯示如下:

pYYBAGPYs5mADpdzAAEmRGARORo843.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23847

    瀏覽量

    674182
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17984

    瀏覽量

    367036
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3298

    瀏覽量

    118960
  • RISC-V
    +關(guān)注

    關(guān)注

    46

    文章

    2573

    瀏覽量

    48838
  • CH32V103
    +關(guān)注

    關(guān)注

    1

    文章

    13

    瀏覽量

    1239
  • ch32
    +關(guān)注

    關(guān)注

    0

    文章

    73

    瀏覽量

    904
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于CH32V103系列MCU的ADC采樣設(shè)計

    CH32V103系列是以青稞V3A處理為核心的32位通用RISC-V MCU,該處理是基于RISC-
    的頭像 發(fā)表于 01-31 14:21 ?4870次閱讀
    基于<b class='flag-5'>CH32V103</b>系列MCU的ADC采樣設(shè)計

    如何使用STM32F103通用定時器中斷來實現(xiàn)LED閃爍

    STM32F103系列的單片機一共有幾個定時器呢?如何使用STM32F103通用定時器中斷來實現(xiàn)LED
    發(fā)表于 11-24 07:44

    請問stm32定時器中斷如何控制led閃爍?

    請問stm32定時器中斷如何控制led閃爍?
    發(fā)表于 11-29 06:51

    定時器中斷如何控制led閃爍?

    定時器中斷如何控制led閃爍?
    發(fā)表于 02-15 07:25

    CH32V103基礎(chǔ)教程7-定時器中斷

    本章教程通過CH32V103開發(fā)板板載兩個LED顯示程序運行狀態(tài),具體情況如下:· 串口調(diào)式助手大約每隔500ms打印一次”Enter interrupt“;· 開發(fā)板上
    發(fā)表于 04-14 16:12

    CH32V103基礎(chǔ)教程8-PWM輸出

    進行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測量、通信到功率控制與變換的許多領(lǐng)域中。CH32V103的高級定時器TIM1和通用定時器TIM2/
    發(fā)表于 04-14 16:16

    基于STM32單片機的TIM定時器中斷控制不同閃爍

    STM32單片機TIM定時器中斷控制不同閃爍,讓兩個以不同頻率
    發(fā)表于 04-08 16:19 ?23次下載

    【MCU】基于STM32CubeMX定時器中斷實現(xiàn)LED閃爍

    基于STM32CubeMX定時器中斷實現(xiàn) LED 閃爍本實驗基于STM32CubeMX實現(xiàn)對STM32開發(fā)板的配置,通過
    發(fā)表于 10-29 11:06 ?20次下載
    【MCU】基于STM32CubeMX<b class='flag-5'>定時器</b><b class='flag-5'>中斷</b>實現(xiàn)<b class='flag-5'>LED</b><b class='flag-5'>閃爍</b>

    RISC-V MCU應(yīng)用開發(fā)教程之CH32V103

    講解,涉及的相關(guān)寄存等部分可參考沁恒官方提供的資料。CH32V103數(shù)據(jù)手冊:CH32V103DS0.PDFCH32V103應(yīng)用手冊:CH32xRM.PDFCH32V103官方例程:
    發(fā)表于 11-18 16:21 ?18次下載
    RISC-<b class='flag-5'>V</b> MCU應(yīng)用開發(fā)教程之<b class='flag-5'>CH32V103</b>

    STM32 CubeMX學(xué)習(xí):3. 定時器閃爍LED

    STM32 CubeMX學(xué)習(xí):3. 定時器閃爍LED 系列文章目錄前期的準備點亮 LED閃爍 LED
    發(fā)表于 11-25 10:21 ?13次下載
    STM32 CubeMX學(xué)習(xí):3. <b class='flag-5'>定時器</b><b class='flag-5'>閃爍</b><b class='flag-5'>LED</b>

    沁恒微血氧儀方案CH32V103控制器

    CH32V103控制器32位RISC-V指令集內(nèi)核通用微控制器32位RISC-V指令集內(nèi)核通用微控制器
    的頭像 發(fā)表于 12-27 11:54 ?2038次閱讀
    沁恒微血氧儀方案<b class='flag-5'>CH32V103</b>微<b class='flag-5'>控制器</b>

    基于CH32V103系列MCU點亮LED

    CH32V103系列是以青稞V3A處理為核心的32位通用MCU,該處理是基于RISC-V開源指令集設(shè)計。 片上集成了時鐘安全機制、多級電
    的頭像 發(fā)表于 01-31 12:01 ?2574次閱讀
    基于<b class='flag-5'>CH32V103</b>系列MCU點亮<b class='flag-5'>LED</b>

    基于CH32V103系列MCU的觸摸按鍵檢測

    CH32V103系列是以青稞V3A處理為核心的32位通用MCU,該處理是基于RISC-V開源指令集設(shè)計。片上集成了時鐘安全機制、多級電源
    的頭像 發(fā)表于 01-31 14:53 ?4957次閱讀
    基于<b class='flag-5'>CH32V103</b>系列MCU的觸摸按鍵檢測

    ch32v103應(yīng)用教程 ch32v103c8t6兼容 ch32v103c8t6燒錄

    的應(yīng)用教程以及燒錄、編程的介紹。 一、CH32V103應(yīng)用教程 1.硬件連接 首先,我們需要準備好CH32V103的開發(fā)板和一些外圍設(shè)備,如LE
    的頭像 發(fā)表于 08-22 15:19 ?2935次閱讀

    ch32v103與stm32f103的區(qū)別

    ch32v103與stm32f103的區(qū)別? Ch32v103與STM32f103是兩種不同的芯片,雖然它們都是基于ARM Cortex-M3內(nèi)核的32位微
    的頭像 發(fā)表于 08-22 15:49 ?3301次閱讀