0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LPC55S69 PWM踩坑寄录

冬至子 来源:螺丝松掉的人 作者:螺丝松掉的人 2023-10-11 15:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在使用 lpc55s69_nxp_evk 开发板对接 rtduino 的过程,对接 PWM 部分的时候,遇到了不少坑,在此记录。

BSP 中 driver 的问题

由于调用的 SDK 版本问题,kCLOCK_CTimer 需要更改为 kCLOCK_Timer,这个问题在与定时器相关的 drv_hwtimer 文件中同样存在。

同样因为 SDK 的版本问题,CTIMER_SetupPwmPeriod 函数增加了一个参数

/*!

  • brief Configures the PWM signal parameters.
  • Enables PWM mode on the match channel passed in and will then setup the match value
  • and other match parameters to generate a PWM signal.
  • This function can manually assign the specified channel to set the PWM cycle.
  • note When setting PWM output from multiple output pins, all should use the same PWM
  • period
  • param base Ctimer peripheral base address
  • param pwmPeriodChannel Specify the channel to control the PWM period
  • param matchChannel Match pin to be used to output the PWM signal
  • param pwmPeriod PWM period match value
  • param pulsePeriod Pulse width match value
  • param enableInt Enable interrupt when the timer value reaches the match value of the PWM pulse,
  • if it is 0 then no interrupt will be generated.
    
  • return kStatus_Success on success
  • kStatus_Fail If matchChannel is equal to pwmPeriodChannel; this channel is reserved to set the PWM period
    

*/
status_t CTIMER_SetupPwmPeriod(CTIMER_Type *base,
const ctimer_match_t pwmPeriodChannel,
ctimer_match_t matchChannel,
uint32_t pwmPeriod,
uint32_t pulsePeriod,
bool enableInt)

新增的 param pwmPeriodChannel 指定一个定时器的通道控制 PWM 的 Period ,需要注意的是,其中提示:当使用一个定时器的多个通道输出 PWM 时,其 Period 均是一致的。

通过对比之前版本的 SDK ,了解到之前是使用 kCTIMER_Match_3 通道作为 pwmPeriodChannel 。因此,在对应的参数位置填入 kCTIMER_Match_3 。

引脚配置问题

解决上述的那些问题之后,就已经可以正常使用 PWM 了。但是在对接 RTduino 的过程中又出现了新的问题。

在 RTduino 框架下一直不能正常使用 PWM 功能,最后发现,是需要将引脚配置为对应的功能,具体对应到的是 RT-Threadrtthreadbsplpc55sxxlpc55s69_nxp_evkboardMCUX_Configboardpin_mux 相关文件,可以通过 NXP 官方工具进行配置 MCUXpresso Config Tools

修改引脚功能后,rtduino 框架下的 PWM 还是对接不上,debug 发现在 drv_pwm 中定时器2对应的是 pwm1 ,而 RT-Thread 的设备框架下应该对应的是 pwm2 ,导致识别不到。于是将 drv_pwm 中定时器2改为 pwm2 ,呼吸灯正常。

之后优化的方向

使用 bsp 时注意到,drv_pwm 中只考虑了定时器2一种情况,并且只有一个通道。接下来需要对 PWM 设备进一步的抽象,更好的对接到 RT-Thread 的设备框架下。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LPC
    LPC
    +关注

    关注

    8

    文章

    137

    浏览量

    79379
  • 定时器
    +关注

    关注

    23

    文章

    3373

    浏览量

    124531
  • RT-Thread
    +关注

    关注

    32

    文章

    1638

    浏览量

    45207
  • PWM输出
    +关注

    关注

    1

    文章

    68

    浏览量

    6820
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    光耦失效的N种现场!工程师都过的

    在电子电路设计中,光电耦合器(光耦)凭借电气隔离、信号传输、抗干扰等核心优势,成为电源、工控、汽车电子、医疗设备等领域不可或缺的基础器件。它看似结构简单、应用便捷,却藏着无数容易被忽略的“陷阱”,几乎每位硬件工程师都在光耦上过失效的
    的头像 发表于 04-23 11:18 154次阅读
    光耦失效的N种现场!工程师都<b class='flag-5'>踩</b>过的<b class='flag-5'>坑</b>

    从 FRAM 读取数据期间 I2C 通信卡住了,怎么解决?

    我最近开始在控制器上工作LPC55S69我正在尝试通过 I2C 总线从 FRAM 读取数据。但是有时我面临从 FRAM 读取数据的问题,因为我的代码在读取数据时卡住了。我已经配置了 I2C 超时
    发表于 04-23 06:56

    使用 LPC55S69 和 MCUX 驱动程序的 CDC 应该实现什么样的吞吐量?

    我有一块基于LPC55S69的板,该板目前具有一个以太网接口,可传输大约 800 kbps 的数据(在任一方向上,但双向总数应保持大致相同。客户想看看我们是否可以取消以太网接口,而是通过 USB
    发表于 04-16 09:20

    Linux新手最常的10个命令介绍

    最新的Linux内核特性(kernel 6.x系列)和常见发行版环境(Ubuntu 24.04 LTS、RHEL 9.4、CentOS Stream 10),系统梳理新手最常的10个命令,帮助读者建立正确的操作习惯和风险意识。
    的头像 发表于 04-09 10:11 202次阅读

    采购晶振怕被?这份避手册请收好

    在电子元器件采购清单里,晶振常被视为“小角色”,但它却是决定设备时钟精度、通信稳定性的核心部件。不少采购新手因对晶振认知不足,在选型、议价、交付等环节频频,轻则导致批量返工,重则影响项目进度
    的头像 发表于 03-24 14:22 1125次阅读
    采购晶振怕被<b class='flag-5'>坑</b>?这份避<b class='flag-5'>坑</b>手册请收好

    无法获得在 StarFive 上运行的 StarFive Linux 映像的 5569 版本,怎么解决?

    我是 VisionFive 2 的超级早鸟支持者,我无法获得在 StarFive 上运行的 StarFive Linux 映像的 5569 版本。绿色 LED 永远不会亮起。我尝试过使用此方法
    发表于 03-20 07:39

    N沟道 vs P沟道MOS管,怎么选才不?一文搞懂选型关键

    ”隐患。很多人选型时只看参数,忽略沟道类型的核心差异,最终返工、调试反复。今天就从原理、场景、选型技巧三方面,帮你彻底理清两者的区别,选对不。 一、先搞懂核心差异:原理层面的本
    的头像 发表于 03-18 08:47 1064次阅读
    N沟道 vs P沟道MOS管,怎么选才不<b class='flag-5'>踩</b><b class='flag-5'>坑</b>?一文搞懂选型关键

    到高效落地:关键词搜索淘宝天猫商品列表 API 的实操心得

    到高效落地:关键词搜索淘宝天猫商品列表 API 的实操心得 (适合做:选品、比价、代购集运、店铺上货、数据分析、返利工具的同学直接落地) 一、开篇:为什么 90% 的人都会卡在「关键词搜索
    的头像 发表于 02-28 14:22 1502次阅读

    塑料激光焊接机怎么选?看完这篇不

    追求“高配置”或“低价格”,最终返工。选购的核心逻辑是:需求匹配>参数堆砌,无需追求全能机型,精准贴合自身生产场景才是关键。而深耕行业十二年、集研发、制造、销
    的头像 发表于 02-26 17:09 577次阅读
    塑料激光焊接机怎么选?看完这篇不<b class='flag-5'>踩</b><b class='flag-5'>坑</b>

    K8s生产环境10大记录复盘

    这篇文章记录了我这些年在 K8s 生产环境过的。每一个案例都是血泪教训,有些甚至导致了生产事故。希望通过分享这些经历,能帮助大家避免重蹈覆辙。
    的头像 发表于 02-05 15:51 697次阅读

    记ESP32CAM解决指南,已反映商家

    中国香河英茂科工没有一个鸭蛋是白吃的,没有一分钱融资是百花的,都转化为科技成果----记ESP32CAM解决指南,已反映商家 https://user.qzone.qq.com/382905282/blog/1770127464
    发表于 02-03 22:23

    智能工厂改造?有人物联网手把手教你挑对系统

    中小工厂砸几十万搞智能改造,结果了最冤的:花 “智慧工厂系统” 的钱,买的只是个 “升级款工厂监控系统”—— 只能看设备转不转,没法调生产、降能耗,钱直接打了水漂。智能改造选系统,真的像开盲盒
    的头像 发表于 12-19 14:20 411次阅读
    智能工厂改造<b class='flag-5'>踩</b><b class='flag-5'>坑</b>?有人物联网手把手教你挑对系统

    STM32 5 个容易的外设使用技巧

    STM32是嵌入式开发领域的热门MCU,功能丰富到几乎可以完成所有常见控制任务:GPIO、ADC、UART、定时器、DMA……应有尽有。但是,正因为功能强大,开发中的机会也随之增多。很多初学者
    的头像 发表于 11-24 19:04 972次阅读
    STM32 5 个容易<b class='flag-5'>踩</b><b class='flag-5'>坑</b>的外设使用技巧

    UWB自动跟随技术原理、算法融合优化和实录

    UWB为什么是最靠谱的自动跟随技术?原理是什么?需要做什么算法融合、优化?我们在开发过程中过的
    的头像 发表于 08-14 17:45 1774次阅读
    UWB自动跟随技术原理、算法融合优化和<b class='flag-5'>踩</b><b class='flag-5'>坑</b>实录

    【PCA9958HN-ARD】GUI工具的使用

    :PCA9958HN-ARD评估板快速入门 | NXP 半导体),里面包含GUI上位机软件的安装包和LPC55S69开发板的固件。 然后,点击setup.exe,进行GUI上位机软件的安装,安装
    发表于 06-29 10:07