单片机
返回首页

GD32F103C8单片机的PWM输出试验

2024-11-19 来源:elecfans

在国产化芯片浪潮崛起的今天,给大家介绍一款国产单片机,它就是兆易创新“GD”,今天主要给大家介绍的是关于这款单片机官方DEMO的PWM输出试验,重点是使用keil仿真输出波形。


大家在使用keil的Debug模式时,可能看到过下面这个图标,它就是用来观察波形的,输入特定的GPIO引脚,就可以直观看出波形。

来自keil帮助文档介绍内容

下面以GD32F10x系列的一款单片机GD32F103C8T6的DEMO程序来给大家演示这个功能怎么使用。 首先,我们进入兆易创新官网,然后找到下图中的官方DEMO,点击下载。


官网下载

用到的文件

然后将上图中的文件复制到Template文件夹下,再用keil打开工程文件即可。 打开工程后,我们看到Device中默认选择的时GD32F107VC,因为这是官方DEMO基于该芯片创建的工程,但是我们使用的时GD32F103C8,所以需要将选择为GD32F103C8。

默认Device

更改Device

更改完Device后,点击C/C++选项,将Define:更改为USE_STDPERIPH_DRIVER,GD32F10X_MD,这个文件是根据不同内存的单片机决定的,所以需要更改为MD。

更改Define

然后到这一步,编译,编译成功后点击魔术棒-Debug,选择Use simulator,点击OK,最后点击Debug,进入调试模式。 根据官方给出的备注,使用的定时器1对应的3个通道,分别输出不同的占空比,对应3个GPIOA1、GPIOA2、GPIOA3。


gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_1);

gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_2);

gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_3);


引脚定义

在Debug模式下,按照下图中点击对应位置。

Debug界面调出示波器

弹出变量输入界面,点击新建,分别输入PORTA.1回车、PORTA.2回车、PORTA.3回车,注意需要将显示类型更改为Bit。 输入的引脚是和我们定义的PWM输出引脚有关的,这个要根据不同的引脚来修改。

变量输入

更改显示类型

到这里,就可以执行仿真了。 点击复位-Run全速运行,即可看到三个通道输出的波形,红色代表25%占空比,绿色代表50%占空比,蓝色代表75%占空比。


三个通道输出的波形

我们计算一下,程序里面设定的时钟源为PLL,最后APB1_Clock为72Mhz,定时器1的预分频系数为1,不分频,ARR计数值为10000,PWM频率=(72M/72)/(10000)=100Hz,T=1/F=0.01s。 20%=0.002s/0.01s*100;50%=0.005s/0.01s*100;75%=0.0075s/0.01s*100;


timer_initpara.prescaler         = (72-1);

timer_initpara.alignedmode       = TIMER_COUNTER_EDGE;

timer_initpara.counterdirection  = TIMER_COUNTER_UP;

timer_initpara.period            = (10000-1);

timer_initpara.clockdivision     = TIMER_CKDIV_DIV1;

timer_initpara.repetitioncounter = 0;

timer_init(TIMER1,&timer_initpara);


PWM频率100Hz

75%占空比波形

经过计算,仿真的波形和预想的结果是一致的,所以这个方法比较适用于手边没有开发板的情况下,可以使用这一功能去验证。


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 简洁的过零调功器电路设计与分析

  • 单稳态控制电路设计与分析

  • 永不缺相启动运行的电动机控制电路

  • 运算放大器IC741的基本工作原理及在电路中的实现方式

  • 一个简单的红外耳机电路

  • 基于CA3193的热电偶放大器电路

    相关电子头条文章