请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
Thread 中讨论的其他器件:CC2650您好!
我一直在尝试 通过 UART 实现与2个不同器件的通信。 为此、我尝试使用相同的 UART 与这两者进行通信、但没有取得很大的成功、因为一个工作正常、另一个不喜欢。 我正在阅读如何实现两个 UART、因为我知道 cc2650只有1个、我知道我需要关闭其中一个才能启动另一个。 问题是、我需要更改板级配置文件以包含用于不同引脚的另一个 UART。 我这么做了、我注意到该变量"CC2650DK_5n_UARTCOUNT"始终保持为1、而不是2、这是我所需要的。
CC2650DK_5XD.h
/* UART 板*/ #define Board_UART_RX ioID_4. /* P1.7 */ #define Board_UART_TX ioID_3. /* P1.9 */ #define Board_UART_RX1 ioID_12. /* P1.7 */ #define Board_UART_TX1 ioID_11. /* P1.9 *
#define Board_UART CC2650DK_5n_UART0 #define Board_UART1 CC2650DK_5n_UART1
typedef enum CC2650DK_5n_UARTName{CC2650DK_5n_UART0 = 0、CC2650DK_5n_UART1 = 0、CC2650DK_5n_UARTCOUNT}CC2650DK_5n_UARTName;
现 已推出 CC2650DK_5XD
/* UART 对象*/ UARTCC26XX_Object uartCC26XX 对象[CC2650DK_5n_UARTCOUNT]; unsigned char uartCC26XXRingBuffer[CC2650DK_5n_UARTCOUNT][32]; // UART 硬件参数结构,也用于分配 UART 引脚*/ const UARTCC26XX_UART20_UART26xx = UARTDUT = UART2620_UART20_UARTDUT { baseAddr = UART0_BASE、 powerMngrId = PowerCC26XX_Periph_UART0、 .intNum = INT_UART0_COMB、 .intPriority =~0、 .wiPriority = 0、 txPin = Board_UART_TX、 .rxPin = Board_UART_RX、 ctsPin = PIN_Unassigned、 rtsPin = PIN_Unassigned、 .ringBufPtr = uartCC26XXRingBuffer[0]、 .ringBufSize = sizeof (uartCC26XXRingBuffer[0]) }、 { baseAddr = UART0_BASE、 powerMngrId = PowerCC26XX_Periph_UART0、 .intNum = INT_UART0_COMB、 .intPriority =~0、 .wiPriority = 0、 txPin = Board_UART_TX1、 .rxPin = Board_UART_RX1、 ctsPin = PIN_Unassigned、 rtsPin = PIN_Unassigned、 .ringBufPtr = uartCC26XXRingBuffer[0]、 .ringBufSize = sizeof (uartCC26XXRingBuffer[0]) } }; /* UART 配置结构*/ const UART_Config UART_CONFIG[]={ { .fxnTablePtr =&UARTCC26XX_fxnTable、 .object = uartCC26XX 对象[0]、 hwAttrs = uartCC26XXHWAttrs[0] }、 { .fxnTablePtr =&UARTCC26XX_fxnTable、 .object = uartCC26XX 对象[0]、 hwAttrs = uartCC26XXHWAttrs[0] }、 {NULL、NULL、NULL} };
您知道我遗漏了什么吗? 当使用简单 RTOS 时、我会将其添加到 BLE 程序中。 谢谢你。
此致、
米格尔·维埃拉