色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

GD32F303固件庫開發(12)----輸出PWM及修改PWM頻率與占空比

嵌入式單片機MCU開發 ? 來源:嵌入式單片機MCU開發 ? 作者:嵌入式單片機MCU開 ? 2022-11-30 15:36 ? 次閱讀

概述

本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發,同時通過開發板內進行驗證。 本章主要配置定時器輸出PWM,同時演示PWM頻率與占空比。 查閱手冊可以得知,PB11為定時器1的通道3,對應ST的為定時器2的通道4。 需要GD樣片的可以加QUN申請:615061293 。

在這里插入圖片描述

生成例程

這里準備了自己繪制的開發板進行驗證。

使用PB11進行驗證。

在這里插入圖片描述

工作過程

在ST中查看下面工作原理圖可以得知,時鐘可以由內部Internal clock產生或者外部ETR。 同時可以設置復位,使能,向上/向下,計數。

在這里插入圖片描述

在GD中,內部時鐘源 TIMER_CK。

在這里插入圖片描述

同時分頻只能為1、2、4。

在這里插入圖片描述

查看ST下列文檔可以得知,定時器主要有TIMx_CNT、TIMx_PSC、TIMx_ARR控制。 同時預分頻器(TIMx_PSC)范圍位1-65535。

在這里插入圖片描述

查看TIMx_PSC說明,可以得知定時器頻率為 fCK_PSC / (PSC[15:0] + 1)

在這里插入圖片描述

可以看到,當psc設置為不同的值的時候,計數頻率也會發生改變。

在這里插入圖片描述

查看GD的文檔,可以得知,控制 PSC_CLK可以進行分頻,定時器頻率為 fPSC_CLK / (PSC+ 1)。

。

在這里插入圖片描述

在這里插入圖片描述

在ST中,同時ARR可以改變計數值,當寫入的arr越大,他的頻率越低,計數周期是ARR+1。

在這里插入圖片描述

同時周期由TIMERx_CAR決定,pwm占空比由TIMERx_CHxCV決定。

在這里插入圖片描述

ARR計數值如下所示。

在這里插入圖片描述

在這里插入圖片描述

占空比定義如下所示。

在這里插入圖片描述

PWM頻率計算如下所示。 其中ARR在GD中中用CAR去定義了。

在這里插入圖片描述

配置TIM參數,預分頻系數設置為120-1, 自動重載值設置為1000-1,那么PWM頻率為120,000,000/((120-1+1)*(1000-1+1))=1000Hz,即1KHz。

初始化代碼

/*使能TIMER1時鐘 */
        rcu_periph_clock_enable(RCU_TIMER1);
        /*使能GPIOB時鐘 */
        rcu_periph_clock_enable(RCU_GPIOB);
        /*使能復用時鐘 */
    rcu_periph_clock_enable(RCU_AF);

        /*設置io口,設置為復用模式 */
    gpio_init(GPIOB,GPIO_MODE_AF_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_11);
        /*TIMER1全部重映射*/
        gpio_pin_remap_config (GPIO_TIMER1_FULL_REMAP, ENABLE);




        timer_oc_parameter_struct timer_ocintpara;
    timer_parameter_struct timer_initpara;


        /*定時器復位 */
    timer_deinit(TIMER1);

    /* TIMER1 configuration */
        /*時鐘分頻系數 */
    timer_initpara.prescaler         = 120-1;
    /*邊沿對齊 */
        timer_initpara.alignedmode       = TIMER_COUNTER_EDGE;
    /*上升計數 */
        timer_initpara.counterdirection  = TIMER_COUNTER_UP;
    /*計數值 */
        timer_initpara.period            = 1000-1;
    /*根據prescaler,clockdivision最終該定時器時鐘評率為1M */
        timer_initpara.clockdivision     = TIMER_CKDIV_DIV1;
    /*重復計數器的值 */
        timer_initpara.repetitioncounter = 0;
    /* */
        timer_init(TIMER1,&timer_initpara);

    /* CH0,CH1 and CH2 configuration in PWM mode */
        /*是否使能輸出 */
    timer_ocintpara.outputstate  = TIMER_CCX_ENABLE;
    /*是否互補通道輸出 */
        timer_ocintpara.outputnstate = TIMER_CCXN_DISABLE;
    /*輸出極性 */
        timer_ocintpara.ocpolarity   = TIMER_OC_POLARITY_HIGH;
    /*輸出死區延遲的極性 */
        timer_ocintpara.ocnpolarity  = TIMER_OCN_POLARITY_HIGH;
    /*空閑狀態下通道輸出極性通道 */
        timer_ocintpara.ocidlestate  = TIMER_OC_IDLE_STATE_LOW;
    /*空閑時互補通道輸出極性 */
        timer_ocintpara.ocnidlestate = TIMER_OCN_IDLE_STATE_LOW;

    /*配置通道 */
        timer_channel_output_config(TIMER1,TIMER_CH_3,&timer_ocintpara);



    /* CH3 configuration in PWM mode0,duty cycle 30% */
    /*設置閾值(比較值,調節占空比的時候調節這個值) */
        timer_channel_output_pulse_value_config(TIMER1,TIMER_CH_3,300);
    /*輸出模式配置 */
        timer_channel_output_mode_config(TIMER1,TIMER_CH_3,TIMER_OC_MODE_PWM0);
    /*不使用影子寄存器 */
        timer_channel_output_shadow_config(TIMER1,TIMER_CH_3,TIMER_OC_SHADOW_DISABLE);



    /* 使能定時器自動重裝載值 */
    timer_auto_reload_shadow_enable(TIMER1);
    /* 使能定時器 */
    timer_enable(TIMER1);

由于上述設置計數值位1000,那么設置30%的正占空比的ccr應該配置為30%*1000=300。

/ *設置閾值(比較值,調節占空比的時候調節這個值) * / timer_channel_output_pulse_value_config(TIMER1,TIMER_CH_3,300);

在這里插入圖片描述

修改PWM頻率

修改PWM頻率可以修改PSC或者ARR來進行改變。

在這里插入圖片描述

設置TIM自動重新加載寄存器值。 初始設置為PSC為120-1,ARR為1000-1,若設置為500-1,那么他的頻率應該是120M/(120-1+1)(500-1+1)=2k 占空比為300/500*100%=60%

timer_autoreload_value_config (TIMER1, 500-1);

在這里插入圖片描述

在運行時設置TIM Prescaler。 初始設置為ARR為500-1,PSC為120-1,若設置為60-1,那么他的頻率應該是120M/(60-1+1)(500-1+1)=4k 占空比為300/500*100%=60%

timer_prescaler_config (TIMER1, 60-1, TIMER_PSC_RELOAD_NOW);

在這里插入圖片描述

審核編輯:湯梓紅

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

    關注

    114

    文章

    5197

    瀏覽量

    214571
  • 固件庫
    +關注

    關注

    2

    文章

    97

    瀏覽量

    14968
  • stm32cubemx
    +關注

    關注

    5

    文章

    284

    瀏覽量

    14914
  • gd32f303
    +關注

    關注

    4

    文章

    38

    瀏覽量

    3711
收藏 人收藏

    評論

    相關推薦

    GD32F303固件開發(14)----IIC之配置OLED

    本章配置GD32F303使用IIC進行驅動SSD1306的12864OLED。
    的頭像 發表于 07-26 08:55 ?3852次閱讀
    <b class='flag-5'>GD32F303</b><b class='flag-5'>固件</b><b class='flag-5'>庫</b><b class='flag-5'>開發</b>(14)----IIC之配置OLED

    GD32F303】星空派介紹

    GD32官方資料的基礎上,提供GD32F303的庫函數開發資料、例程講解、視頻課程等。同時還提供RT-Thread相關的驅動開發、應用開發
    發表于 09-11 17:55

    關于GD32F303PWM輸入捕獲精度問題

    有大佬測過GD32F303最高能對多高頻率PWM進行捕獲嗎?最近做的PWM輸入捕獲,對周期為10ms以下的PWM捕獲開始出現明顯誤差,對比
    發表于 10-26 09:54

    GD32F30x系列固件

    GD32F30x系列固件包含GD32F303GD32F305、GD32F307三個系列的最新
    發表于 08-21 09:00 ?166次下載

    GD32F303固件開發(1)----前期準備與燒錄

    在這使用STM32CUBEMX進行配置STM32F103,移植到兆易創新GD32F303,然后進行測試。需要樣片的可以加Qun申請:615061293。
    的頭像 發表于 11-23 11:15 ?2837次閱讀
    <b class='flag-5'>GD32F303</b><b class='flag-5'>固件</b><b class='flag-5'>庫</b><b class='flag-5'>開發</b>(1)----前期準備與燒錄

    GD32F303固件開發(3)----使用固件點亮LED

    概述 在GD的官網中有許多的DEMO文件,可以使用開發板的案例或者對應的MCU標準固件。需要樣片的可以加群申請:6_15061293。 下圖是GD
    的頭像 發表于 11-23 17:36 ?2971次閱讀
    <b class='flag-5'>GD32F303</b><b class='flag-5'>固件</b><b class='flag-5'>庫</b><b class='flag-5'>開發</b>(3)----使用<b class='flag-5'>固件</b><b class='flag-5'>庫</b>點亮LED

    GD32F303固件開發(5)----GPIO輸出模式,速率測試、開漏和輸出說明

    以STM32CUBEMX創建STM32F103工程,同時移植在GD32F303中,同時通過GD32303C_START開發板內進行驗證。
    的頭像 發表于 11-25 15:32 ?3242次閱讀
    <b class='flag-5'>GD32F303</b><b class='flag-5'>固件</b><b class='flag-5'>庫</b><b class='flag-5'>開發</b>(5)----GPIO<b class='flag-5'>輸出</b>模式,速率測試、開漏和<b class='flag-5'>輸出</b>說明

    STM32CUBEMX開發GD32F30312)----輸出PWM修改PWM頻率占空比

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發,同時通過開發板內進行驗證。 本章主要配置定時器輸出
    的頭像 發表于 11-30 14:40 ?3955次閱讀
    STM32CUBEMX<b class='flag-5'>開發</b><b class='flag-5'>GD32F303</b>(<b class='flag-5'>12</b>)----<b class='flag-5'>輸出</b><b class='flag-5'>PWM</b>及<b class='flag-5'>修改</b><b class='flag-5'>PWM</b><b class='flag-5'>頻率</b>與<b class='flag-5'>占空比</b>

    STM32CUBEMX開發GD32F303(13)----定時器TIM捕獲PWM測量頻率占空比

    概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發,同時通過開發板內進行驗證。 本章STM32CUBEMX配置STM32
    的頭像 發表于 12-07 10:15 ?3632次閱讀
    STM32CUBEMX<b class='flag-5'>開發</b><b class='flag-5'>GD32F303</b>(13)----定時器TIM捕獲<b class='flag-5'>PWM</b>測量<b class='flag-5'>頻率</b>與<b class='flag-5'>占空比</b>

    GD32F303固件開發(13)----定時器TIM捕獲PWM測量頻率占空比

    本章配置GD32F303輸出PWM,同時使用TIM測量PWM頻率和正占空比。 查閱手冊可以得知,
    的頭像 發表于 12-07 10:19 ?6216次閱讀
    <b class='flag-5'>GD32F303</b><b class='flag-5'>固件</b><b class='flag-5'>庫</b><b class='flag-5'>開發</b>(13)----定時器TIM捕獲<b class='flag-5'>PWM</b>測量<b class='flag-5'>頻率</b>與<b class='flag-5'>占空比</b>

    AN029 GD32F103程序在GD32F303GD32F403芯片上運行DSP

    AN029 GD32F103程序在GD32F303GD32F403芯片上運行DSP
    發表于 02-27 18:33 ?0次下載
    AN029 <b class='flag-5'>GD32F</b>103程序在<b class='flag-5'>GD32F303</b>和<b class='flag-5'>GD32F</b>403芯片上運行DSP

    GD32F303固件開發(15)----外部中斷EXTI

    本章配置GD32F303使用EXTI進行驅動LED。
    的頭像 發表于 07-26 15:56 ?1605次閱讀
    <b class='flag-5'>GD32F303</b><b class='flag-5'>固件</b><b class='flag-5'>庫</b><b class='flag-5'>開發</b>(15)----外部中斷EXTI

    GD32F303固件開發

    的可以加群申請:615061293 。 GD32F303固件開發(1)----前期準備與燒錄 使用GDLINK、jlink、串口下載程序到GD
    的頭像 發表于 07-27 09:27 ?1236次閱讀
    <b class='flag-5'>GD32F303</b><b class='flag-5'>固件</b><b class='flag-5'>庫</b><b class='flag-5'>開發</b>

    STM32CUBEMX開發GD32F303

    在這使用STM32CUBEMX進行配置STM32F103,移植到兆易創新GD32F303,然后進行測試。
    的頭像 發表于 07-27 09:32 ?1683次閱讀
    STM32CUBEMX<b class='flag-5'>開發</b><b class='flag-5'>GD32F303</b>

    GD32 MCU 移植教程】2、從 GD32F303 移植到 GD32F503

    GD32E503 系列是 GD 推出的 Cortex_M33 系列產品,該系列資源上與 GD32F303 兼容度非常高,本應用筆記旨在幫助您快速將應用程序從 GD32F303 系列微控
    的頭像 發表于 08-31 09:36 ?1553次閱讀
    【<b class='flag-5'>GD</b>32 MCU 移植教程】2、從 <b class='flag-5'>GD32F303</b> 移植到 <b class='flag-5'>GD32F</b>503
    主站蜘蛛池模板: 被cao的奶水直喷高H | 国产精品视频免费观看 | 男生脱美女内裤内衣动态图 | 一级做a爰片久久毛片苍井优 | 亚洲性夜夜夜色综合网 | 青青草原免费在线 | 久久综合伊人 | 国产欧美一区二区精品久久久 | 暖暖的高清视频在线观看免费中文 | 国产精品麻豆a啊在线观看 国产精品麻豆AV | 秋霞电影网午夜鲁丝片 | 国产色欲一区二区精品久久呦 | 亚洲久热无码中文字幕 | 偷拍 自怕 亚洲 在线 | 亚洲破处女 | 国语92电影网午夜福利 | 亚洲精品无码葡京AV天堂 | 学校捏奶揉下面污文h | 九九精品久久 | 一二三区乱码不卡手机版 | 99热在线观看 | 四虎永久在线精品免费A | 亚洲精品沙发午睡系列 | 毛片免费在线视频 | 日本欧美久久久久免费播放网 | 高清国语自产拍免费 | 强壮的公次次弄得我高潮韩国电影 | 男人和女人全黄一级毛片 | 亚洲精品不卡在线 | 欧美 亚洲综合在线一区 | 恋夜秀场支持安卓版全部视频国产 | 97超碰97资源在线观看 | 古代荡女丫鬟高H辣文纯肉 姑娘视频日本在线播放 | 99在线在线视频观看 | 日本午夜看x费免 | 久久精选视频 | 在线 无码 中文 强 乱 | 国产精品JK白丝AV网站 | 亚洲视频在线观看 | 717影院理论午夜伦不卡久久 | 国产产一区二区三区久久毛片国语 |