在 CCS 中进行调试时、请找到 仅 CPU1提供温度传感器控制寄存器。
但是、 技术参考手册中是否有文档说明此寄存器仅由 CPU1提供?
我想再次确认这个重要的信息。

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.
在 CCS 中进行调试时、请找到 仅 CPU1提供温度传感器控制寄存器。
但是、 技术参考手册中是否有文档说明此寄存器仅由 CPU1提供?
我想再次确认这个重要的信息。

我 对双核应用程序使用 IPC_ex1_BASIC。
有一个在 CPU1中运行以获取内部温度传感器并在 CPU2中运行的差值(将与 ADC 相关的代码从 CPU1移动到 CPU2、并为 CPU2分配 ADCA 所有权)。
我附上下面的代码
您可以帮助确认吗?
e2e.ti.com/.../7446.DualCore.rar
我在此处更新项目。
另请查找
静态内联 int16_t
ADC_getTemperatureC (uint16_t tempResult、float32_t Vref)
{
//
//从 OTP 读取温度传感器斜率和偏移位置并转换
//
return ((int16_t)((((float32_t) tempResult * Vref / 4096.0F)-
ADC_EXT_REF_TSOFFSET)/ ADC_EXT_REF_TSSLOPE));
}
这应是根本原因、为何 CPU1中的温度传感器读取与 CPU2不同。
我面临另一个问题。
当我将上述代码合并到 CPU2中的现有公司项目以获取温度传感器原始数据时。
我通过上述示例获得了不同的原始数据。
在 针对双核应用的示例 IPC_ex1_BASIC 中、我可以在 CPU1和 CPU2中获取相同的原始数据。 ADCA 的 CH13值 为4095。
当我在 CPU1中将上述代码合并到我们的现有公司项目时、它也获得了4095。
但是、当我将上述代码合并到 CPU2中的现有公司项目时、 1687.
这让我很困惑!
所有测试都在相同的开发板中执行、硬件部分相同。
是否有一种可能的设置我漏掉了可能会导致此问题?
您好!
这一后续问题不知何故没有得到我们的回应。 出现这种情况是因为该线程已关闭、然后发布了后续问题。 建议是、一旦问题关闭、请打开新问题、以便我们的团队会收到相应的通知。
无论如何、转换获得最大值4095的一个原因是 VREFHI 没有任何偏置。 另一种可能是 CPU1和 CPU2之间共享 ADC 所有权。 您是否已解决此问题、或者您仍在调试此问题?
此致、
约瑟夫
您好、WZ:
您能否更具体地说明 TRM 中未显示的设置? 我认为您成功执行了以下任务:
(将与 ADC 相关的代码从 CPU1移动到 CPU2,并为 CPU2分配 ADCA 所有权)
此致、
约瑟夫
无论如何,转换值最大值为4095的一个原因是 VREFHI 没有得到任何偏压。 [/报价]我的意思是、我始终得到的原始数据是4095。
您好、WZ:
VREFHI 不需要进行设置。 只需确保 VREFHIA 端子获得正确的电压基准。 您是否也检查 ADC 温度传感器寄存器、以查看分配了模块的 CPU 是否正确写入寄存器? 根据您对原始代码工作位置的描述、然后将工作代码迁移到您现有的公司项目、并总是得到错误的温度传感器值、似乎在代码合并期间出现了问题。 我建议您在检查 ADC 寄存器的同时逐步执行代码、以查看这些值是否更新正确。
此致、
约瑟夫