TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2530 zstack 3.0.2串口问题

串口0初始化如下,即收发线为P0.2和P0.3

void initUart0()
{
  halUARTCfg_t uartConfig;
   /* Initialize APP ID */
  App_TaskID = 0;
   uartConfig.configured = TRUE;
  uartConfig.baudRate = HAL_UART_BR_4800;//HAL_UART_BR_9600;
  uartConfig.flowControl = FALSE;
  uartConfig.flowControlThreshold = 0;
  uartConfig.rx.maxBufSize = 240;//默认128;
  uartConfig.tx.maxBufSize = 240;//默认128;
  uartConfig.idleTimeout = 6;  uartConfig.intEnable = TRUE;  uartConfig.callBackFunc = uartRxCb;
  HalUARTOpen (HAL_UART_PORT_0, &uartConfig);
}

以上初始化已经关闭了流控制,我想把P0.4和P0.5用作GPIO(我在初始化里已经把P0.4和P0.5用作GPIO还是不行),

但是怎么都不行,一直查找发现以下代码,串口例程默认的是DMA,

我关闭的流控制,下面的代码怎么又自动打开了?(我在初始化里已经把P0.4和P0.5用作GPIO还是不行),

static uint16 HalUARTReadDMA(uint8 *buf, uint16 len)

{

……

PxOUT &= ~HAL_UART_Px_RTS;  // Re-enable the flow on any read.

……

}

我只想用P0.2和P0.3收发数据即可,P0.4和P0.5用作普通IO,请问怎么配置?(我在初始化里已经把P0.4和P0.5用作GPIO根本不起作用)

YiKai Chen:

試試把MT_UART_DEFAULT_OVERFLOW設置為FALSE

Susan Yang:

需要将默认流控所对应的宏定义MT_UART_DEFAULT_OVERFLOW的值更改为FALSE,即关闭串口流控。

采用Rx/Tx两根线的方式进行通信时需要关闭流控,否则不能发送信息。

赞(0)
未经允许不得转载:TI中文支持网 » CC2530 zstack 3.0.2串口问题
分享到: 更多 (0)