各位好,
CC2541的npi更改为串口1,通讯失败了;
我只是修改了一个配置,就是HAL_UART_DMA 定义为2,在P16和P17口连接USB转串口工具,调试助手收发都不可以。
把HAL_UART_DMA 定义为1,又通讯正常了。
请问是什么原因呢。
Alvin Chen:
请参考:
e2echina.ti.com/…/526637
user6045094:
回复 Alvin Chen:
你好,这个链接找不到我想要的答案,我并不是想两个串口同时用,我只是想把npi的串口由串口0改为串口1,请问有具体的方法吗
Alvin Chen:
回复 user6045094:
你没看懂那个链接吧,HAL_UART_DMA定义为2 仅仅是说明UART1用DMA。跟NPI无关。
void NPI_InitTransport( npiCBack_t npiCBack )
{
halUARTCfg_t uartConfig;// configure UART
uartConfig.configured = TRUE;
uartConfig.baudRate = NPI_UART_BR;
//uartConfig.flowControl = !NPI_UART_FC;
uartConfig.flowControlThreshold = NPI_UART_FC_THRESHOLD;
uartConfig.rx.maxBufSize = NPI_UART_RX_BUF_SIZE;
uartConfig.tx.maxBufSize = NPI_UART_TX_BUF_SIZE;
uartConfig.idleTimeout = NPI_UART_IDLE_TIMEOUT;
uartConfig.intEnable = NPI_UART_INT_ENABLE;
uartConfig.callBackFunc = (halUARTCBack_t)npiCBack;// start UART
// Note: Assumes no issue opening UART port.
(void)HalUARTOpen( NPI_UART_PORT, &uartConfig );(void)HalUARTOpen( NPI_UART_PORT, &uartConfig );设置为UART 1即可
user6045094:
回复 Alvin Chen:
定义 HAL_UART_DMA=2后,在npi.h的文件里,就自动定义为串口1了,这些配置我仿真看是对的,但是就是无法通信,IO口在程序和物理上没有被其他占用
#else // FOR UART#if ((defined HAL_UART_DMA) && (HAL_UART_DMA== 1))#define NPI_UART_PORTHAL_UART_PORT_0#elif ((defined HAL_UART_DMA) && (HAL_UART_DMA== 2))#define NPI_UART_PORTHAL_UART_PORT_1//20190701
user6045094:
回复 user6045094:
就是配置 HAL_UART_DMA=2,定义NPI_UART_PORT 为 HAL_UART_PORT_1,连接p16,p17引脚的串口进行通讯,无法通讯。
user6045094:
回复 Alvin Chen:
就是配置 HAL_UART_DMA=2,定义NPI_UART_PORT 为 HAL_UART_PORT_1,连接p16,p17引脚的串口进行通讯,无法通讯。
user6045094:
没人知道吗
Alvin Chen:
回复 user6045094:
你直接参考我给的连接用那个接口吧
user6045094:
回复 Alvin Chen:
你给的连接我进去看了,要访问外网的两个连接访问不了,只能看复制出来的那部分,但是解决不了我的问题,麻烦你可以介绍下方法吗,我的目的就是npi的串口配置为串口1,这些都已经配置了:HAL_UART_DMA=2,NPI_UART_PORT 定义为 HAL_UART_PORT_1,初始化后不能通讯。