CYW20706 SPI api中wiced_hal_pspi_tx_data(UINT32 txLen, const UINT8* txBuf),使用的非阻塞式还是阻塞式

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
guta_2945091
Level 2
Level 2
10 replies posted 5 replies posted 5 questions asked

如题,我在使用CYW20706的SPI  作为Master的时候,发现使用wiced_hal_pspi_tx_data 此API的时候,会出现操作延时的情况。

使用方法,txLen:长度;txBuf 数据地址;

参看Datasheet P16 “Each interface has a 64-byte transmit buffer and a 64-byte receive buffer”,有64 byte的buffer。

但是未看到中断系统

参看 WICED中的API,也未介绍是阻塞式还是非阻塞。

但是在实际使用,比如发送5k的数据会出现耗时明显的情况

0 点赞
1 解答
Owen_Zhang123
Moderator
Moderator
Moderator
5 questions asked 500 solutions authored 250 sign-ins

抱歉,没有相关优先级的文档,stack相关事件的优先级高于外设的优先级。HCI UART有很多调试相关的log,关掉之后会减少CPU资源占用。有助于提高传输速度。

在原帖中查看解决方案

0 点赞
3 回复数
Owen_Zhang123
Moderator
Moderator
Moderator
5 questions asked 500 solutions authored 250 sign-ins

当BT/BLE Stack有task要处理的时候,CPU会等到高优先级的处理完之后才会执行发送/接收SPI的指令。

如果要提高SPI速率,在测试的时候可以将所有的trace都关掉。使用API wiced_bt_dev_register_hci_trace( NULL);关掉HCI的tace,并且调用wiced_set_debug_uart(WICED_ROUTE_DEBUG_NONE)。

0 点赞

HCI UART的优先级会比SPI的高吗??请问BT、BLE、HCI UART、SPI、IIC的优先级是如何排布的?手册中都未标明

0 点赞
Owen_Zhang123
Moderator
Moderator
Moderator
5 questions asked 500 solutions authored 250 sign-ins

抱歉,没有相关优先级的文档,stack相关事件的优先级高于外设的优先级。HCI UART有很多调试相关的log,关掉之后会减少CPU资源占用。有助于提高传输速度。

0 点赞