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.

[参考译文] TMS320F2800137:CpuTimer 寄存器地址和位状态不匹配问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1522298/tms320f2800137-cputimer-register-address-and-bit-status-dis-match-issue

器件型号:TMS320F2800137

工具/软件:

您好 Champ、

我要找客户。

我们发现在调试窗口中寄存器地址和状态不匹配。

将 CpuTimer0Regs.TCR.bit.TIF 添加到观察点、地址为值为0的0x009DBA。

从寄存器和内存浏览器读取时、它指向0x0C04处的正确地址作为 TRM、并设置 bit.TIF。

在客户的代码中、应满足第164行中的 if 语句并运行 第165行、但我们永远不能在运行时调试中运行到语句正文。

这里的问题是什么? 如何修复它  

此致、

Johnny

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

    您好 Johnny、

    您能否尝试 CpuTimer0Regs.TCR.bit.TIF将字段读入变量(可能是布尔值)并与之进行比较? 我不确定该 IF 语句是否正确解释了位字段的类型。 位字段 在 C28x 上从技术上没有地址、因为 C28x 上的最小可寻址数据类型为16位。 因此、您在"Expressions"视图中看到的地址可能是垃圾值(我不确定 CCS 在技术上如何处理此问题)。

    此致、

    Delaney