summaryrefslogtreecommitdiff
path: root/bsp/renesas
diff options
context:
space:
mode:
authorguo <[email protected]>2023-06-09 06:22:59 +0800
committerGitHub <[email protected]>2023-06-09 06:22:59 +0800
commit3a7546671a69c83a5fd5756ebefa7a64906b99e6 (patch)
treedc11c71797900592208520ed09ae62bb4ece56ca /bsp/renesas
parent0b6f7743f142daff066d14b99b85a60eb0e8a4a0 (diff)
[bsp/renesas] drv_sci_spi.c add timeout. (#7632)
Diffstat (limited to 'bsp/renesas')
-rw-r--r--bsp/renesas/libraries/HAL_Drivers/drv_sci_spi.c60
1 files changed, 39 insertions, 21 deletions
diff --git a/bsp/renesas/libraries/HAL_Drivers/drv_sci_spi.c b/bsp/renesas/libraries/HAL_Drivers/drv_sci_spi.c
index 6609e53d2d..d747e45bdc 100644
--- a/bsp/renesas/libraries/HAL_Drivers/drv_sci_spi.c
+++ b/bsp/renesas/libraries/HAL_Drivers/drv_sci_spi.c
@@ -106,35 +106,53 @@ SCI_SPIx_CALLBACK(9);
rt_event_recv(event, \
RA_SCI_SPI##n##_EVENT, \
RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, \
- RT_WAITING_FOREVER, \
+ rt_tick_from_millisecond(1000), \
&recved);
static rt_err_t ra_wait_complete(rt_event_t event, const char bus_name[RT_NAME_MAX])
{
rt_uint32_t recved = 0x00;
+ rt_err_t ret = RT_EOK;
switch (bus_name[4])
{
- case '0':
- return SCI_SPIx_EVENT_RECV(0);
- case '1':
- return SCI_SPIx_EVENT_RECV(1);
- case '2':
- return SCI_SPIx_EVENT_RECV(2);
- case '3':
- return SCI_SPIx_EVENT_RECV(3);
- case '4':
- return SCI_SPIx_EVENT_RECV(4);
- case '5':
- return SCI_SPIx_EVENT_RECV(5);
- case '6':
- return SCI_SPIx_EVENT_RECV(6);
- case '7':
- return SCI_SPIx_EVENT_RECV(7);
- case '8':
- return SCI_SPIx_EVENT_RECV(8);
- case '9':
- return SCI_SPIx_EVENT_RECV(9);
+ case '0':
+ ret = SCI_SPIx_EVENT_RECV(0);
+ break;
+ case '1':
+ ret = SCI_SPIx_EVENT_RECV(1);
+ break;
+ case '2':
+ ret = SCI_SPIx_EVENT_RECV(2);
+ break;
+ case '3':
+ ret = SCI_SPIx_EVENT_RECV(3);
+ break;
+ case '4':
+ ret = SCI_SPIx_EVENT_RECV(4);
+ break;
+ case '5':
+ ret = SCI_SPIx_EVENT_RECV(5);
+ break;
+ case '6':
+ ret = SCI_SPIx_EVENT_RECV(6);
+ break;
+ case '7':
+ ret = SCI_SPIx_EVENT_RECV(7);
+ break;
+ case '8':
+ ret = SCI_SPIx_EVENT_RECV(8);
+ break;
+ case '9':
+ ret = SCI_SPIx_EVENT_RECV(9);
+ break;
+ default:
+ break;
+ }
+ if (ret != RT_EOK)
+ {
+ LOG_D("%s ra_wait_complete failed!", bus_name);
+ return ret;
}
return -RT_EINVAL;
}