查看: 880|回复: 0

Help!我的OKdo E1板挂断[已解决]

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3300

    主题

    6547

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32035
    最后登录
    2024-4-26
    发表于 2020-7-31 15:35:05 | 显示全部楼层 |阅读模式
    Help!我的OKdo E1板挂断[已解决]

    翻译自mark Embeddedpro的文章


    或…使用OKdo E1板的MCUXpresso Clocks配置教程。
    2.png
    OKdo E1板上未安装的16 MHz晶体该怎么办?
    适用于lpcxpresso55s69的MCUXpresso SDK中提供的许多示例都可以在E1板上正常工作。 “就是那样做的”。但是,那些使用BOARD_BootClockPLL150M()或BOARD_BootClock100M()时钟功能组的模块会挂在PLL初始化例程中。在调试会话中无需花费太多精力即可发现代码被卡在Clock驱动程序(fsl_clock.c,函数CLOCK_SetPLL0Freq())的while()循环中:
    3.png
    “使我的代码挂断”中的第一名:无人看管的while()循环
    发生的是PLL未锁定。而且它没有锁定,因为它没有参考时钟。而且没有参考时钟,因为板上没有安装晶体。


    解决方法非常简单……从内部时钟源而不是(丢失的)晶振提供对PLL0的引用。为了维持150 MHz的输出时钟,我们需要调整PLL乘法器和除法器的值,我将在我的视频教程3带有OKdo E1板的MCUXpresso Clocks Config教程中向您展示如何做到这一点。

    在MCUXpresso时钟工具中创建一个新的功能组很简单(如果您知道“功能组属性”图标是“功能组:”下拉框右边的第二个):

    功能组属性图标
    我使用对话框创建了一个新的功能组,并将其命名为BOARD_BootClockFRO12_PLL_150MHz()。
    4.png
    新功能组:BOARD_BootClockFRO12_PLL_150MHz
    由于该功能组将使用PLL0,因此必须启用它,因此必须将PLL0模式设置更改为“ Normal”。保存新的组[确定]后,我们可以在时钟图中对其进行编辑。
    5.png
    编辑150 MHz的PLL0配置
    所做的更改是在PLLCLKSEL多路复用器中选择内部自由运行振荡器fro_12m。该工具将突出显示错误,因为现有的PLL0乘法器和除法器会生成非法的输出频率。我用更新的值–(/ 8 * 200)修复了该问题,以生成300 MHz的输出。最后,使用PLL0_PDEC分频器将其划分为范围,为芯片产生150 MHz的输出时钟。


    与往常一样,我启用CLKOUT引脚,并将主时钟输出到一个引脚。显然,对于输出焊盘而言150 MHz太快了,我使用CLKOUTDIV为200,并且能够在时钟输出引脚上测量750 kHz。


    就是这样。这是一个很容易找到和解决的问题(当您知道Clocks工具时)。我知道关于如何将MCUXpresso Config工具应用于这些LPC55xx板上的这些小技巧很普遍,所以下周再回来,当我开始在OKdo E1板上为气象站项目设置引脚时。


    翻译有问题请大家指出。

    签到签到
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-28 06:12 , Processed in 0.118406 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表