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.

[参考译文] TLC5955:TLC5955更改配置(DC、MC、...) "在运行时"

Guru**** 2420460 points
Other Parts Discussed in Thread: TLC5955

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/659662/tlc5955-tlc5955-change-configuration-dc-mc-at-runtime

器件型号:TLC5955

您好!

例如、如果我想 在芯片初始化后更改点校正、是否有特定的操作?

在启动时、当我更改点校正或最大电流时、它会起作用。
但是、在我初始化 TLC5955后、当我尝试设置另一个配置(直流或 MC)时、它会被忽略...

LED 指示灯熄灭、但当我重新发送新的 GS 时、不会应用新配置。


感谢你的帮助

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

    大家好、Steven、

    您是否尝试发送过两次?

    谢谢。

    此致、

    Kenneth

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

    是的、我已经测试了此解决方案、但没有成功。
    问题是,我只想随时更改点校正,*它只在第一次初始化时起作用*。

    所有配置(第一个配置除外)都将被忽略。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没有人遇到此问题?

    即使我停用芯片的 LDO、它也无法正常工作。
    事情是:启动时没有问题,我无法理解。

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

    大家好、Steven、

    您能否附上代码和原理图以供参考?

    谢谢。

    此致、

    Kenneth

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

    您好!

    很抱歉、我没有得到你想要的所有东西、但这里是我们正在做的事情。

    这就是我们在引导时所做的(工作):

    /*配置 HAL 相关定时器/GPIO/SPI */
    DRV_TLC5955_init ();
    
    /*这些调用设置全局数组的值*/
    DRV_TLC5955_setGlobalBrightness (E_RGB_RED、0x7F);
    DRV_TLC5955_setGlobalBrightness (E_RGB_GREEN、0x7F);
    DRV_TLC5955_setGlobalBrightness (E_RGB_BLUE、0x7F);
    DRV_TLC5955_setMaximumCorrection (E_RGB_RED、0x00);
    DRV_TLC5955_setMaximumCorrection (E_RGB_GREEN、0x00);
    DRV_TLC5955_setMaximumCorrection (E_RGB_BLUE、0x00);
    
    for (ledId=0;ledId 
    

    这就是我们"运行时"(不起作用)更改点校正的方法:

    /*在全局数组中设置新值*/
    SRV_LED_Matrial_setLedDotCorrection (calib->idled、&calib->calibData);
    
    /*仅发送一次,因为我们不想更改“最大修正”-但此处发送两次也没有效果*/
    DRV_TLC5955_sendDcMcBcFc ();
    DRV_TLC5955_latchData (); 


    所有值都是在全局数组中设置的、因此我们只需在发送所有值之前更改一个小部分。
    我们已经签入调试、值是有效的、芯片似乎忽略了新的配置...

    如果我们在闪存中保存新值、并在引导时加载这些值、则可以正常工作。

    您是否在我们的代码设计中看到了不良的情况?

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

    您是否在刷新直流数据后发送 GS 数据?

    谢谢。
    此致、
    Kenneth