FTM输出PWM

1、宏定义

#define FTM_INSTANCE FTM2    //FTM端口
#define FTM_CHANNAL0    0U      //FTM通道
#define FTM_CHANNAL1    1U      //FTM通道
#define FTM_CLKFREQ()   CLOCK_GetFreq(kCLOCK_BusClk)    //获取总线时钟频率
#define FTM_PORT        PORTB   //PORT端口
#define FTM_PIN1        18U     //PWM引脚
#define FTM_PIN2        19U     //PWM引脚

2、PWM初始化

void FWM_INIT(void)
{ftm_config_t FTMconfig;//初始化结构体句柄CLOCK_EnableClock(kCLOCK_PortB);//GPIOB端口时钟初始化PORT_SetPinMux(FTM_PORT,FTM_PIN1,kPORT_MuxAlt3);//端口复用为FTM模式PORT_SetPinMux(FTM_PORT,FTM_PIN2,kPORT_MuxAlt3);//端口复用为FTM模式ftm_chnl_pwm_signal_param_t FTM_PARAM[2];   //初始化参数配置数组FTM_PARAM[0].chnlNumber = FTM_CHANNAL0;     //配置通道FTM_PARAM[0].dutyCyclePercent = 0U;          //初始化的占空比FTM_PARAM[0].firstEdgeDelayPercent = 10U; //死区时间FTM_PARAM[0].level = kFTM_HighTrue;          //极性为高电平FTM_PARAM[1].chnlNumber = FTM_CHANNAL1;        //配置通道FTM_PARAM[1].dutyCyclePercent = 0U;          //初始化的占空比FTM_PARAM[1].firstEdgeDelayPercent = 10U; //死区时间FTM_PARAM[1].level = kFTM_HighTrue;          //极性为高电平FTM_GetDefaultConfig(&FTMconfig);           //配置重置FTM_Init(FTM_INSTANCE,&FTMconfig);            //初始化配置FTM_SetupPwm(FTM_INSTANCE,FTM_PARAM,2U,kFTM_EdgeAlignedPwm,200000,FTM_CLKFREQ());//配置PWM     FTM_StartTimer(FTM_INSTANCE,kFTM_SystemClock);//开启定时器,时钟源配置为系统时钟
}

其中,FTM_SetupPwm函数的参数为:

status_t FTM_SetupPwm(FTM_Type *base,        //FTM端口号const ftm_chnl_pwm_signal_param_t *chnlParams,  //初始化参数配置数组地址    uint8_t numOfChnls,    //通道个数ftm_pwm_mode_t mode,  //PWM模式,一般选择边沿触发uint32_t pwmFreq_Hz, //输出PWM频率uint32_t srcClock_Hz)  //时钟源

FTM_StartTimer的函数

static inline void FTM_StartTimer(FTM_Type *base,        //FTM端口号ftm_clock_source_t clockSource)//时钟源(系统时钟)

3、改变占空比

void FTM_UpdatePwmDutycycle(FTM_Type *base,      //FTM端口号ftm_chnl_t chnlNumber,  //通道号ftm_pwm_mode_t currentPwmMode, pwm模式(一般为边缘触发)            uint8_t dutyCyclePercent)   //占空比(0-100)
//行如:
FTM_UpdatePwmDutycycle(FTM0_INSTANCE,FTM0_CHANNAL0,kFTM_EdgeAlignedPwm,duty);

4、使能软件流控制

static inline void FTM_SetSoftwareTrigger(FTM_Type *base,//FTM端口号bool enable)        //布尔值(0或1)//行如:
FTM_SetSoftwareTrigger(FTM_INSTANCE,1);

这里注意一点:每次改变完占空比后都要使能软件流控制,不然不会执行,也就是没有PWM输出

用SDK包开发K66FX18学习笔记(3)相关推荐

  1. 用SDK包开发K66FX18学习笔记(1)

    任何单片机,从点灯开始(GPIO输出) 1.LED初始化(fsl_gpio.h) void LED_INIT(void) {gpio_pin_config_t LEDconfig;//GPIO初始化句 ...

  2. 用SDK包开发K66FX18学习笔记(5)

    ADC采集(光敏电阻) 1.宏定义 #define ADC0_INSTANCE ADC0 #define ADC1_GPIO GPIOA #define ADC1_PORT PORTA #define ...

  3. 用SDK包开发K66FX18学习笔记(2)

    PIT定时器(更新中断) 1.宏定义 #define PIT_CHANNAL kPIT_Chnl_0 //通道0 #define PIT_DELAY 500000 //500MS #define PI ...

  4. 用SDK包开发K66FX18学习笔记(4)

    FTM脉冲输入捕获 1.宏定义 #define INCAP_INSTANCE FTM1 //端口号 #define INCAP_CHANNEL0 kFTM_Chnl_0 //通道号 #define I ...

  5. iTOP-RK3568开发板学习笔记(1)编译+烧录系统

    迅为 RK3568 开发板学习笔记 文章目录 准备开发环境 复制 Linux SDK 编译 Buildroot 烧录固件 准备开发环境 将 ITOP-RK3568 资料包中的虚拟机开发环境解压到自己的 ...

  6. 多人网络游戏服务器开发基础学习笔记 II: 帧同步 | 游戏客户端预测原理分析 | FPS 游戏状态同步

    这篇是对书本 网络多人游戏架构与编程 的学习第二篇(第一篇:多人网络游戏服务器开发基础学习笔记 I:基本知识 | 游戏设计模式 | 网游服务器层次结构 | 游戏对象序列化 | 游戏 RPC 框架 | ...

  7. “物联网开发实战”学习笔记-(四)智能音箱制作和语音控制

    "物联网开发实战"学习笔记-(四)智能音箱制作和语音控制 这次来造一个属于自己的智能音箱,这里详细介绍了智能音箱的语音控制的实现. 智能音箱的技术架构 智能音箱主要涉及拾音.前端信 ...

  8. 涂鸦LZ201-CN开发板学习笔记(一)

    涂鸦LZ201-CN开发板学习笔记(一) 前言 一.引出 二.准备流程 1.购买开发板 2.创建产品 (1)创建产品 (2)功能定义 (3)设备交互 (4)硬件开发 3.检查开发板 第一步: 第二步: ...

  9. “物联网开发实战”学习笔记-(二)手机控制智能电灯

    "物联网开发实战"学习笔记-(二)手机控制智能电灯 如果搭建好硬件平台后,这一次我们的任务主要是调试好智能电灯,并且连接到腾讯云的物联网平台. 腾讯云物联网平台 腾讯物联网平台的优 ...

最新文章

  1. 解散了地图接口讨论群
  2. mysql 分页排序
  3. POJ 1423 Big Number
  4. 2018年香港私隐公署接129宗资料外泄通报 创新高
  5. 十七、频繁模式、关联和相关性的基本概念和方法
  6. 2. Using 'dp' instead of 'px' to set text size
  7. 福大软工 · BETA 版冲刺前准备(团队)
  8. 天地图卫星地图_AutoCAD使用卫星地图
  9. Python的闭包的后期绑定问题
  10. struts2.1.6出现at com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading
  11. Ubuntu18.04中配置QT5.11开发环境
  12. 软件类配置(七)【ubuntu16.04安装netbeans、opencv并配置开发环境。】
  13. ios计算机错误,用iTunes更新IOS14失败,显示发生未知错误(4000)的简单解决办法!...
  14. 如何修复老照片,Bringing-Old-Photos-Back-to-Life机器学习开源项目安装使用 | 机器学习
  15. element遮罩_如何实现全屏遮罩(附Vue.extend和el-message源码学习)
  16. 【LOJ 10064】黑暗城堡
  17. springCloud之Netflix完整学习
  18. css的优先级和权重问题 以及!important优先级
  19. DDD/ABP 洋葱架构aka整洁架构
  20. 简单的几句PHP生成美团3周年砸金蛋抽奖代码

热门文章

  1. php网站整合ck播放器,帝国cms整合CKplayer播放器代码教程
  2. 2021观澜二中高考成绩查询,深圳中学排名
  3. 2021 CSDN 年度博客之星评选 TOP 100完整榜单
  4. 怎样才能在微信朋友圈发长视频?
  5. 个人晋升演讲ppt_如何写好公司级别晋升 PPT?
  6. Linux 内核 notifier机制
  7. 基于uniapp的个人课程表
  8. java打包跳过test_maven打包如何跳过测试操作的?
  9. android 自定义心电图,Android动态滚动波形图(心电图)的实现
  10. Android Wi-Fi Regulatory domain controlle the channel(以QCOM平台为例)