DAVE用户手册-Getting Started 5

5.使用DAVE APP完成你的第一个应用

让我们应用前几章学到的东西,完成一个简单应用。

要完成的应用

设想一个简单的应用:

  • 产生一个固定频率的PWM信号
  • 在PWM周期结束触发的ISR中翻转一个LED

图形化之,如下:
在这里插入图片描述
图1:要完成的应用

需要使用的外设是CCU4(用于定时器功能)、2个IO引脚(一个用于PWM输出,另一个用于翻转LED)和NVIC节点(用于中断功能)。
本练习的目的是学习使用应用构建模块(DAVE APPs)完成应用。

应用构建模块

这些外设对应的APP是:

  • PWM APP,用于配置定时器硬件和获取PWM API,以启动PWM。
  • DIGITAL_IO APP,用于把IO引脚配置为输出,以及生成翻转LED的API。
  • INTERRUPT APP,用于配置NVIC节点。CCU4模块标记了PWM周期结束事件,该NVIC节点与该事件联系起来。

构造应用

a.创建工程

  1. 创建一个DAVE CE工程,设备选择XMC4500
  2. 起个名字(例如PWM_Generator)
    在这里插入图片描述
    APP的名字必须符合C变量命名规则。

b.添加APP

  1. 向工程中添加3种APP
  2. 完成后,你的工程看起来像这个样子:
    在这里插入图片描述
    图2:必要的APP

c.配置APP

PWM APP

  1. 双击PWM APP,开始配置它。
    a. PWM APP提供3个配置标签页。第一个标签页用于PWM定时器配置,第二个用于定时器事件配置,定时器事件可用于产生中断,第三个用于IO引脚配置,PWM信号将从选定的引脚输出。
    b. 在General Settings标签页中,设定PWM APP产生1.5kHz、50%占空比的PWM输出信号。
    c. 在Event Settings标签页中,使能周期匹配事件。
    d. 在Pin Settings标签页中,配置PWM输出的IO引脚。
    在这里插入图片描述
    APP提供的默认配置通常是足够好的,除非你的应用需要修改其默认配置。
  2. 前面已经为PWM APP配置了基本特性。现在要设置一个中断节点。一个定时器通道能够产生多个事件。当这些事件与中断线连接时,就能产生中断。所以,现在要把一个PWM定时器事件(例如,定时器周期匹配事件)与一个NVIC节点连接起来:我们从打开Signal Connectivity特性开始。
    在这里插入图片描述
    图3:打开Signal Connectivity
  3. 手动把PWM APP的周期匹配事件连接到NVIC节点,然后保存。
    在这里插入图片描述
    图4:把PWM事件连接到中断节点

INTERRUPT APP

  1. 把PWM事件连接到中断节点后,就可以配置该NVIC节点的属性了。双击INTERRUPT APP开始配置。你可以根据需要配置中断的优先级和子优先级。给ISR起一个函数名(例如PWM_Event_Handler).该函数最终需要你在某个文件(例如main.c)中完成编写。
    在这里插入图片描述
    图5:PWM中断配置

DIGITAL_IO APP

  1. PWM和NVIC节点配置好了,现在要配置连接到LED的GPIO了。该GPIO配置为输出,并且在每次PWM中断触发时被翻转。双击DIGITAL_IO APP,设置IO功能引脚。
    在这里插入图片描述
    图6:GPIO配置

d.代码生成

  1. 现在用于构建的APP都已经被配置了,可以生成源代码库了。生成的库包括API和数据结构,可以被用户的应用代码使用。
    在这里插入图片描述
    图7:从配置的APP生成源代码库

e.应用栈

下图展示了各个库的层级关系,可以帮助你快速开发应用。
在这里插入图片描述
图8:生成的代码的应用栈

f.创建一个应用,使用生成的代码库

DAVE在创建工程时就提供了一个范例main.c。你现在可以扩展它,可以通过使用生成的库中的API和数据结构创造你的应用。
在这里插入图片描述
图9:使用DAVE APP源代码的用户应用

g.生成用于擦写的二进制文件

在DAVE中,从源代码生成二进制文件(.elf、.hex、.bin)很简单。ARM-GCC工具链和MBS(一个构建框架)就是干这个的。
在这里插入图片描述
图10:二进制文件的生成

现在可以把二进制文件烧写到目标板中。详见下一章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值