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

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

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

【GD32F470紫藤派開(kāi)發(fā)板使用手冊(cè)】第六講 TIMER_3路PWM輸出實(shí)驗(yàn)

聚沃科技 ? 2024-05-08 09:20 ? 次閱讀
wKgaomYwSqiAY_PQAAnl063z3JE116.png

6.1實(shí)驗(yàn)內(nèi)容

通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容:

  • TIMER PWM輸出原理
  • TIMER 定時(shí)中斷

6.2實(shí)驗(yàn)原理

本例程中,采用TIMER5進(jìn)行定時(shí)中斷,在中斷中改變TIMER0前三個(gè)通道的占空比,使用示波器或邏輯分析儀,可以測(cè)量TIMER0前三個(gè)通道PA8、PA9和PA10的波形。也可以通過(guò)飛線的方式將三個(gè)IO口分別接到紅綠藍(lán)三種不同顏色燈珠上,實(shí)現(xiàn)RGB彩燈的效果。

6.3硬件設(shè)計(jì)

TIMER0的前三個(gè)通道分別為PA8、PA9和PA10,讀者直接對(duì)開(kāi)發(fā)板上引出的排針進(jìn)行測(cè)試即可。

wKgZomY60oGANyKQAAFrLJs6s4Y480.png

6.4代碼解析

本例程使用了兩個(gè)TIMER,其中TIMER5用來(lái)產(chǎn)生30ms的周期性中斷,在TIMER5的中斷中,對(duì)TIMER0的三個(gè)通道占空比進(jìn)行調(diào)整,從而實(shí)現(xiàn)占空比可變的效果。

6.4.1主函數(shù)代碼解析

主函數(shù)代碼如下所示,主要包括串口初始化、LED初始化、RGB燈珠初始化(即timer0的三個(gè)通道初始化)、timer驅(qū)動(dòng)初始化(該timer用于調(diào)整RGB燈珠PWM驅(qū)動(dòng)時(shí)間)。

C++
int main(void)
{
//延時(shí)和公共驅(qū)動(dòng)部分初始化
driver_init();
//打印串口初始化
bsp_uart_init(&BOARD_UART);
//初始化LED組
bsp_led_group_init();
bsp_led_on(&LED2);
bsp_led_off(&LED1);
//TIMER0設(shè)置1M頻率,重載值設(shè)置100,PWM頻率為10K
bsp_rgb_init(1000000,100);//

//注冊(cè)rgb_switch函數(shù)到timer定時(shí)中斷的回調(diào)函數(shù)
TIMER_INT.timer_updata_callback=rgb_switch;

//初始化定時(shí)器,默認(rèn)計(jì)數(shù)器頻率100K,周期值3000,中斷頻率100K/3000= 33HZ(30ms)
bsp_timer_init(100000,3000);

printf_log("\r\n RGB breathing lamp\r\n");

while(1)
{

}
}

6.4.2RGB燈珠初始化函數(shù)解析

RGB燈珠初始化函數(shù)如下,在此定義了RGB_TIMER_R、RGB_TIMER_G、RGB_TIMER_B三個(gè)燈的控制結(jié)構(gòu)體,并通過(guò)timer驅(qū)動(dòng)進(jìn)行配置。

6.4.3基礎(chǔ)定時(shí)器初始化及中斷處理函數(shù)

基礎(chǔ)定時(shí)器初始化配置代碼如下,在此用一個(gè)定時(shí)器TIMER5,并使能了其溢出中斷。該定時(shí)器用于控制RGB PWM輸出時(shí)間。

C
void bsp_timer_init(uint32_t counter_frequency,uint16_t period)
{
driver_timer_base_int_init(&TIMER_INT,counter_frequency,period);
nvic_irq_enable(TIMER5_DAC_IRQn,0,0);
}

其中斷回調(diào)函數(shù)如下,通過(guò)該函數(shù)定時(shí)調(diào)整RGB三路PWM的占空比。

6.5實(shí)驗(yàn)結(jié)果

將本例程代碼下載到紫藤派開(kāi)發(fā)板中,使用示波器測(cè)量PA8、PA9、PA10上,可以看大三個(gè)通道占空比的變化。

教程GD32 MCU方案商聚沃科技原創(chuàng)發(fā)布,了解更多GD32 MCU教程,關(guān)注聚沃科技官網(wǎng)

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

    關(guān)注

    114

    文章

    5119

    瀏覽量

    213175
  • RGB
    RGB
    +關(guān)注

    關(guān)注

    4

    文章

    797

    瀏覽量

    58338
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4898

    瀏覽量

    97064
  • Timer
    +關(guān)注

    關(guān)注

    1

    文章

    63

    瀏覽量

    12765
  • GD32
    +關(guān)注

    關(guān)注

    7

    文章

    403

    瀏覽量

    24111
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    GD32F470紫藤開(kāi)發(fā)板使用手冊(cè)】第九 USART-printf打印實(shí)驗(yàn)

    通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: 串口簡(jiǎn)介 GD32F470串口工作原理 使用printf打印信息
    的頭像 發(fā)表于 05-13 10:14 ?1569次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第九<b class='flag-5'>講</b>  USART-printf打印<b class='flag-5'>實(shí)驗(yàn)</b>

    GD32F470紫藤開(kāi)發(fā)板使用手冊(cè)】第十一講 SPI-SPI NOR FLASH讀寫(xiě)實(shí)驗(yàn)

    通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: ?SPI簡(jiǎn)介 ?GD32F470 SPI簡(jiǎn)介 ?SPI NOR FLASH——GD25Q32ESIGR簡(jiǎn)介 ?使用GD32F470 SPI接口實(shí)現(xiàn)對(duì)
    的頭像 發(fā)表于 05-17 09:57 ?1588次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第十一講 SPI-SPI NOR FLASH讀寫(xiě)<b class='flag-5'>實(shí)驗(yàn)</b>

    GD32-Colibri-F207實(shí)驗(yàn)TIMER3_Input

    GD32-Colibri-F207實(shí)驗(yàn)TIMER3_InputCapture,很好的GD32資料,快來(lái)學(xué)習(xí)吧。
    發(fā)表于 04-21 17:40 ?15次下載

    GD32-Colibri-F207實(shí)驗(yàn)TIMER3_PWMIn

    GD32-Colibri-F207實(shí)驗(yàn)TIMER3_PWMInput,很好的GD32資料,快來(lái)學(xué)習(xí)吧。
    發(fā)表于 04-21 17:40 ?5次下載

    YL-51開(kāi)發(fā)板使用手冊(cè)

    YL-51開(kāi)發(fā)板使用手冊(cè),YL-51開(kāi)發(fā)板使用手冊(cè)YL-51開(kāi)發(fā)板使用手冊(cè)YL-51
    發(fā)表于 05-10 16:31 ?21次下載

    51開(kāi)發(fā)板使用手冊(cè)

    51開(kāi)發(fā)板使用手冊(cè),感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-23 15:45 ?11次下載

    KC705開(kāi)發(fā)板英文使用手冊(cè)

    KC705開(kāi)發(fā)板英文使用手冊(cè)
    發(fā)表于 11-01 10:19 ?4次下載

    iTOP-3399開(kāi)發(fā)板使用手冊(cè)大更新

    iTOP-3399開(kāi)發(fā)板使用手冊(cè)大更新
    的頭像 發(fā)表于 12-10 15:46 ?1306次閱讀
    iTOP-3399<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>大更新

    APT32F102 開(kāi)發(fā)板使用手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《APT32F102 開(kāi)發(fā)板使用手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 04-16 09:07 ?0次下載

    GD32F470紫藤開(kāi)發(fā)板使用手冊(cè)】第二 GPIO-按鍵查詢(xún)實(shí)驗(yàn)

    通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: GPIO輸入功能原理; 按鍵查詢(xún)輸入檢測(cè)原理;
    的頭像 發(fā)表于 04-30 11:39 ?596次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第二<b class='flag-5'>講</b> GPIO-按鍵查詢(xún)<b class='flag-5'>實(shí)驗(yàn)</b>

    GD32F470紫藤開(kāi)發(fā)板使用手冊(cè)】第五 PMU-低功耗實(shí)驗(yàn)

    通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: PMU原理; 低功耗的進(jìn)入以及退出操作
    的頭像 發(fā)表于 05-07 09:29 ?577次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第五<b class='flag-5'>講</b>  PMU-低功耗<b class='flag-5'>實(shí)驗(yàn)</b>

    GD32H757Z海棠開(kāi)發(fā)板使用手冊(cè)第六 TIMER_3PWM輸出實(shí)驗(yàn)

    通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: TIMER PWM輸出原理 TIMER 定時(shí)中斷
    的頭像 發(fā)表于 05-09 09:36 ?532次閱讀
    【<b class='flag-5'>GD</b>32H757Z海棠<b class='flag-5'>派</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】<b class='flag-5'>第六</b><b class='flag-5'>講</b> <b class='flag-5'>TIMER_3</b><b class='flag-5'>路</b><b class='flag-5'>PWM</b><b class='flag-5'>輸出</b><b class='flag-5'>實(shí)驗(yàn)</b>

    GD32F470紫藤開(kāi)發(fā)板使用手冊(cè)】第八 ADC-規(guī)則組多通道采樣實(shí)驗(yàn)

    通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: ?ADC的簡(jiǎn)介 ?GD32F470 ADC工作原理 ?DMA原理 ?規(guī)則組多通道循環(huán)采樣
    的頭像 發(fā)表于 05-12 10:00 ?643次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第八<b class='flag-5'>講</b> ADC-規(guī)則組多通道采樣<b class='flag-5'>實(shí)驗(yàn)</b>

    GD32F470紫藤開(kāi)發(fā)板使用手冊(cè)】第十三講 USB_虛擬鍵盤(pán)實(shí)驗(yàn)

    通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: ?USB協(xié)議基本原理 ?GD32F4xx USBFS的使用 ?虛擬鍵盤(pán)的協(xié)議原理及使用
    的頭像 發(fā)表于 05-19 09:59 ?908次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第十三講 USB_虛擬鍵盤(pán)<b class='flag-5'>實(shí)驗(yàn)</b>

    GD32F303紅楓開(kāi)發(fā)板使用手冊(cè)】第二十 SPI-SPI NAND FLASH讀寫(xiě)實(shí)驗(yàn)

    通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: ?SPI通信協(xié)議,參考19.2.1東方紅開(kāi)發(fā)板使用手冊(cè) ?GD32F303 SPI操作方式,參考19.2.2東方紅開(kāi)
    的頭像 發(fā)表于 06-20 09:50 ?736次閱讀
    【<b class='flag-5'>GD32F</b>303紅楓<b class='flag-5'>派</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第二十<b class='flag-5'>講</b> SPI-SPI NAND FLASH讀寫(xiě)<b class='flag-5'>實(shí)驗(yàn)</b>