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.
工具/软件:Code Composer Studio
您好!
我将 Tiva 板 EK-TM4C123GXL 与 TM4C123GH6PM 搭配使用、Code Composer Studio 版本:6.1.3.00034
我想运行一个 UART、我已经将一个 MAX232接口连接到引脚 B0和 B1来使用 UART1。
我选择了示例"UART_ECHO"并将其修改为 UART1、端口 B 以及引脚 B0和 B1。
但它只能部分工作。 我得到了前17个字符发送正确(在115200、8、n、1处使用外部终端)、但不能再这样。 我可以将其减少到例如15个字符、这是有效的。
但我完全没有输入运行。 我检查了硬件、情况良好。
我的代码有什么问题?
----------------------------------------
此处是"UART_ECHO.c"的内容:
//
//
// uart_echo.c -从中的 UART 读取数据并向其中写入数据的示例
// 中断驱动方式。
//
//版权所有(c) 2012-2016德州仪器(TI)公司。 保留所有权利。
//软件许可协议
//
//德州仪器(TI)仅提供和使用此软件
//专门用于 TI 的微控制器产品。 该软件归其所有
// TI 和/或其供应商、受适用版权保护
//法律。 您不能将此软件与"病毒"开源软件结合使用
//软件,以便形成一个更大的程序。
//
//此软件按“原样”提供,且存在所有故障。
//不作任何明示、暗示或法定的保证,包括但
//不限于对适销性和适用性的暗示保证
//此软件的特定用途。 TI 不得以任何方式进行
//情况,对特殊、偶然或从属事件负责
//任何原因造成的损害。
//
//这是 EK-TM4C123GXL 固件包版本2.1.3.156的一部分。
//
//
#include
#include
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "driverlib/debug.h"
#include "driverlib/fpu.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/pin_map.h"
#include "driverlib/rom.h"
#include "driverlib/sysctl.h"
#include "driverlib/uart.h"
//
//
//! \addtogroup example_list
//!
[引用 user="Guenter kluemper">但它只能部分工作。 我得到了前17个字符发送正确(在115200、8、n、1处使用外部终端)、但不能再这样。 我可以将其减少为例如15个有效的字符。这是因为代码调用 ROM_UARTCharPutNonBlocking 而不检查返回状态。 这意味着一旦 UART 发送 FIFO 已满、字符将被丢弃。 最简单的解决 方案是调用 ROM_UARTCharPut()而不是 ROM_UARTCharPutNonBlocking ()。
请注意、这是我在 TivaWare 2.1.0.12573中报告的 TivaWare UART_echo 示例中的一个错误(请参阅 TivaWare UART_ECHO.c 示例中的 ROM_UARTCharPutNonBlocking 的使用)、该错误仍然存在于 TivaWare 2.1.3.156中。
[引用 user="guenter kluemper"]但我完全没有运行输入。在 startup_ccs.c 源文件中,您是否修改 了 g_pfnVectors[]数组,将 UARTIntHandler 放置在 UART1的条目中,而不 是 UART0的条目中?