Skip to content

Commit b9ff4c1

Browse files
authored
Merge pull request #22 from zhouji92/master
优化spi传输时序
2 parents 08e53b0 + acee108 commit b9ff4c1

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

src/spi_wifi_rw007.c

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,14 +94,27 @@ static int wifi_data_transfer(struct rw007_spi *dev, uint16_t seq, uint8_t *rx_b
9494

9595
/* Stage 1: Send command to rw007 */
9696
rt_memset(&resp, 0, sizeof(resp));
97-
rt_spi_transfer(rt_spi_device, &cmd, &resp, sizeof(resp));
97+
message.send_buf = &cmd;
98+
message.recv_buf = &resp;
99+
message.length = sizeof(resp);
100+
message.cs_take = 1;
101+
message.cs_release = 0;
102+
message.next = RT_NULL;
103+
/* Start a SPI transmit */
104+
rt_spi_take_bus(rt_spi_device);
98105

106+
/* Receive response from rw007 */
107+
rt_spi_device->bus->ops->xfer(rt_spi_device, &message);
99108
/* Clear event */
100109
rt_event_recv(&spi_wifi_data_event,
101110
RW007_SLAVE_INT,
102111
RT_EVENT_FLAG_AND | RT_EVENT_FLAG_CLEAR,
103112
RT_WAITING_NO,
104113
RT_NULL);
114+
rt_spi_release(rt_spi_device);
115+
/* End a SPI transmit */
116+
rt_spi_release_bus(rt_spi_device);
117+
105118
/* checkout Stage 1 slave status */
106119
if ((resp.magic1 != SLAVE_MAGIC1) || (resp.magic2 != SLAVE_MAGIC2) || (resp.type != slave_cmd_phase))
107120
{

0 commit comments

Comments
 (0)