主题中讨论的其他器件:TM4C123、 ENERGIA
大家好、我使用 PE4和 PE5作为我的 Rx 和 Tx 引脚来接收来自 Xbee 的信号。 我的代码可以与其他微控制器配合使用、但在使用这些引脚时无法接收任何信号。 我已将默认的 Rx 和 Tx 引脚用于其他用途、因此我只能使用这些引脚与 Xbee 通信。 在使用 UART 引脚之前、我已经了解过解锁 UART 引脚的相关信息、并且尝试了许多代码、但无法在串行监视器上获取任何代码。 您能指导我如何使用这些引脚吗?
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.
大家好、我使用 PE4和 PE5作为我的 Rx 和 Tx 引脚来接收来自 Xbee 的信号。 我的代码可以与其他微控制器配合使用、但在使用这些引脚时无法接收任何信号。 我已将默认的 Rx 和 Tx 引脚用于其他用途、因此我只能使用这些引脚与 Xbee 通信。 在使用 UART 引脚之前、我已经了解过解锁 UART 引脚的相关信息、并且尝试了许多代码、但无法在串行监视器上获取任何代码。 您能指导我如何使用这些引脚吗?
您好!
我对您的问题感到困惑。
[引用 USER="Hrishikesh Relekar"]我的代码与其他微控制器一起工作正常[/quot]
您的代码从何处运行? 它是否在 TM4C123上运行? 您的意思是、它可以与其他微控制器正常配合工作?
[引用 user="Hrishikesh Relekar"]我已将默认的 Rx 和 Tx 引脚用于其他目的,因此我仅限于使用这些引脚与 Xbee 通信。
当您说您将默认 RX 和 Tx 引脚用于其他用途时、我感到困惑。 还有什么其他用途? 稍后您说过、您只能使用这些引脚与 Xbee 通信。 那么、要做什么呢? 您是否不是将 PE4/PE5用作 RX/TX 引脚来连接 Xbee。 那么、您为什么将 RX/TX 引脚用于其他用途。
如果您想知道 UART5是否在 PE4/PE5上工作、那么为什么不为 UART5创建一个简单的示例、并使用示波器查看总线上是否有任何 TX/RX 活动。
您好、Charles、
我相信他(可能)在参考"其他"微控制器时使用了" Arduino /类似"(仅限)。 未连接到您的 MCU (此时)。
至于默认的 RX/TX -怀疑他将这些引脚用于(其他) UART 应用-因此它们不可用于他的 Xbee。
简单的解释是否表明 "stdio"-不扩展-包含 UART_5? (似乎合理-因为他已让其他 UART 工作...)
遵循 uartstdio.c 的摘录: (注意海报所需的 UART - UART5... 是 AWOL...)
//
//
//控制台 UART 的可能基址列表。
//
//
静态常量无符号长整型 g_ulUARTBase [3]=
{
UART0_BASE、UART1_BASE、UART2_BASE
};
感谢您的澄清。
首先、我们不是 Energia 领域的专家。 如果您将问题发布到 forum.43oh.com/.../上的 Energia 论坛、您可能会找到更好的支持。
关于 UART5示例、我的意思是如果您对 UART5的 PE4/PE5引脚在哪里不起作用有疑问、可以编写一个针对 UART5的简单 UART 示例、看看是否有任何引脚活动。 当然、您可以通过在运行现有 Xbee 代码的情况下捕获 PE5/PE4上的示波器来执行调试、以查看其是否正常工作。 无论如何、示波器是调试问题的最佳选择、因为我认为 Energia 不提供太多调试功能。
在 UART 完全正常工作之前、必须执行几个步骤。 stdio 库处理 UART0、UART1和 UART2的这种情况、但必须对 UART5自行执行所有操作。 我尚未使用 Energia 或 TM4C123x、但以下代码类似于 TM4C129x 芯片上的代码:
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOE); SysCtlPeripheralEnable (SYSCTL_Periph_UART5); GPIOPinConfigure (GPIO_PE4_U5RX); GPIOPinConfigure (GPIO_PE5_U5TX); GPIOTypeUART (GPIO_Porte _BASE、引脚 GPIO_PIN_4 | GPIO_PIN_5); UARTConfigSetExpClk (UART5_BASE、ui32Clk、31250、UART_CONFIG_WLEN_8 | UART_CONFIG_PAR_NONE | UART_CONFIG_STOP_ONE); UARTFIFODisable (UART5_BASE);//查看:FIFO 是否会损坏任何内容? UARTIntEnable (UART5_BASE、UART_INT_RX | UART_INT_RT);
您可能需要为 TM4C123GXL 更改一些#define。 此外、您还将注意到、我已启用中断、因为我还有一个中断处理程序例程。 需要安装在 startup.c 矢量表中、您必须自己编写该代码。 如果只是轮询 UART,则应跳过 UARTIntEnable()。