主题中讨论的其他器件: CC256XSTBTBLESW、 CC2564
我有一块包含 MAX32560 (Maxim 微控制器) 和 CC2564C 的电路板。
MAX32560使用 eclipse GNU GCC 工具。
TI 蓝牙软件开发套件 CC256XSTBTBLESW 仅使用 Keil 和 IAR。
如何编译蓝牙堆栈并配置引脚:NShutdown、RTS、CTS、TXD、RXD 和 UART?
您建议使用哪种软件堆栈?
谢谢、Eng Jose Carlos
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我有一块包含 MAX32560 (Maxim 微控制器) 和 CC2564C 的电路板。
MAX32560使用 eclipse GNU GCC 工具。
TI 蓝牙软件开发套件 CC256XSTBTBLESW 仅使用 Keil 和 IAR。
如何编译蓝牙堆栈并配置引脚:NShutdown、RTS、CTS、TXD、RXD 和 UART?
您建议使用哪种软件堆栈?
谢谢、Eng Jose Carlos
尊敬的 Eng Jose Carlos:
在 CC256x STM32 Bluetopia SDK/v4.2.1.1/Noos/Bluetopia/lib/gcc 中、有一个基于 gcc 构建的 Bluetopia 栈版本
您可以根据您的平台将相应的库链接到您的 GCC 构建。
至于配置所需的各种引脚、您需要制作一组用于实现这些所需功能的 HAL 文件。 请参阅 CC256x STM32 Bluetopia SDK/v4.2.1.1/Noos/STM3240G-EVAL/Platform/中的 HAL.c/.h 和 HALCFG.h、了解需要实施的内容和实施方法的示例。
如果您需要进一步澄清或有进一步的问题、请告诉我。
此致、
Michael
你(们)好,Michael
我下载 CC256x STM32 Bluetopia SDK ( CC256XSTBTBLESW ) ,但实际 版本为4.0.2.2
您能否发送指向上述 v4.2.1.1版本的链接?
HALCFG.h 包含一个文本:
/*以下定义定义定义了供*/使用的 UART/USART
/* HCI 传输和 UART 将使用的引脚。 请*/
/*请查阅处理器的文档以确定哪些引脚是*/
/*可用于所需的 UART。 *
/*注意* TXD 和 RXD 引脚必须能够映射到选定的*/
/* UART。 此外,如果需要硬件流控制,*/
/* RTS 和 CTS 引脚也必须能够映射到*/
/*所选 UART。 如果使用软件管理流程,则 RTS 可以*/
/*是任何可用的 GPIO、但 CTS 必须是可以是*/的 GPIO
/*映射到可用的 EXTI 线路。 复位引脚可以是*
/*任何可用的 GPIO。 *
#define console_UART 3.
#define console_TXD_port C
#define console_TXD_PIN 10.
#define console_RXD_port C
#define console_RXD_PIN 11.
#define HAL_LED_PORT G
#define HAL_LED_PIN 6.
我使用的是 CC2564C。 它具有 nShutDown 引脚。 我打开 了 HAL.c/.h 和 HALCFG.h、但未找到任何命令或 nShutDown 引脚(可能名为 RESET 引脚)的引用。
需要考虑蓝牙堆栈在发送/接收数据之前必须执行高电平。 在 CC2564C 数据表中、告诉您执行 nShut 引脚高电平、100ms 后、HCI_RTS 变为低电平以显示 CC2564C 准备就绪。
堆栈可与 nShutDown 引脚配合使用?
您能告诉我 该引脚在堆栈中的哪个位置被激活/停用吗?
_________________________________________________________
调试我的电路板 BSC_Initialize()返回-4。 我认为问题必须是 nShutDown 引脚。 我需要知道我在堆栈中的何处配置它。
1)/*初始化应用程序。 *
if ((结果= InitializeApplication (&HCI_DriverInformation、&BTPS_Initialization))> 0) //=> retornou (-1001) =>#define application_error_unable to _open_stack (-1001)
2)静态 int OpenStack (HCI_DriverInformation_t * HCI_DriverInformation、BTPS_Initialization_t * BTPS_Initialization) // retorna -7 (unable to _initialize_stack)
3)/*初始化堆栈 */
结果= BSC_Initialize (HCI_DriverInformation、0); //result =-4 (BTPS_ERROR_HCI_INITIALIZING_ERROR)
此致、Jos é Carlos
尊敬的 Jos é Carlos:
CC2564C 的 Bluetopia 协议栈的最新版本可在此处找到:
http://www.ti.com/tool/CC2564CSTBTBLESW
是的、RESET 引脚与 nShutdown 引脚相同。
您需要确定如何最好地使用平台 API 来切换 HAL_ConfigureHardware()设置函数中的 nShutdown 引脚。 对于 STM32平台移植代码、HAL_LED_GPIO_AHB_BIT 似乎 用于设置该 nShutdown 信号。 如果您需要有关如何执行硬件设置的更多示例、可以查看一些其他基于 MCU 的平台(如 MSP432)的移植文件。 Bluetopia 协议栈端口的完整列表可在以下位置找到: https://processors.wiki.ti.com/index.php/CC256x_TI's_Bluetooth_Stack
如果您对将 CC2564 bluetopia 堆栈移植到平台有其他疑问、请告诉我
此致、
Michael
你(们)好,Michael
我在 STM32协议栈中的 HCITRANS.c 中找到:
#define ClearReset () GPIO_SetBits (HCITR_RESET_GPIO_PORT、(1 << HCITR_RESET_PIN)
#define SetReset () GPIO_ResetBits (HCITR_RESET_GPIO_PORT、(1 << HCITR_RESET_PIN)
/*配置 GPIO。 *
配置 GPIO (HCITR_RESET_GPIO_PORT、HCITR_RESET_PIN、GPIO_Mode_OUT);
SetReset();
ClearReset()和 SetReset()仅在中使用
int BTPSAPI HCITR_COMOpen (HCI_COMMDriverInformation_t * COMMDriverInformation、HCITR_COMDataCallback_t COMDataCallback、unsigned long CallbackParameter)
和
void BTPSAPI HCITR_COMClose (unsigned int HCITransportID)
我仍然在 BSC_Initialize (HCI_DriverInformation、0)中设置-4 (BTPS_ERROR_HCI_INITIATY_INITIATY_ERROR);
您是否认为堆栈库代码使用 ClearReset()和 SetReset()?
此致、Jos é Carlos