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.

[参考译文] RF430FRL152HEVM:禁用 JTAG 引脚并将引脚1.5设置为正常 IO 输出、但 SPI 传输出错

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1223304/rf430frl152hevm-disable-jtag-pin-and-set-pin-1-5-to-normal-io-output-but-spi-transfer-goes-wrong

器件型号:RF430FRL152HEVM
主题中讨论的其他器件: RF430FRL152H

大家好!

我现在使用 RF430FRL152HEVM 与另一个使用 SPI 协议中的 EVM 传输数据的模块进行通信、在该模块中、我使用引脚1.0至引脚1.3。

除了通信要求外、该模块还需要 MCU 的另一个引脚(在我的项目中、它应该是 RF430FRL152H)、以便输出高电平或低电平以重置模块。 考虑到 RF430FRL152H 只有8个引脚、并且左侧的4个引脚用于 JTAG 编程(这种方式我加载我的代码)、我正在确定如何从 JTAG 功能中释放这些引脚中的一个、使其变为正常的 IO 端口并输出预期的电平。

我已经运用 EVM (SPI 中的主器件)和 MSP‑EXP430G2ET (SPI 中的从器件)来测试 SPI 通信和将 JTAG 相关引脚转换为正常输出端口是否可行。 我使用 MSP‑EXP430G2ET 通过 UART 将接收到的 SPI 数据发送到计算机。

以下是有关如何将引脚1.5连接到输出 IO 端口的代码、当我使用万用表测试引脚1.5上的电压时、代码效果良好。

void JTAGPinHigh(void)
{
asm ( " CALL #0x5CDA "); // Call ROM function ( Initialize function pointers)
asm ( " CALL #0x5CAC "); // Call ROM function ( Check part configuration)
/*P1.4-->JTAG_TCK, P1.5-->JTAG_TDI, P1.6-->JTAG_TDO, P1.7-->JTAG_TMS*/
P1SEL0 &= ~0xF0; //no JTAG
P1SEL1 &= ~0xF0; //no JTAG

P1DIR |= BIT5;//set pin1.5 as output
P1OUT |= BIT5;//set p1.5-TDI high
}

但是、当我在"主"函数中使用该函数时、就会出现问题。 如果我 在 SPI 通信后禁用 JTAG 功能、数据传输没有在计算机上显示错误。 但是、如果我将该函数放在 SPI 通信之前、计算机上显示的数据 是错误的。

在我的代码中、主器件向从器件发送0x00至0x0F。 错误的数据显示为"C0 57 F8 56 3A 4C 34 5B AC 5C 04 5B 20 59 52 5C "、如果我重新启动通信、它将稳定显示。

我想知道如果我想在项目的中间禁用 JTAG、如何解决这个通信问题。 我已经尝试添加'P1SEL0 |= 0xF0;P1SEL1 |= 0xF0;'来恢复 JTAG 功能、但它仍然显示错误的数据。

提前感谢您的帮助。

蔡华轩

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

    您好、客户、感谢您提出问题并对我们的产品感兴趣。

    此产品的论坛支持已缩减为首先参考我们现有的文档和配套资料。 如需支持、请查看该主题页面右下角的"类似主题"部分。 此外、请参阅 RF430FRL152H 产品网页的"技术文档"部分中的现有配套资料 以及 常见问题解答文档。 或者、您可以使用您选择的搜索引擎来查找相关的 E2E 主题。 借助这些资源、我们相信可以帮助解决您的问题。

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

    您好 Mueller:

    我在论坛上搜索是否有类似的问题,几乎没有问题。 我还在您提到的文档"常见问题解答文档"中搜索了"JTAG"、毫无疑问、让 JTAG 引脚变为正常 IO 端口。

    我已经阅读过这篇文章 rf430frl152h-How-do-i-lock-the-JTAG-on-the-rf430frl152h?、 它提到了如何锁定 JTAG 函数 、但没有提到这个锁定是否会中断代码的其他部分。 我没有如图所示锁定 JTAG、只需更改寄存器"P1SEL0"和"P1SEL1"、引脚1.5的输出值也随之改变。

    您提到、论坛支持已减少。 这意味着什么? 在搜索现有资源后、我可以通过在论坛上发布我的问题来获得帮助吗?但我不能使用这些资源。

    非常感谢、

    蔡华轩