diff options
| author | Meco Man <[email protected]> | 2023-05-21 21:49:27 -0400 |
|---|---|---|
| committer | Man, Jianting (Meco) <[email protected]> | 2023-05-22 02:55:46 -0400 |
| commit | 93968942c29c730f2c88adb188265124a3aa464f (patch) | |
| tree | af76d5470812e2cee9f761332d94bbaf46006fde /components/drivers/include | |
| parent | d8a42139bfa4aabd2b343795dcc85cff8c21aa66 (diff) | |
[device][spi] 修复 rt_spi_sendrecv8/16 收发不同时的问题
rt_spi_send_then_recv是先发再等待一个独立的消息接收
rt_spi_transfer是收发同时进行
rt_spi_sendrecv8/16应使用rt_spi_transfer而不是rt_spi_send_then_recv
Diffstat (limited to 'components/drivers/include')
| -rw-r--r-- | components/drivers/include/drivers/spi.h | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/components/drivers/include/drivers/spi.h b/components/drivers/include/drivers/spi.h index 7f7c2cedcc..8ba269f94b 100644 --- a/components/drivers/include/drivers/spi.h +++ b/components/drivers/include/drivers/spi.h @@ -237,10 +237,6 @@ rt_err_t rt_spi_send_then_send(struct rt_spi_device *device, const void *send_buf2, rt_size_t send_length2); -rt_err_t rt_spi_sendrecv16(struct rt_spi_device *device, - rt_uint16_t senddata, - rt_uint16_t *recvdata); - /** * This function transmits data to SPI device. * @@ -256,6 +252,14 @@ rt_ssize_t rt_spi_transfer(struct rt_spi_device *device, void *recv_buf, rt_size_t length); +rt_err_t rt_spi_sendrecv8(struct rt_spi_device *device, + rt_uint8_t senddata, + rt_uint8_t *recvdata); + +rt_err_t rt_spi_sendrecv16(struct rt_spi_device *device, + rt_uint16_t senddata, + rt_uint16_t *recvdata); + /** * This function transfers a message list to the SPI device. * @@ -282,16 +286,6 @@ rt_inline rt_size_t rt_spi_send(struct rt_spi_device *device, return rt_spi_transfer(device, send_buf, RT_NULL, length); } -rt_inline rt_uint8_t rt_spi_sendrecv8(struct rt_spi_device *device, - rt_uint8_t data) -{ - rt_uint8_t value = 0; - - rt_spi_send_then_recv(device, &data, 1, &value, 1); - - return value; -} - /** * This function appends a message to the SPI message list. * |
