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

    文章

    136

    浏览量

    77599
  • 定时器
    +关注

    关注

    23

    文章

    3237

    浏览量

    114432
  • RT-Thread
    +关注

    关注

    31

    文章

    1271

    浏览量

    39901
  • PWM输出
    +关注

    关注

    1

    文章

    66

    浏览量

    5120
收藏 人收藏

    评论

    相关推荐

    在学习go语言的过程过的

    作为一个5年的phper,这两年公司和个人都在顺应技术趋势,新项目慢慢从php转向了go语言,从2021年到现在,笔者手上也先后开发了两个go项目。在学习go语言的过程中也学习并总结了一些相关的东西,这篇文章就分享下自己过的一些吧。
    的头像 发表于 11-11 09:22 97次阅读

    CMS8S69xx可代替STM8S003F3P6 5.5V多个封装

    增强型1T 8051,16KB Flash,最快48MHz外设运行,双运放,双比较器,PGA,数字功能自由映射。 CMS8S69xx系列MCU具有丰富的模拟外设,可简化产品外围电路,被广泛应用于电子
    发表于 09-20 10:13

    【RA-Eco-RA0E1-32PIN-V1.0开发板试用】+ 应用遇到的

    。 新建了个工程编译不过。索性卸载了e2studio 重新下载了setup_fsp_v5_5_0_e2s_v2024-07。 了好几个,终于要上岸了。原来后面还有。 系统环境
    发表于 09-03 22:27

    ESP32C3 I2C no ack无应答怎么解决?

    (一)现象 我使用idf开发esp32c3,使用i2c外设时出现问题。I2C正常发送了出去,但从机没有应答。 我此前使用过nxp的lpc55s69进行过测试,并将这两次的波形使用逻辑分析仪采集出来
    发表于 06-14 07:31

    M16连接器12芯采购如何避免

      德索工程师说道在M16连接器12芯的采购过程中,为了避免,确保采购的顺利进行以及产品的高质量,我们可以从以下几个方面进行考虑和规划:
    的头像 发表于 06-07 17:46 756次阅读
    M16连接器12芯采购如何避免<b class='flag-5'>踩</b><b class='flag-5'>坑</b>

    家庭路由器如何选?实用技巧让你不再

    家庭路由器选购需考虑需求、预算、性能指标、硬件配置、软件功能、认证与测试及售后服务。明确需求,选择适合的型号和品牌,确保网络稳定、高速。遵循这些技巧,避免,享受网络便利。
    的头像 发表于 04-29 11:38 601次阅读

    stm8s001退出仿真后,进入不了halt模式,耗电一直为1MA左右,为什么?

    各位好,最近选用stm8s001这个8脚MCU,了巨多的┭┮﹏┭┮,最近遇到一个问题,真的是无解了,想在这里请教各位, 具体问题是: 程序实现的功能为按键按下,触发中断,然后从halt模式唤醒
    发表于 04-17 07:16

    恩智浦半导体发布S32N55处理器,赋能汽车中央实时控制!

    恩智浦半导体发布S32N55处理器, S32N系列超高集成度车载处理器家族的首位成员。S32N55作为最近发布的S32 CoreRide中央计算解决方案的核心,可提供安全、实时和应用处
    的头像 发表于 04-15 09:24 1765次阅读

    痛苦“电池电压侦测电路”,含泪总结设计要点

    和大家分享这个电路的设计要点,以及当时的设计失误,帮助大家积累经验,以后不要这种。 设计要点一:设定分压电阻的大小 这种便携式掌上阅读器,当然是内置锂电池的:
    的头像 发表于 04-07 14:31 2628次阅读
    痛苦<b class='flag-5'>踩</b><b class='flag-5'>坑</b>“电池电压侦测电路”,含泪总结设计要点

    高低温试验箱选购指南—防秘籍

    选购高低温试验箱需要综合考虑多方面因素。通过明确需求、选择知名品牌、对比性能指标、权衡价格与性价比、保障售后服务以及参考用户评价与案例等步骤,可以帮助您避免风险,选购到一款性价比高、适合自己需求的高低温试验箱。
    的头像 发表于 02-24 09:22 522次阅读
    高低温试验箱选购指南—防<b class='flag-5'>踩</b><b class='flag-5'>坑</b>秘籍

    GM69-S扫描识别模块用户手册-V1

    GM69-S扫描识别模块
    发表于 01-22 14:25 0次下载

    反相输入放大器的,你过没有?

    反相输入放大器的,你过没有?
    的头像 发表于 12-06 15:35 582次阅读
    反相输入放大器的<b class='flag-5'>坑</b>,你<b class='flag-5'>踩</b>过没有?

    R128点屏笔记

    本文所整理的R128点屏笔记均是在参考以下应用开发案例进行屏幕适配时遇到的实际开发问题,涵盖了屏幕花屏、屏幕白屏、LVGL显示颜色错误等常见问题的解决方法。
    的头像 发表于 12-03 10:17 1228次阅读
    R128点屏<b class='flag-5'>踩</b><b class='flag-5'>坑</b>笔记

    关于图像传感器图像质量的四大误区!你过几个

    关于图像传感器图像质量的四大误区!你过几个
    的头像 发表于 11-27 16:56 419次阅读
    关于图像传感器图像质量的四大误区!你<b class='flag-5'>踩</b>过几个<b class='flag-5'>坑</b>?

    推挽电路的,你过没?

    推挽电路的,你过没?
    的头像 发表于 11-24 16:25 1057次阅读
    推挽电路的<b class='flag-5'>坑</b>,你<b class='flag-5'>踩</b>过没?