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.

[参考译文] CC2340R5:基于 ARM 的微控制器论坛

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1389945/cc2340r5-arm-based-microcontrollers-forum

器件型号:CC2340R5

工具与软件:

您好!

使用 CC2340R5计时器的 LGPT0和 LGPT1可以生成 IR 代码、但没有驱动程序。
是否有任何用于实施在 FreeRTOS 环境中工作的 IR 驱动程序的材料?

谢谢。

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

    您好!

    过去、我从事过一个使用您所描述的 IRGEN 功能的独立 FreeRTOS 项目。

    给我几天时间来检索、我可以与您分享。

    将在4个工作日内更新。

    谢谢!
    Toby

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

    您好!

    我还需要更多的时间来做这件事。

    同时、请参阅 TRM 的 "10.4.3 IR 生成"章节。

    将在4个工作日内再次更新。

    谢谢!
    Toby

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

    尊敬的 Toby:

    感谢您的帮助。
    我尚未解决此问题。
    所以我会耐心等待。

    Natan。

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

    尊敬的 Natan:

    下面是显示如何使用 IRGEN 功能的示例代码。

    您可能需要针对您的特定波形对其进行调整。

    输出位于 DIO11.e2e.ti.com/.../pulseDistEncIR_5F00_LP_5F00_EM_5F00_CC2340R5_5F00_freertos_5F00_ticlang.zip 上

    谢谢!
    Toby

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

    尊敬的 Toby:

    进行编译。 看起来很专业、尊重。

    我需要一些时间来处理它。 报告结果。

    非常感谢您所做的工作。

    Natan。

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

    尊敬的 Toby:

    1. test_lgpt()、test_ir_lgpt_hwreg ()测试 正常

    2. test_pdeir()工作正常,但我不明白一切。

    3. test_ir_lgpt() 需要添加:

    IF (IruseGen)

    ...

    LGPTimerLPF3_START (lgpt1Handle、LGPTimerLPF3_CTL_MODE_UP_PER);  
    }

    然后它会起作用。

    谢谢!

    Natan

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

    尊敬的 Toby:

    1. NEC 红外传输协议有助于 test_pdeir():
         https://techdocs.altium.com/display/FPGA/NEC+Infrared+Transmission+Protocol

    2. 要使 test_pdeir()正常工作、必须在 IR_PDE_LPF3_REG.c 文件中进行更改、即 PDEIRLPF3_modulator_callback ()函数:

      2.1.  

    案例 PDEIRLPF3_STATE_DATA_CODE_2:

    if ((1 << pdeIrObj->bitIndex)& gCurTrans.dataCode)

    //位是1
    //activeCount = nec_bitval_1.activeCount;
    // frameCount = NEC_bitval_1.frameCount;

    //位是1、但此状态需要1补码
    activeCount = NEC_Bitval_0.activeCount;
    frameCount = NEC_bitval_0.frameCount;

    }
    设计

    //位是0
    //activeCount = NEC_bitval_0.activeCount;
    // frameCount = NEC_bitval_0.frameCount;

    //位是0、但此状态需要1补码
    activeCount = NEC_Bitval_1.activeCount;
    frameCount = NEC_bitval_1.frameCount;

    }

     2.2.

    案例 PDEIRLPF3_STATE_STOP_BIT:

    //activeCount = 0;
    activeCount = NEC_Bitval_0.activeCount;

     2.3. 可选

    案例 PDEIRLPF3_STATE_REPEAT_CODE_2:

    activeCount = NEC_REPEAT[1].activeCount;
    frameCount = NEC_REPEAT[1].frameCount;
    // pdeIrObj->state = PDEIRLPF3_STATE_REPEAT_CODE_1;
    pdeIrObj->state = PDEIRLPF3_STATE_IDLE;//只重复执行一次代码

    3. test_pdeir()模块已通过 LG-24LJ4540电视机的测试,用于:


      3.1.

    在 empty.c 文件的 test_pdeir()函数中、更改了以下内容:
    PDEIRGENLPF3_Transaction pdeIrTrans;
    // pdeIrTrans.customCode = 0x40;
    pdeIrTrans.customCode = 0x04;//对于电视 LG-24LJ4540
    // pdeIrTrans.dataCode = 0x1D;
    pdeIrTrans.dataCode = 0x08;//对于电视 LG-24LJ4540、命令打开/关闭
    PDEIRLPF3_TRANSFER (pdeIrHandle、&pdeIrTrans);


      3.2.变送器模块连接到 DIO11输出端(观察 DIO11输出端的负载能力!!!)


      3.3.一切正常。

     非常感谢您的帮助。


    此致、

    Natan