@@ -25,7 +25,6 @@ uint8_t ArduinoSPI::interruptMask = 0;
25
25
uint8_t ArduinoSPI::interruptSave = 0 ;
26
26
27
27
static spi_event_t _spi_cb_event[13 ] = {SPI_EVENT_TRANSFER_ABORTED};
28
- static uint32_t timeout_ms = 1000 ;
29
28
30
29
ArduinoSPI::ArduinoSPI (spi_ctrl_t *g_spi_ctrl
31
30
,const spi_cfg_t *g_spi_cfg
@@ -177,10 +176,11 @@ uint8_t ArduinoSPI::transfer(uint8_t data) {
177
176
} else {
178
177
R_SPI_WriteRead (_g_spi_ctrl, &data, &rxbuf, 1 , SPI_BIT_WIDTH_8_BITS);
179
178
}
180
- while ((SPI_EVENT_TRANSFER_COMPLETE != _spi_cb_event[_cb_event_idx]) && timeout_ms)
179
+
180
+ for (auto const start = millis ();
181
+ (SPI_EVENT_TRANSFER_COMPLETE != _spi_cb_event[_cb_event_idx]) && (millis () - start < 1000 ); )
181
182
{
182
- timeout_ms--;
183
- delay (1 );
183
+ __NOP ();
184
184
}
185
185
if (SPI_EVENT_TRANSFER_ABORTED == _spi_cb_event[_cb_event_idx])
186
186
{
@@ -198,10 +198,11 @@ uint16_t ArduinoSPI::transfer16(uint16_t data) {
198
198
} else {
199
199
R_SPI_WriteRead (_g_spi_ctrl, &data, &rxbuf, 1 , SPI_BIT_WIDTH_16_BITS);
200
200
}
201
- while ((SPI_EVENT_TRANSFER_COMPLETE != _spi_cb_event[_cb_event_idx]) && timeout_ms)
201
+
202
+ for (auto const start = millis ();
203
+ (SPI_EVENT_TRANSFER_COMPLETE != _spi_cb_event[_cb_event_idx]) && (millis () - start < 1000 ); )
202
204
{
203
- timeout_ms--;
204
- delay (1 );
205
+ __NOP ();
205
206
}
206
207
if (SPI_EVENT_TRANSFER_ABORTED == _spi_cb_event[_cb_event_idx])
207
208
{
@@ -218,10 +219,11 @@ void ArduinoSPI::transfer(void *buf, size_t count) {
218
219
} else {
219
220
R_SPI_WriteRead (_g_spi_ctrl, buf, buf, count, SPI_BIT_WIDTH_8_BITS);
220
221
}
221
- while ((SPI_EVENT_TRANSFER_COMPLETE != _spi_cb_event[_cb_event_idx]) && timeout_ms)
222
+
223
+ for (auto const start = millis ();
224
+ (SPI_EVENT_TRANSFER_COMPLETE != _spi_cb_event[_cb_event_idx]) && (millis () - start < 1000 ); )
222
225
{
223
- timeout_ms--;
224
- delay (1 );
226
+ __NOP ();
225
227
}
226
228
if (SPI_EVENT_TRANSFER_ABORTED == _spi_cb_event[_cb_event_idx])
227
229
{
0 commit comments