<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

【GD32F470紫藤派開發板使用手冊】第六講 TIMER_3路PWM輸出實驗

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

6.1實驗內容

通過本實驗主要學習以下內容:

  • TIMER PWM輸出原理
  • TIMER 定時中斷

6.2實驗原理

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

6.3硬件設計

TIMER0的前三個通道分別為PA8、PA9和PA10,讀者直接對開發板上引出的排針進行測試即可。

wKgZomY60oGANyKQAAFrLJs6s4Y480.png

6.4代碼解析

本例程使用了兩個TIMER,其中TIMER5用來產生30ms的周期性中斷,在TIMER5的中斷中,對TIMER0的三個通道占空比進行調整,從而實現占空比可變的效果。

6.4.1主函數代碼解析

主函數代碼如下所示,主要包括串口初始化、LED初始化、RGB燈珠初始化(即timer0的三個通道初始化)、timer驅動初始化(該timer用于調整RGB燈珠PWM驅動時間)。

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

//注冊rgb_switch函數到timer定時中斷的回調函數
TIMER_INT.timer_updata_callback=rgb_switch;

//初始化定時器,默認計數器頻率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燈珠初始化函數解析

RGB燈珠初始化函數如下,在此定義了RGB_TIMER_R、RGB_TIMER_G、RGB_TIMER_B三個燈的控制結構體,并通過timer驅動進行配置。

6.4.3基礎定時器初始化及中斷處理函數

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

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);
}

其中斷回調函數如下,通過該函數定時調整RGB三路PWM的占空比。

6.5實驗結果

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

教程GD32 MCU方案商聚沃科技原創發布,了解更多GD32 MCU教程,關注聚沃科技官網

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • PWM
    PWM
    +關注

    關注

    114

    文章

    4910

    瀏覽量

    210149
  • RGB
    RGB
    +關注

    關注

    4

    文章

    765

    瀏覽量

    57480
  • 開發板
    +關注

    關注

    25

    文章

    4472

    瀏覽量

    94330
  • Timer
    +關注

    關注

    1

    文章

    60

    瀏覽量

    12683
  • GD32
    +關注

    關注

    7

    文章

    340

    瀏覽量

    23766
收藏 人收藏

    評論

    相關推薦

    使用GD32F470編譯drv_adc.c時報錯怎么解決?

    使用GD32F470芯片,編譯drv_adc.c時報錯好幾個編譯錯誤,可能是適配GD32F470芯片沒有適配好。 編譯問題如下圖:
    發表于 02-23 06:55

    HJ-3G單片機實驗使用手冊.pdf

    HJ-3G單片機實驗使用手冊.pdf
    發表于 05-19 00:23

    這是DE2開發板使用手冊

    DE2開發板使用手冊,有興趣的人可以下載看一下
    發表于 06-03 17:58

    DE2_70開發板中文使用手冊

    分享一個剛淘到的好資料,DE2_70開發板中文使用手冊。
    發表于 08-12 15:55

    QC-CPLD開發板快速使用手冊

    `QC-CPLD開發板快速使用手冊.pdf`
    發表于 10-06 08:11

    FPGA開發板快速使用手冊

    QC-FPGA-C1開發板快速使用手冊.pdf感興趣的可以看看0
    發表于 10-07 09:24

    ARM7開發板FS4510使用手冊

    [url=]ARM7開發板FS4510使用手冊[/url][hide][/hide]
    發表于 12-30 10:02

    迅為iMX6ULL開發板使用手冊資料下載

    第一部分 QT應用開發 第五篇 Linux系統移植篇 第六篇 Linux文件系統構建篇 《IMX6ULL終結者開發板裸機使用手冊》第一章 Cortex-A7架構第二章 初識ARM匯編
    發表于 12-02 14:13

    現有的BSP工程可以直接在GD32F470上進行開發

    大家好:有關于GD32F470的BSP工程的問題咨詢,我在GD官網上查照資料了解470和450是很相似的,目前因為項目需要使用的470芯片,想使用rt-thread的操作系統,但是不知
    發表于 08-01 10:39

    四核iTOP4412開發板使用手冊目錄

    四核iTOP4412開發板使用手冊目錄
    發表于 04-06 10:35

    YL-51開發板使用手冊

    YL-51開發板使用手冊,YL-51開發板使用手冊YL-51開發板使用手冊YL-51
    發表于 05-10 16:31 ?18次下載

    開發板燒寫測試使用手冊

    開發板燒寫測試使用手冊,有需要的下來看看
    發表于 06-03 14:30 ?0次下載

    51開發板使用手冊

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

    GD32F470紫藤開發板使用手冊】第五講 GPIO-流水燈實驗

    GD32F4xx系列MCU最多可支持?140?個通用?I/O?引腳(GPIO),分別為?PA0 ~ PA15,?PB0 ~ PB15,?PC0 ~ PC15,PD0 ~ PD15,?PE0
    的頭像 發表于 04-30 09:38 ?20次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b>派<b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第五講  GPIO-流水燈<b class='flag-5'>實驗</b>

    GD32H757Z海棠派開發板使用手冊第六TIMER_3PWM輸出實驗

    通過本實驗主要學習以下內容: TIMER PWM輸出原理 TIMER 定時中斷
    的頭像 發表于 05-09 09:36 ?42次閱讀
    【<b class='flag-5'>GD</b>32H757Z海棠派<b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】<b class='flag-5'>第六</b>講 <b class='flag-5'>TIMER_3</b>路<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b><b class='flag-5'>實驗</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>