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.

[参考译文] EK-TM4C1294XL:如何在 CCS 中配置 UART2

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1356943/ek-tm4c1294xl-how-to-configure-uart2-in-ccs

器件型号:EK-TM4C1294XL
主题中讨论的其他器件: TPS2052B

您好

我正在使用参考的 TM4C1294XL 评估板:C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\uart_echo、uart_echo example 我要连接到 PC 中外部 UART 所有设置都在 term 中完成、但未显示在屏幕上。  

我的示例代码:  

//*****
//
// uart_echo.c -从 UART 读取数据或向其中写入数据的示例
//中断驱动的方式。
//
//版权所有(c) 2013-2020德州仪器公司。 保留所有权利。
//软件许可协议
//
//德州仪器(TI)提供的此软件仅可用于
//完全专注于 TI 的微控制器产品。 该软件的所有者
// TI 和/或其供应商,受适用的版权保护
//法律。 您不能将此软件与"病毒性"开源软件结合使用
//软件以形成更大的程序。
//
//此软件"按原样"提供,且没有任何缺陷。
//不作任何明示的、默示的或法定的担保、包括但
//不限于对适销性和适用性的暗示保证
//此软件有一个特定的用途。 根据任何条款、TI 不应
//情况,应对特殊的、偶然的或后果性的责任
//损坏,任何原因。
//
//这是 EK-TM4C1294XL 固件包修订版2.2.0.295的一部分。
//
//*****

#包含
#包含
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "driverlib/debug.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/pin_map.h"
#include "driverlib/rom.h"
#include "driverlib/rom_map.h"
#include "driverlib/sysctl.h"
#include "driverlib/uart.h"

//*****
//
//! \addtogroup 示例列表
//!

UART 回显(uart_echo)


//!
//! 本示例应用利用 UART 回显文本。 第一个 UART
//! (连接到评估板上的 USB 调试虚拟串行端口)
//! 将配置为115,200波特、8-n-1模式。 所有字符接收日期
//! UART 被发送回 UART。
//
//*****

//*****
//
//以 Hz 为单位的系统时钟速率。
//
//*****
uint32_t g_ui32SysClock;

//*****
//
//驱动程序库遇到错误时调用的错误例程。
//
//*****
#ifdef 调试

__error__(char *pcFilename,uint32_t ui32Line)
{

#endif

//*****
//
// UART 中断处理程序。
//
//*****

UARTIntHandler (void)
{
uint32_t ui32Status;

//
//获取中断状态。
//
ui32Status = MAP_UARTIntStatus (UART2_base、true);

//
//清除产生的中断。
//
MAP_UARTIntClear (UART2_base、ui32Status);

//
//当接收 FIFO 中存在字符时循环
//
while (MAP_UARTCharsAvail (UART2_base))
{
//
//从 UART 读取下一个字符并将其写回 UART。
//
MAP_UARTCharPutNonBlocking (UART2_base、
MAP_UARTCharGetNonBlocking (UART2_base)

//
//闪烁 LED 以显示正在进行的字符传输。
//
MAP_GPIOPinWrite (GPIO_PORTN_BASE、GPIO_PIN_0、GPIO_PIN_0);

//
//延迟1毫秒。 每个 SysCtlDelay 大约为3个时钟。
//
SysCtlDelay (g_ui32SysClock /(1000 * 3));

//
//关闭 LED
//
MAP_GPIOPinWrite (GPIO_PORTN_BASE、GPIO_PIN_0、0);

//*****
//
//将字符串发送到 UART。
//
//*****

UARTSend (const uint8_t * pui8Buffer、uint32_t ui32Count)
{
//
//当有更多字符要发送时循环。
//
while (ui32Count --)
{
//
//将下一个字符写入 UART。
//
MAP_UARTCharPutNonBlocking (UART2_base、* pu8Buffer++);

//*****
//
//该示例演示了如何将数据字符串发送到 UART。
//
//*****
内部
主函数(空)
{
//
//在120 MHz 处从 PLL 运行。
//注意:SYSCTL_CFG_VCO_240是 TivaWare 2.2.x 和
//稍后以更好地反映由于 SYSCTL#22而导致的实际 VCO 速度。
//
g_ui32SysClock = MAP_SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz |
SYSCTL_OSC_MAIN |
SYSCTL_USE_PLL |
SYSCTL_CFG_VCO_240)、120000000);

//
//启用用于板载 LED 的 GPIO 端口。
//
MAP_SysCtlPeripheralEnable (SYSCTL_Periph_GPION);

//
//启用 LED 的 GPIO 引脚(PN0)。
//
MAP_GPIOPinTypeGPIOOutput (GPIO_PORTN_BASE、GPIO_PIN_0);

//
//启用此示例使用的外设。
//
MAP_SysCtlPeripheralEnable (SYSCTL_Periph_UART2);
MAP_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);

//
//启用处理器中断。
//
Map_IntMasterEnable ();

//
//将 GPIO A0和 A1设置为 UART 引脚。
//
MAP_GPIOPinConfigure (GPIO_PA6_U2RX);
MAP_GPIOPinConfigure (GPIO_PA7_U2TX);
MAP_GPIOPinTypeUART (GPIO_PORTA_BASE、GPIO_PIN_6 | GPIO_PIN_7);

//
//将 UART 配置为115,200、8-N-1运行。
//
MAP_UARTConfigSetExpClk (UART0_BASE、g_ui32SysClock、115200、
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
uart_config_PAR_NONE));

//
//启用 UART 中断。
//
MAP_IntEnable (INT_UART2);
MAP_UARTIntEnable (UART2_BASE、UART_INT_RX | UART_INT_RT);

//
//提示输入文本。
//
UARTSend ((uint8_t *)"\033[2JEnter text:"、16);

//
//永久循环通过 UART 回传数据。
//
while (1)
{

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

    您好!

     要将 UART2用于虚拟 COM 端口、您必须将 JP4和 JP5更改为它们的垂直位置。 请参阅 EK-TM4C1294XL 用户指南。  

    2.1.6.4其他接头和跳线
    提供了 JP1、用于为连接的 LaunchPad 选择电源输入源。 顶部位置适用于
    BoosterPack 电源;此位置还会使两个 USB 电压与电路板的初级5伏
    输入。 在顶部位置、TPS2052B 不限制电流、因此应格外小心。 为
    中间位置通过以太网插孔附近板左侧的 USB 连接器供电。
    默认的底部位置是从 ICDI (调试) USB 连接获得电源。


    JP2将 MCU 3.3伏电源域与电路板上的其余3.3伏电源分开、
    一个电流表、用于更准确地测量微控制器功耗。


    JP3将 TPS73733 LDO 的输出与电路板的3.3V 电源域隔离。


    JP4和 JP5用于配置连接到 BoosterPack 2接口的 CAN 信号。 在默认水平
    BoosterPack 上不存在 CAN。 UART2进入 BoosterPack、UART 0进入
    连接到 ICDI 虚拟串行端口、以提供 ROM 串行引导加载程序功能。 在支持垂直 CAN 的
    UART2连接到 ICDI 虚拟串行端口、且上的 CAN 信号可用
    BoosterPack 插槽中。 当跳线由两个引脚组成时、ROM 串行引导加载程序不可用于 ICDI 虚拟串行端口
    处于 CAN 位置。