用SDK包开发K66FX18学习笔记(3)
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)相关推荐
- 用SDK包开发K66FX18学习笔记(1)
任何单片机,从点灯开始(GPIO输出) 1.LED初始化(fsl_gpio.h) void LED_INIT(void) {gpio_pin_config_t LEDconfig;//GPIO初始化句 ...
- 用SDK包开发K66FX18学习笔记(5)
ADC采集(光敏电阻) 1.宏定义 #define ADC0_INSTANCE ADC0 #define ADC1_GPIO GPIOA #define ADC1_PORT PORTA #define ...
- 用SDK包开发K66FX18学习笔记(2)
PIT定时器(更新中断) 1.宏定义 #define PIT_CHANNAL kPIT_Chnl_0 //通道0 #define PIT_DELAY 500000 //500MS #define PI ...
- 用SDK包开发K66FX18学习笔记(4)
FTM脉冲输入捕获 1.宏定义 #define INCAP_INSTANCE FTM1 //端口号 #define INCAP_CHANNEL0 kFTM_Chnl_0 //通道号 #define I ...
- iTOP-RK3568开发板学习笔记(1)编译+烧录系统
迅为 RK3568 开发板学习笔记 文章目录 准备开发环境 复制 Linux SDK 编译 Buildroot 烧录固件 准备开发环境 将 ITOP-RK3568 资料包中的虚拟机开发环境解压到自己的 ...
- 多人网络游戏服务器开发基础学习笔记 II: 帧同步 | 游戏客户端预测原理分析 | FPS 游戏状态同步
这篇是对书本 网络多人游戏架构与编程 的学习第二篇(第一篇:多人网络游戏服务器开发基础学习笔记 I:基本知识 | 游戏设计模式 | 网游服务器层次结构 | 游戏对象序列化 | 游戏 RPC 框架 | ...
- “物联网开发实战”学习笔记-(四)智能音箱制作和语音控制
"物联网开发实战"学习笔记-(四)智能音箱制作和语音控制 这次来造一个属于自己的智能音箱,这里详细介绍了智能音箱的语音控制的实现. 智能音箱的技术架构 智能音箱主要涉及拾音.前端信 ...
- 涂鸦LZ201-CN开发板学习笔记(一)
涂鸦LZ201-CN开发板学习笔记(一) 前言 一.引出 二.准备流程 1.购买开发板 2.创建产品 (1)创建产品 (2)功能定义 (3)设备交互 (4)硬件开发 3.检查开发板 第一步: 第二步: ...
- “物联网开发实战”学习笔记-(二)手机控制智能电灯
"物联网开发实战"学习笔记-(二)手机控制智能电灯 如果搭建好硬件平台后,这一次我们的任务主要是调试好智能电灯,并且连接到腾讯云的物联网平台. 腾讯云物联网平台 腾讯物联网平台的优 ...
最新文章
- 解散了地图接口讨论群
- mysql 分页排序
- POJ 1423 Big Number
- 2018年香港私隐公署接129宗资料外泄通报 创新高
- 十七、频繁模式、关联和相关性的基本概念和方法
- 2. Using 'dp' instead of 'px' to set text size
- 福大软工 · BETA 版冲刺前准备(团队)
- 天地图卫星地图_AutoCAD使用卫星地图
- Python的闭包的后期绑定问题
- struts2.1.6出现at com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading
- Ubuntu18.04中配置QT5.11开发环境
- 软件类配置(七)【ubuntu16.04安装netbeans、opencv并配置开发环境。】
- ios计算机错误,用iTunes更新IOS14失败,显示发生未知错误(4000)的简单解决办法!...
- 如何修复老照片,Bringing-Old-Photos-Back-to-Life机器学习开源项目安装使用 | 机器学习
- element遮罩_如何实现全屏遮罩(附Vue.extend和el-message源码学习)
- 【LOJ 10064】黑暗城堡
- springCloud之Netflix完整学习
- css的优先级和权重问题 以及!important优先级
- DDD/ABP 洋葱架构aka整洁架构
- 简单的几句PHP生成美团3周年砸金蛋抽奖代码
热门文章
- php网站整合ck播放器,帝国cms整合CKplayer播放器代码教程
- 2021观澜二中高考成绩查询,深圳中学排名
- 2021 CSDN 年度博客之星评选 TOP 100完整榜单
- 怎样才能在微信朋友圈发长视频?
- 个人晋升演讲ppt_如何写好公司级别晋升 PPT?
- Linux 内核 notifier机制
- 基于uniapp的个人课程表
- java打包跳过test_maven打包如何跳过测试操作的?
- android 自定义心电图,Android动态滚动波形图(心电图)的实现
- Android Wi-Fi Regulatory domain controlle the channel(以QCOM平台为例)