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

关于使用协议栈串口功能的问题

请问各方大牛:

     在基于协议栈想把串口0定义在P1口上(协议栈默认在P0口上)。只要把ZTOOL_P1改为ZTOOL_P2吗。我改了好像没有效果,这是为什么呢?

jinghuan hao:

没有?你串口回调在函数怎么写的?还是直接用mt里的串口,自己写的话,宏xMT_TASK,注释掉,不注释的话,去改mt串口回调函数,把软件控制流去掉。

Susan Yang:

有没有添加  HAL_UART_ISR=2 ?另外您可以参考 https://e2e.ti.com/support/wireless_connectivity/zigbee_6lowpan_802-15-4_mac/f/158/t/169089

siyuan sun:

回复 jinghuan hao:

  uartConfig.configured   =TRUE;  uartConfig.baudRate     =HAL_UART_BR_115200;  uartConfig.flowControl  =FALSE;  uartConfig.callBackFunc =rxCB;  HalUARTOpen(0,&uartConfig);

我自己定义的。

siyuan sun:

回复 Susan Yang:

我想用的是DMA的模式

siyuan sun:

回复 siyuan sun:

一般默认使能了DMA的

void HalUARTInit(void){#if HAL_UART_DMA  HalUARTInitDMA();#endif。。。。。}

进入 HalUARTInitDMA();里面有段code

#if (HAL_UART_DMA == 1)  PERCFG &= ~HAL_UART_PERCFG_BIT;    // Set UART0 I/O to Alt. 1 location on P0.#else  PERCFG |= HAL_UART_PERCFG_BIT;     // Set UART1 I/O to Alt. 2 location on P1.#endif

又有

#if (defined ZAPP_P2) || (defined ZTOOL_P2)#define HAL_UART_DMA  2#else#define HAL_UART_DMA  1#endif#else#define HAL_UART_DMA  0#endif

那我不是只要在预编译的时候加入ZTOOL_P2 就可以了啊?但好像不行

赞(0)
未经允许不得转载:TI中文支持网 » 关于使用协议栈串口功能的问题
分享到: 更多 (0)