0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

LPC55S69 PWM踩坑寄錄

冬至子 ? 來(lái)源:螺絲松掉的人 ? 作者:螺絲松掉的人 ? 2023-10-11 15:30 ? 次閱讀

在使用 lpc55s69_nxp_evk 開(kāi)發(fā)板對(duì)接 rtduino 的過(guò)程,對(duì)接 PWM 部分的時(shí)候,遇到了不少坑,在此記錄。

BSP 中 driver 的問(wèn)題

由于調(diào)用的 SDK 版本問(wèn)題,kCLOCK_CTimer 需要更改為 kCLOCK_Timer,這個(gè)問(wèn)題在與定時(shí)器相關(guān)的 drv_hwtimer 文件中同樣存在。

同樣因?yàn)?SDK 的版本問(wèn)題,CTIMER_SetupPwmPeriod 函數(shù)增加了一個(gè)參數(shù)

/*!

  • 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 指定一個(gè)定時(shí)器的通道控制 PWM 的 Period ,需要注意的是,其中提示:當(dāng)使用一個(gè)定時(shí)器的多個(gè)通道輸出 PWM 時(shí),其 Period 均是一致的。

通過(guò)對(duì)比之前版本的 SDK ,了解到之前是使用 kCTIMER_Match_3 通道作為 pwmPeriodChannel 。因此,在對(duì)應(yīng)的參數(shù)位置填入 kCTIMER_Match_3 。

引腳配置問(wèn)題

解決上述的那些問(wèn)題之后,就已經(jīng)可以正常使用 PWM 了。但是在對(duì)接 RTduino 的過(guò)程中又出現(xiàn)了新的問(wèn)題。

在 RTduino 框架下一直不能正常使用 PWM 功能,最后發(fā)現(xiàn),是需要將引腳配置為對(duì)應(yīng)的功能,具體對(duì)應(yīng)到的是 RT-Threadrtthreadbsplpc55sxxlpc55s69_nxp_evkboardMCUX_Configboardpin_mux 相關(guān)文件,可以通過(guò) NXP 官方工具進(jìn)行配置 MCUXpresso Config Tools

修改引腳功能后,rtduino 框架下的 PWM 還是對(duì)接不上,debug 發(fā)現(xiàn)在 drv_pwm 中定時(shí)器2對(duì)應(yīng)的是 pwm1 ,而 RT-Thread 的設(shè)備框架下應(yīng)該對(duì)應(yīng)的是 pwm2 ,導(dǎo)致識(shí)別不到。于是將 drv_pwm 中定時(shí)器2改為 pwm2 ,呼吸燈正常。

之后優(yōu)化的方向

使用 bsp 時(shí)注意到,drv_pwm 中只考慮了定時(shí)器2一種情況,并且只有一個(gè)通道。接下來(lái)需要對(duì) PWM 設(shè)備進(jìn)一步的抽象,更好的對(duì)接到 RT-Thread 的設(shè)備框架下。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • LPC
    LPC
    +關(guān)注

    關(guān)注

    8

    文章

    136

    瀏覽量

    77638
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3248

    瀏覽量

    114792
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1289

    瀏覽量

    40124
  • PWM輸出
    +關(guān)注

    關(guān)注

    1

    文章

    66

    瀏覽量

    5140
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    串口設(shè)計(jì)如何避免?看這篇!

    本文將以Air700ECQ/EAQ/EMQ為例,帶你從硬件設(shè)計(jì)的角度,一起來(lái)了解串口設(shè)計(jì)中的一些關(guān)鍵注意點(diǎn);軟件開(kāi)發(fā)或者AT設(shè)置方面不做深入探討。 ? 一、串口相關(guān)管腳 Air700ECQ/EAQ/EMQ系列模組支持2個(gè)串口,分別是: 主串口MAIN_UART 調(diào)試串口DBG_UART 對(duì)應(yīng)的管腳如下: ? 注:MAIN_DTR,MAIN_RI管腳嚴(yán)格意義來(lái)說(shuō),并不能歸為串口功能;MAIN_DTR、MAIN_RI是獨(dú)立的控制功能管腳。 二、串口功能描述 模組的AT指令控制,數(shù)據(jù)傳輸都是通過(guò)主串口來(lái)實(shí)現(xiàn)。注意,即使采用二次開(kāi)發(fā)方
    的頭像 發(fā)表于 12-26 11:45 ?84次閱讀
    串口設(shè)計(jì)如何避免<b class='flag-5'>踩</b><b class='flag-5'>坑</b>?看這篇!

    又給項(xiàng)目埋雷,RS485自動(dòng)收發(fā)電路設(shè)計(jì)

    前言 這個(gè)文章的題目有點(diǎn)騙眼球的感覺(jué),其實(shí)是自己過(guò)大坑,很是痛恨這個(gè)電路,希望大家以后不要了。工程師要畫(huà)這個(gè)電路時(shí),網(wǎng)上一搜,不經(jīng)深入分析就拿來(lái)用,給項(xiàng)目埋了炸彈。 RS485自動(dòng)收發(fā)電路 因?yàn)?/div>
    的頭像 發(fā)表于 12-06 09:59 ?304次閱讀
    <b class='flag-5'>踩</b><b class='flag-5'>坑</b>又給項(xiàng)目埋雷,RS485自動(dòng)收發(fā)電路設(shè)計(jì)

    ADC高速采樣電路設(shè)計(jì)詳解之STM32

    一、過(guò)程 最近用STM32F334做數(shù)字電源,用到了高速ADC采集電壓電流。設(shè)計(jì)的參考電壓VREF為3.3V,輸入信號(hào)經(jīng)運(yùn)放跟隨后直接接入單片機(jī)的采樣通道。一開(kāi)始測(cè)試一切正常,但隨著輸入信號(hào)
    的頭像 發(fā)表于 12-02 09:27 ?624次閱讀
    ADC高速采樣電路設(shè)計(jì)詳解之STM32<b class='flag-5'>踩</b><b class='flag-5'>坑</b>

    在學(xué)習(xí)go語(yǔ)言的過(guò)程過(guò)的

    作為一個(gè)5年的phper,這兩年公司和個(gè)人都在順應(yīng)技術(shù)趨勢(shì),新項(xiàng)目慢慢從php轉(zhuǎn)向了go語(yǔ)言,從2021年到現(xiàn)在,筆者手上也先后開(kāi)發(fā)了兩個(gè)go項(xiàng)目。在學(xué)習(xí)go語(yǔ)言的過(guò)程中也學(xué)習(xí)并總結(jié)了一些相關(guān)的東西,這篇文章就分享下自己過(guò)的一些吧。
    的頭像 發(fā)表于 11-11 09:22 ?162次閱讀

    零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-S1【外設(shè)篇】——PWM

    、MJPEG、Dispaly、AudioCodec、USB2.0、SDU、以太網(wǎng) (EMAC)、SD/MMC(SDH)、SPI、UART、I2C、I2SPWM、GPDAC、GPADC、ACOMP
    的頭像 發(fā)表于 11-06 16:10 ?152次閱讀
    零基礎(chǔ)開(kāi)發(fā)小安派-Eyes-<b class='flag-5'>S</b>1【外設(shè)篇】——<b class='flag-5'>PWM</b>

    CMS8S69xx可代替STM8S003F3P6 5.5V多個(gè)封裝

    增強(qiáng)型1T 8051,16KB Flash,最快48MHz外設(shè)運(yùn)行,雙運(yùn)放,雙比較器,PGA,數(shù)字功能自由映射。 CMS8S69xx系列MCU具有豐富的模擬外設(shè),可簡(jiǎn)化產(chǎn)品外圍電路,被廣泛應(yīng)用于電子
    發(fā)表于 09-20 10:13

    【RA-Eco-RA0E1-32PIN-V1.0開(kāi)發(fā)板試用】+ 應(yīng)用遇到的

    。 新建了個(gè)工程編譯不過(guò)。索性卸載了e2studio 重新下載了setup_fsp_v5_5_0_e2s_v2024-07。 了好幾個(gè),終于要上岸了。原來(lái)后面還有。 系統(tǒng)環(huán)境
    發(fā)表于 09-03 22:27

    ESP32C3 I2C no ack無(wú)應(yīng)答怎么解決?

    (一)現(xiàn)象 我使用idf開(kāi)發(fā)esp32c3,使用i2c外設(shè)時(shí)出現(xiàn)問(wèn)題。I2C正常發(fā)送了出去,但從機(jī)沒(méi)有應(yīng)答。 我此前使用過(guò)nxp的lpc55s69進(jìn)行過(guò)測(cè)試,并將這兩次的波形使用邏輯分析儀采集出來(lái)
    發(fā)表于 06-14 07:31

    M16連接器12芯采購(gòu)如何避免

      德索工程師說(shuō)道在M16連接器12芯的采購(gòu)過(guò)程中,為了避免,確保采購(gòu)的順利進(jìn)行以及產(chǎn)品的高質(zhì)量,我們可以從以下幾個(gè)方面進(jìn)行考慮和規(guī)劃:
    的頭像 發(fā)表于 06-07 17:46 ?804次閱讀
    M16連接器12芯采購(gòu)如何避免<b class='flag-5'>踩</b><b class='flag-5'>坑</b>

    家庭路由器如何選?實(shí)用技巧讓你不再

    家庭路由器選購(gòu)需考慮需求、預(yù)算、性能指標(biāo)、硬件配置、軟件功能、認(rèn)證與測(cè)試及售后服務(wù)。明確需求,選擇適合的型號(hào)和品牌,確保網(wǎng)絡(luò)穩(wěn)定、高速。遵循這些技巧,避免,享受網(wǎng)絡(luò)便利。
    的頭像 發(fā)表于 04-29 11:38 ?668次閱讀

    stm8s001退出仿真后,進(jìn)入不了halt模式,耗電一直為1MA左右,為什么?

    各位好,最近選用stm8s001這個(gè)8腳MCU,了巨多的┭┮﹏┭┮,最近遇到一個(gè)問(wèn)題,真的是無(wú)解了,想在這里請(qǐng)教各位, 具體問(wèn)題是: 程序?qū)崿F(xiàn)的功能為按鍵按下,觸發(fā)中斷,然后從halt模式喚醒
    發(fā)表于 04-17 07:16

    恩智浦半導(dǎo)體發(fā)布S32N55處理器,賦能汽車(chē)中央實(shí)時(shí)控制!

    恩智浦半導(dǎo)體發(fā)布S32N55處理器, S32N系列超高集成度車(chē)載處理器家族的首位成員。S32N55作為最近發(fā)布的S32 CoreRide中央計(jì)算解決方案的核心,可提供安全、實(shí)時(shí)和應(yīng)用處
    的頭像 發(fā)表于 04-15 09:24 ?1848次閱讀

    痛苦“電池電壓偵測(cè)電路”,含淚總結(jié)設(shè)計(jì)要點(diǎn)

    和大家分享這個(gè)電路的設(shè)計(jì)要點(diǎn),以及當(dāng)時(shí)的設(shè)計(jì)失誤,幫助大家積累經(jīng)驗(yàn),以后不要這種。 設(shè)計(jì)要點(diǎn)一:設(shè)定分壓電阻的大小 這種便攜式掌上閱讀器,當(dāng)然是內(nèi)置鋰電池的:
    的頭像 發(fā)表于 04-07 14:31 ?3354次閱讀
    痛苦<b class='flag-5'>踩</b><b class='flag-5'>坑</b>“電池電壓偵測(cè)電路”,含淚總結(jié)設(shè)計(jì)要點(diǎn)

    高低溫試驗(yàn)箱選購(gòu)指南—防秘籍

    選購(gòu)高低溫試驗(yàn)箱需要綜合考慮多方面因素。通過(guò)明確需求、選擇知名品牌、對(duì)比性能指標(biāo)、權(quán)衡價(jià)格與性?xún)r(jià)比、保障售后服務(wù)以及參考用戶(hù)評(píng)價(jià)與案例等步驟,可以幫助您避免風(fēng)險(xiǎn),選購(gòu)到一款性?xún)r(jià)比高、適合自己需求的高低溫試驗(yàn)箱。
    的頭像 發(fā)表于 02-24 09:22 ?582次閱讀
    高低溫試驗(yàn)箱選購(gòu)指南—防<b class='flag-5'>踩</b><b class='flag-5'>坑</b>秘籍

    GM69-S掃描識(shí)別模塊用戶(hù)手冊(cè)-V1

    GM69-S掃描識(shí)別模塊
    發(fā)表于 01-22 14:25 ?0次下載