This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LP-EM-CC2340R5:在 CC2340R5中实现 NEC 解码器

Guru**** 2578735 points
Other Parts Discussed in Thread: SYSCONFIG, LP-EM-CC2340R5

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1299010/lp-em-cc2340r5-nec-decoder-implementation-in-cc2340r5

器件型号:LP-EM-CC2340R5
主题中讨论的其他器件:SysConfig

大家好、  

我们正在尝试将 IR 接收器与 LP-EM-CC2340R5板连接起来。 我尝试将 LGPT3计时器的通道0设置为脉宽捕获模式。 我将输入触发器设置为两个边沿。 所有这些设置都在 LGPT 参数结构中进行更新并初始化为句柄。 我将通过组合 basic_ble_project 和空项目来构建此配置。 我通过在 SysConfig 文件中将通道设置为 pinmode 并将引脚设置为 DIO24来设置 TRIGGER 引脚接头。 但是、当我向接收器发出 IR 命令时、不会触发回调函数。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Manomukil:

    您可以共享您的 SysConfig 文件、以帮助支持团队确定问题吗?

    此致、

    桑德

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Chander:

    PFB SysConfig 文件。

    e2e.ti.com/.../sysconfig.zip

    此致、

    马诺穆基尔 T

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Manomukil:

    感谢您提供 SysConfig 文件、您是否还能提供 LGPTimerLPF3.h 实现的基本示例以替换 empty.c、该示例重新创建了问题?  确保您已遵循以下列出的所有指南:

    LGPTimer LPF3_CH_PULSE_WIDTH_measure  

    周期和脉宽测量。

    相对于由通道选择的信号边沿的持续捕获通道输入信号的周期和脉冲宽度  LGPTimerLPF3_Params  结构中的 InputEdge 元素。  当捕获到信号周期和脉冲宽度时、将设置与通道数相关的通道数中断状态标志(LGPTimerLPF3_INT_CH0_CC、适用于通道编号 LGPTimerLPF3_CH_NO_0)。 周期和脉冲宽度以计数器节拍数报告。  LGPTimerLPF3_getChCompareVal () 函数返回  测得的周期,而 LGPTimerLPF3_getNextChCompareVal ()函数返回测得的脉冲宽度。

    注意
    请注意、在选择该通道操作时、  必须使用 LGPTimerLPF3_CTL_MODE_UP_ONce   或 LGPTimerLPF3_CTL_MODE_UP_PER   作为函数参数来调用 LGPTimerLPF3_START ()函数。
    请注意、当使用此操作时、计时器计数器会定期重新启动、因此必须考虑到这一点、选择其他通道操作。 当通道输入信号的周期被捕获时、定时器计数器重新开始。
    如果为多个通道配置了该通道操作、则不会在该通道上同时执行测量。 测量是在通道之间以时序交错方式完成的。

    此信道操作的信号属性要求:

    • 信号周期>= 2 *(1 + params.prescalerDiv)*高频时钟(CLKSVT)周期。
    • 信号周期<= MAX (定时器计数器)*(1 + params.prescalerDiv)*高频时钟(CLKSVT)周期。
    • 信号低电平和高电平相位>=(1 + params.prescalerDiv)*高频时钟(CLKSVT)周期。

    否则、建议在选择一个输入边沿作为触发器时观察行为。

    此致、
    瑞安

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ryan、  

    这是包含计时器代码的 empty.c 文件,

    e2e.ti.com/.../empty.zip

    此致、

    马诺穆基尔 T

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Manomukil:

    感谢您提供 sysconfig 文件和修改 empty.c 文件。 我将在结束时复制您的设置、并尝试重现您看到的行为、因此我可以为您提供一些有关如何解决该问题的建议!

    谢谢。

    卢克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Manomukil:  

    我在使用您共享的提供的 SysConfig 文件构建项目时遇到问题。 但是、我可以从 SDK 中获取 empty.c 文件和一个空的 SysConfig 文件、并使用附加的 LGPTimer 实例、以使其能够成功构建并运行。 我还没有能够找出确切的问题,但我确实有一些担心你的 timerCallback 函数的实施。 如果您可以提供您在合并了 empty 和 basic_ble 项目时可能已添加到您的项目中的任何其他文件、我最终能够更深入地进行调试。  

    您是否曾尝试 观察 Ryan 在选择一个输入边沿作为触发器时的行为?

    谢谢。

    卢克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Luke、您好!  

    PFB 整个项目。 我将使用  IRM3638 IR 接收器与 TI 板连接。  即使将一个输入边沿设置为触发器、也不会调用回调函数。  

    此致、

    Manomukil Te2e.ti.com/.../ir.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Manomukil,

    感谢您分享项目和与之合作的接收方。 这应该有助于更好地调试您遇到的问题。 我将研究为什么不调用回调函数、并在一周结束之前回来。

    谢谢。

    卢克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Manomukil,  

    我在仿真 IR 接收器与电路板连接问题方面没有太大成功、但 同样、在 timerCallback 函数方面也没有收到任何响应。 我会在一月初的假期过后再回来、看看我们是否能找到解决这个问题的方法。 目前、我最好的建议是尝试简化回调函数、看看您是否可以通过一个更简单的案例来调用它、然后在后面进行调试以添加附加功能。

    谢谢。

    卢克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Manomukil,

    您对此问题的解决方案有任何更新吗?

    如有必要、我可以继续完成我的工作、但希望先与您确认任何进度。

    谢谢。

    卢克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Luke、您好!

    我试图通过调用中断处理程序来恢复基本知识、仅在上升高 GPIO 触发条件下使 LED 亮起、在上升低 GPIO 触发条件下关闭。 但我无法使它自己正常工作、我正在尝试对该解决方案进行调试。

    此致、

    马诺穆基尔 T

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Manomukil:

    您能否与我分享您的简化函数/代码、以便我了解我是否注意到任何可能有助于调试的错误或问题?

    谢谢。

    卢克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Luke、您好!

    PFB 相同的 zip 文件。  

    e2e.ti.com/.../4628.ir.zip

    此致、

    马诺穆基尔 T

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Manomukil,

    感谢您分享代码。 我将会深入探究它、看看能找到什么。

    谢谢。

    卢克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Manomukil,

    我能够使 LED 在以调试模式运行您的程序时闪烁、但只要我暂停程序、 LED 指示灯熄灭、我看到 GPIO 索引无效、这使我认为您的配置文件中可能存在问题。 这些错误可能与 LED 有关、以及在组合 basic_ble 和 empty 工程以及添加您自己的更改时可能出现的其他方面。 我将继续浏览 SysConfig 和其他更改、以查看我是否能够找到问题、但我不确定能够以多快的速度解决问题。

    谢谢。

    卢克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Luke

    您是否取得了进步?

    此致、

    桑德

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Chander,  

    自从我尝试使 LED 闪烁并遇到索引问题以来、我没有取得任何进展。 我无法根据共享工程判断配置中的特定问题发生在何处。

    在与 IR 接收器连接时、是否有关于实际调用 timerCallback 函数的进度的其他更新、或者 timerCallback 函数是否仍然无效?

    谢谢。
    卢克