DA1458x使用之第二篇——PWM

本文详细介绍了如何在DA14580芯片上配置和使用PWM来实现呼吸灯效果。通过设置TIMER0和TIMER2的不同参数,可以调整PWM的占空比和频率。文中提供了初始化IO口、配置TIMER0以及计算PWM频率和占空比的公式,并提到了在DA14580休眠模式下保持IO口状态的注意事项。
摘要由CSDN通过智能技术生成

DA14580有两个TIMER,TIMER0和TIMER2,TIMER0有两路PWM,TIMER2有三路PWM。TIMER0和TIMER2的区别就是TIMER0是16位的,有PWM0和PWM1,而且这两个PWM是一起的。TIMER2是14位的,有PWM2、PWM3和PWM4,是三个独立的PWM,可分别设置占空比。

下面介绍如何用PWM做一个呼吸灯。

1.先定义一个IO口

#define PWM_PORT           GPIO_PORT_1
#define PWM_PIN            GPIO_PIN_0

2.初始化IO口,PID类型为PWM0,因为要用到timer0

GPIO_ConfigurePin( PWM_PORT, PWM_PIN, OUTPUT, PID_PWM0, false );

3.timer0的初始化如下

void pwm_timer0_init(uint16_t h, uint16_t l)
{
 //Enables TIMER0 clock
  set_tmr_enable(CLK_PER_REG_TMR_ENABLED);
  //Sets TIMER0 clock division factor to 1
  set_tmr_div(CLK_PER_REG_TMR_DIV_1);
 timer0_init(TIM0_CLK_FAST, PWM_MODE_ONE, TIM0_CLK_NO_DIV);
 timer0_set(1000,h,l);
 timer0_start();
}

这里设置timer0时钟为系统时钟16MHz,不分频。

说下void timer0_set(uint16_t pwm_on, uint16_t pwm_high, uint16_t pwm_low)这个函数里的三个

DA1458x软件平台开发手册 DA1458x software platform Reference 3.2如何使用此文档 本文档的重点是作为参考,即开发人员不需要通读整个文档;读者的关键是熟悉本文中描述的概念,以便在开发过程中能够使用软件开发人员的指南,以获得所需的结果。 嵌入式,是新的和/或芯片对话框的da1458x系统软件开发平台(SOC)建议审查的内容,然后通过阅读从3.1节到4.8节,然后11节熟悉开发环境的支持。然后建议阅读和使用文档[ 15 ]。如果有人需要更好的理解,并且想深入研究某个特定的主题,他/她可以回到这个文档中,在这个引用中涉及这个主题的特定章节。为了更深入的分析,这个参考文件指向附录或其他文档中更深入的技术说明。 更详细地叙述具体的主题。 这个参考文档不打算提供对蓝牙低能耗的透彻理解,它既不包括内部数据的组织方式,也不涉及蓝牙设备如何相互通信以及设计支持的设计和应用时可能需要的关键设计决策和权衡。 它打算但是提供给软件开发商足够的理解对话的da1458x平台高级API的方法为BLE及其外围设备以及信心如何使发展更快、更好的应用程序时,使用da1458x SoC。蓝牙低能耗技术(2010)是蓝牙专用兴趣小组(SIG)发布的蓝牙4版核心规范的一部分。从4版本开始,蓝牙标准支持两种不同的无线技术系统:蓝牙低能量和基本利率(BR),通常被称为基本速率/增强数据率(BR / EDR)。 在蓝牙低功耗设计的早期阶段,SIG致力于以最小的功耗开发低复杂度的无线标准,并提供低带宽。 优化,从而使低成本应用。在这种情况下,蓝牙低能量被设计用来每次传输非常小的数据包,而消耗的功率明显少于 类似的BR / EDR设备。此外,它的设计还支持高效率的实现,具有严格的能源和硅预算,促进应用程序使用一个单一的硬币电池延长了一段时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值