蓝牙技术
直播中

gvxiaot

14年用户 1221经验值
私信 关注
[问答]

CYBT353027 HCI与主机MCU通信,对AIROC™ HCI UART消息无响应,为什么?

我正在使用 CYBT 353027 Bluetooth®芯片和 NXP Kinetis K24 作为主机 MCU。 我们能够使用AIROC™ -HCI_Control-Protocol 文档中概述的微型驱动程序的原始 hci 命令来完全完成闪存过程。 在我为 CYBT 模块编写的固件中,我们在进入应用程序时让 LED 闪烁三次,以确认芯片正在运行我们的应用程序,并且我们在开发板上看到了这个闪烁。

当我们尝试使用通过用于发送闪存的 RAW 命令的同一 UART 发送的消息将AIROC™命令写入设备时,就会出现问题。 我使用了 LE_Hello_Sensor 示例,同时也将 Firmware_Upgrade_via_HCI 示例作为我编写的应用程序的基础。

const wiced_transport_cfg_t transport_cfg == WICED_TRANSPORT_UART,
配置文件=
{
.uart_cfg=
{
.mode = WICED_TRANSPORT_UART_HCI_MODE,
.baud_rate = 115200
} ,
},
rx_buff_pool_cfg 配置文件=
{
.buffer_size = TRANS_UART_BUFFER_SIZE,
.buffer_count = 1
} ,
状态处理程序=你好_传感器_传输_状态,
.p_数据处理程序= CYBT_proc_rx_hci_cmd,
.p_tx_complete_cback= 空
};

看起来,当我们将数据从主机 MCU 发送到 CYBT 芯片时,从未调用过 transport_cfg 中概述的处理流量的函数 CYBT_proc_rx_hci_cmd,我为该函数添加了一个 LED 闪光灯,以便一眼就能看出我们何时进入该函数。
我们在 APPLICATION_START( ) 函数的顶部执行以下操作,以便此传输应该全部设置好。
// wiced_transport_init(&transport_cfg );
// 创建用于向 MCU 发送数据的特殊池
主机传输池 = wiced_transport_create_buffer_pool(TRANS_UART_BUFFER_SIZE,HELLO_SENSOR_TRANS_MAX_BUFFERS);
我显然在这里遗漏了一些东西。有人知道我有多愚蠢吗?

更多回帖

发帖
×
20
完善资料,
赚取积分