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.

[参考译文] RTOS/CC3220S-LAUNCHXL:CC3220S Launchpad 上的 UART1 (再次)

Guru**** 2578945 points
Other Parts Discussed in Thread: CC3220S

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/647715/rtos-cc3220s-launchxl-uart1-on-the-cc3220s-launchpad-again

器件型号:CC3220S-LAUNCHXL
主题中讨论的其他器件:CC3220S

工具/软件:TI-RTOS

很抱歉、我问这个问题、因为我知道它已经被解决了几次、但我仍然无法完全让 Launchpad 上的 UART1正常工作。   

我从使用 Code Composer Studio 的 CC3220S MQTT 示例开始。

我将 CC3220S_LaunchXL.c 更改为如下所示:

CONST UARTCC32XX_HWAttrsV1 uartCC3220SHWAttrs[CC3220S_LAUNCHXL_UARTCOUNT]={

baseAddr = UARTA0_BASE、
.intNum = INT_UARTA0、
.intPriority =(~0)、
.FlowControl = UARTCC32XX_FLOWCTRL_NONE、
.ringBufPtr = uartCC3220SRingBuffer[CC3220S_LAUNCHXL_UART0]、
.ringBufSize = sizeof (uartCC3220SRingBuffer[CC3220S_LAUNCHXL_UART0])、
rxPin = UARTCC32XX_PIN_04_UART0_RX、
txPin = UARTCC32XX_PIN_03_UART0_TX、
ctsPin = UARTCC32XX_PIN_Unassigned、
rtsPin = UARTCC32XX_PIN_Unassigned
}、

baseAddr = UARTA1_base、
.intNum = INT_UARTA1、
.intPriority =(~0)、
.FlowControl = UARTCC32XX_FLOWCTRL_NONE、
.ringBufPtr = uartCC3220SRingBuffer[CC3220S_LAUNCHXL_UART1]、
.ringBufSize = sizeof (uartCC3220SRingBuffer[CC3220S_LAUNCHXL_UART1])、
rxPin = UARTCC32XX_PIN_57_UART1_RX、
txPin = UARTCC32XX_PIN_55_UART1_TX、
ctsPin = UARTCC32XX_PIN_Unassigned、
rtsPin = UARTCC32XX_PIN_Unassigned

};

我在引脚57和55上有一个 TTL 转换器、我验证它首先与引脚4和3一起工作(因此我知道 TTL 转换器工作)

我的初始化如下所示:

UART_Handle InitTerm (void)

UART_Params uartParams;

Board_initUART();
UART_PARAMS_INIT (uartParams);

uartParams.readMode = UART_MODE_CALLACK;
uartParams.writeMode = UART_MODE_CALLBACK;
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.readReturnMode = UART_return_full;
uartParams.readEcho = UART_ECHO_OFF;
uartParams.baudrate = 9600;
uartParams.dataLength = UART_LEN_8;
uartParams.stopbits = UART_STOP_ONE;
uartParams.parityType = UART_PAR_NONE;
uartParams.readCallback =&rxCallback;
uartParams.writeCallback = wrCallback;

uartHandle = UART_OPEN (Board_UART1、uartParams);
UART_CONTROL (uartHandle、UART_CMD_RXDISABLE、空);

return (uartHandle);

我的回叫处理程序如下所示:

静态 INT8_t 计数= 0;
//
void wrCallback (UART_Handle uartHandle、void *pBuf、uint32_t numBytes)

计数--;

//
void rxCallback (UART_Handle uartHandle、void *pBuf、uint32_t numBytes)

count++;

我永远无法使回调工作。  他们永远不会被呼叫。  我忘记在第二个 UART 上启用中断了吗?   

我缺少什么?  感谢你的任何帮助。

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

    引脚57和55用作反向通道 UART、用于打印到 launchpad 上的终端。
    如果您不需要、并且希望将其用于其他函数、则需要对硬件和软件进行更改。

    请查看 SDK 中的 LaunchPad 原理图和示例。

    此致、
    查尔斯·奥
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Charles、我移除了跳线并将 TTL 转换器连接到 J5和 J6的中心引脚。 我认为这应该是正确的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、现在我将 rxPin 更改为45、将 txPin 更改为07。

    我还将逻辑探头连接到它。  逻辑探头捕获我通过 TTL 转换器从计算机传输的数据。  我永远不能在 rxCallback 中遇到断点。

    有什么想法吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将引脚移动到了未使用的引脚、但仍然没有获得中断
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您能否备份一点并准确解释您要做的事情?
    是否正在尝试将应打印到终端的 UART 终端输出路由到其他设备?

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

    您好、Charles、

    基本上、我只需要 UART1的 TTL 电平 UART。  最好无需更改电路板。  因此、我将尝试在 Launchpad 上找到合适的引脚组合、以便使用 USART1。  我想我已经开始了、但我从未在上面的 UART1代码回调中获得中断。  不确定我是否在软件或硬件中设置了正确的内容。

    谢谢