mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Fix SPI read edges in spi_intr
Signed-off-by: Jeroen Domburg <jeroen@espressif.com>
This commit is contained in:
parent
1405fd1fef
commit
04f7d96623
@ -625,9 +625,9 @@ static void IRAM_ATTR spi_intr(void *arg)
|
|||||||
} else {
|
} else {
|
||||||
data=(uint32_t *)trans->tx_buffer;
|
data=(uint32_t *)trans->tx_buffer;
|
||||||
}
|
}
|
||||||
if (trans->rxlength < 8*32) {
|
if (trans->length < 8*32) {
|
||||||
//No need for DMA.
|
//No need for DMA.
|
||||||
for (int x=0; x < trans->rxlength; x+=32) {
|
for (int x=0; x < trans->length; x+=32) {
|
||||||
//Use memcpy to get around alignment issues for txdata
|
//Use memcpy to get around alignment issues for txdata
|
||||||
uint32_t word;
|
uint32_t word;
|
||||||
memcpy(&word, &data[x/32], 4);
|
memcpy(&word, &data[x/32], 4);
|
||||||
@ -656,7 +656,7 @@ static void IRAM_ATTR spi_intr(void *arg)
|
|||||||
host->hw->addr=trans->address & 0xffffffff;
|
host->hw->addr=trans->address & 0xffffffff;
|
||||||
}
|
}
|
||||||
host->hw->user.usr_mosi=(trans->tx_buffer==NULL)?0:1;
|
host->hw->user.usr_mosi=(trans->tx_buffer==NULL)?0:1;
|
||||||
host->hw->user.usr_miso=(trans->tx_buffer==NULL)?0:1;
|
host->hw->user.usr_miso=(trans->rx_buffer==NULL)?0:1;
|
||||||
|
|
||||||
//Call pre-transmission callback, if any
|
//Call pre-transmission callback, if any
|
||||||
if (dev->cfg.pre_cb) dev->cfg.pre_cb(trans);
|
if (dev->cfg.pre_cb) dev->cfg.pre_cb(trans);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user