主题中讨论的其他器件: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 上启用中断了吗?
我缺少什么? 感谢你的任何帮助。