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.

[参考译文] MSP430F6659:检索电视线外设以查看是否在本 MCU 中

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1416023/msp430f6659-retrieving-the-tvl-peripheral-to-see-if-it-is-in-this-mcu

器件型号:MSP430F6659
主题中讨论的其他器件:MSP430WARE

工具与软件:

使用文件:
C:\ti\msp\MSP430Ware_3_80_14_01\driverlib\examples\MSP430FR5xx_6xx\tlv\tlv_ex2_readTLVDescriptors.c

Main()调用 readPeripheral()、该函数调用 TLV_getPeripheral()。

在 TLV_getPeripheral 第166行中:if (pPDTAG[COUNT + 1]=>= TAG)
程序会关闭并且永远不会返回。

上次通过 for 循环时我看到:

COUNT=76、pCOUNT=330、TAG=0x98、pPDTAG [0x3f、0xff]、 pPDTAG = 0x1abc

因此、这似乎是正确的。

会发生什么情况?

您可以在此处查看 TLV_getPeripheral()的内容: github.com/.../tlv.c
第336行是程序挂起的位置。

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

    让我对链接代码产生困扰的是,在调用 tv_getinfo()后,不会检查是否找到了标记。 这意味着以下假定其具有一个到 TLV 结构的有效指针的代码可能不会。

    缺少的是 CRC 验证。 这在任何尝试使用 TLV 数据之前确实应该完成。