首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bluenrg-ms/stm32F4 :通过spi的Hci数据包

Bluenrg-ms/stm32F4 :通过spi的Hci数据包
EN

Stack Overflow用户
提问于 2020-07-03 23:59:19
回答 1查看 111关注 0票数 0

我正在做一个项目来开发一个ble通信,但是我在初始化和理解ble的返回框架时遇到了一些麻烦。

在降低cs,测试报头(0x0A,0x00,0x00,0x00,0x00)并使用HAL_SPI_TransmitReceive直接在hci_reset (0x01,0x03,0x0C,0x00)之后发送之后,我想从ble中读取返回值。

因此,再次降低cs,测试报头(0x0B,0x00,0x00,0x00,0x00),并使用HAL_SPI_TransmitReceive发送虚拟数据。我得到这个帧: 0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00。

但根据我到目前为止的理解,我应该得到这样的结果:0x04,0x0E,0x04,0x01,0x03,0x0C,0x00。

有人能指出我哪里错了吗?

EN

回答 1

Stack Overflow用户

发布于 2020-07-08 23:02:11

差不多解决了。

实际上,我更改了代码中的一些点,最终从ble中检索到了与我等待的数据相对应的数据。

我之前所做的是在收到来自ble的右标头后关闭帧。然后发送报头到write命令,随后发送命令。

这就是我应用的程序:信息通信spi命令(写入):·如果header_slave=0x02和header_slave1>0,则打开CS并在TransmitReceive▪中发送header_master5={0x0a,0,0,0,0}·send命令·close CS◦else·关闭CS·转到打开CS

信息通信spi请求(读取):·等待从ble退出打开CS并在TransmitReceive中发送header_master5={0x0b,0,0,0,0}·if header_slave=0x02◦header_slave3>0◦send (header_slave3) dummies◦close CS·else◦close CS◦goto Open CS

希望这能帮助到一些人。

现在我面临着另一个问题。我在发送命令后没有收到中断,所以我做了轮询来捕获我需要的帧。有什么解决方案吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62718972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档