完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
我正在使用 S32K118 EVB。我使用 FTM0 模块(CH0 和 CH1)将两个引脚(PTD15 和 PTD16)设置为 PWM。通道在组合配置模式下设置如下: Ch0 频率 40 khz 和 Duty 50% Active High Ch1 Complementary 我添加了一个中断处理函数:INT_SYS_InstallHandler(FTM0_Ovf_Reload_IRQn, &FTM0ISR, (isr_t *)0); FTM0ISR 是: void FTM0ISR(void) { FTM_DRV_ClearStatusFlags(INST_FLEXTIMER_PWM_1, (uint32_t)FTM_TIME_OVER_FLOW_FLAG); } 每个 PWM 启动周期我都可以看到中断调用。 我的目标是每半个周期(或更少)而不是每个周期从溢出(或重新加载?)中断,以便在 FTM 计数器运行时更改 PWM 周期/占空比。 根据文件 AN5303 中的文档 -> “4.3.2. 半周期和全周期重载策略”和 s32k 参考手册,我在 PWM 初始化期间添加了这段代码: FTM0->MOD = 1200-1; FTM0->控制[1].CnV = 600; //占空比 50% FTM0->HCR = ((FTM0->MOD)/2); //加载 MOD/2 的一半重载值,期望在半个 PWM 周期发生中断 FTM0->PWMLOAD = 0x301; //启用半周期重载:0011 0000 0001 FTM0->SC |= FTM_SC_RIE_MASK;//启用RIE FTM0->SC |= FTM_SC_PWMEN0_MASK;//使能HCSEL位 但没有成功。我正在阅读所有文档,但我无法弄清楚我做错了什么。 在中断句柄内,我还尝试清除 FTM_RELOAD_FLAG 而不是 FTM_TIME_OVER_FLOW_FLAG,但这样我就可以每 6.5 uSec 接收一次中断调用,这对我的目的来说是无用的,因为这些调用似乎没有与开始/结束 PWM 周期同步。 有人可以指出我正确的方向吗? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1932个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36419 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4831 浏览 1 评论
6103 浏览 1 评论
6815 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4247 浏览 0 评论
642浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
639浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
640浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
727浏览 2评论
841浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 17:25 , Processed in 0.842417 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号