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

CC2530如何同时使用两个串口

基于3.0.2 light协议栈例程,目前ZTOOL_P1(P0.2和P0.3)是可以使用的,

如果想同时使用ZTOOL_P1和ZTOOL_P2(P0.4和P0.4),需要再做哪些配置?

条件编译里要加上ZTOOL_P2吧?如下,其他还有什么地方要配置的吗?IO口分配和中断还是DMA?

ZTOOL_P1
ZTOOL_P2
MT_TASK
xMT_APP_FUNC
xMT_SYS_FUNC
xMT_ZDO_FUNC
xMT_ZDO_MGMT
xMT_APP_CNF_FUNC

YiKai Chen:

可以參考sunmaysky.blogspot.com/…/how-to-use-two-uart-ports-in-cc2530-z.html

Alvin Chen:

CC254x&CC253x:

e2echina.ti.com/…/175480

user5367314:

回复 YiKai Chen:

1.我这边的两个串口使用的是串口0 P0.2,P0.3,串口1 P0.4,P0.5有没有问题,是不是串口1必须要是P1.6,P1.7

2.是不是把initUart0(uart0RxCb);和initUart1(uart1RxCb);放到初始化里?数据怎么接收啊,正常的不是进case CMD_SERIAL_MSG:吗?

3.//MT_UartInit();和//MT_UartRegisterTaskID(zclSampleLight_TaskID);是不是注释掉不用了,用下面的代替?

initUart0(uart0RxCb); initUart1(uart0RxCb);

YiKai Chen:

回复 user5367314:

串口1用 P0.4,P0.5應該没有问题,但是你串口0及1都不能使能RT/CT

user5367314:

回复 YiKai Chen:

串口0及1都不能使能RT/CT,这个是干什么用的?怎么看有没有使能啊?

Alvin Chen:

回复 user5367314:

数据手册中有写自己去阅读一下:Table 7-1. Peripheral I/O Pin Mapping

www.ti.com/…/swru191f.pdf

YiKai Chen:

回复 user5367314:

RT/CT是 flow control用的

user5367314:

回复 YiKai Chen:

明白,uartConfig.flowControl = FALSE的话,串口0 P0.2,P0.3,串口1 P0.4,P0.5就没问题了
把initUart0(uart0RxCb);和initUart1(uart1RxCb);放到初始化里如下,串口来数据了,怎么接收啊?进case CMD_SERIAL_MSG?
//MT_UartInit();//是否需要?
//MT_UartRegisterTaskID(zclSampleLight_TaskID);//是否需要?
initUart0(uart0RxCb);
initUart1(uart0RxCb);

YiKai Chen:

回复 user5367314:

uartConfig裡面可以設置接收的callback function

user5367314:

回复 YiKai Chen:

串口最大接收是128字节,如果数据帧超过128,建议怎么处理?

赞(0)
未经允许不得转载:TI中文支持网 » CC2530如何同时使用两个串口
分享到: 更多 (0)