parent
b1fab8942a
commit
1c81a6d220
|
@ -534,13 +534,17 @@ static rt_err_t swm_sdio_rxconfig(struct sdio_pkg *pkg, rt_uint32_t *buff, int s
|
||||||
{
|
{
|
||||||
struct rt_mmcsd_cmd *cmd = pkg->cmd;
|
struct rt_mmcsd_cmd *cmd = pkg->cmd;
|
||||||
struct rt_mmcsd_data *data = cmd->data;
|
struct rt_mmcsd_data *data = cmd->data;
|
||||||
|
int offset = 0;
|
||||||
for (uint32_t i = 0; i < data->blks; i++)
|
for (uint32_t i = 0; i < data->blks; i++)
|
||||||
{
|
{
|
||||||
|
offset = i* data->blksize / 4;
|
||||||
while ((SDIO->IF & SDIO_IF_BUFRDRDY_Msk) == 0)
|
while ((SDIO->IF & SDIO_IF_BUFRDRDY_Msk) == 0)
|
||||||
__NOP();
|
__NOP();
|
||||||
SDIO->IF = SDIO_IF_BUFRDRDY_Msk;
|
SDIO->IF = SDIO_IF_BUFRDRDY_Msk;
|
||||||
for (uint32_t j = 0; j < data->blksize / 4; j++)
|
for (uint32_t j = 0; j < data->blksize / 4; j++)
|
||||||
buff[j] = SDIO->DATA;
|
{
|
||||||
|
buff[offset + j] = SDIO->DATA;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return RT_EOK;
|
return RT_EOK;
|
||||||
}
|
}
|
||||||
|
@ -549,13 +553,15 @@ static rt_err_t swm_sdio_txconfig(struct sdio_pkg *pkg, rt_uint32_t *buff, int s
|
||||||
{
|
{
|
||||||
struct rt_mmcsd_cmd *cmd = pkg->cmd;
|
struct rt_mmcsd_cmd *cmd = pkg->cmd;
|
||||||
struct rt_mmcsd_data *data = cmd->data;
|
struct rt_mmcsd_data *data = cmd->data;
|
||||||
|
int offset = 0;
|
||||||
for (uint32_t i = 0; i < data->blks; i++)
|
for (uint32_t i = 0; i < data->blks; i++)
|
||||||
{
|
{
|
||||||
|
offset = i* data->blksize / 4;
|
||||||
while ((SDIO->IF & SDIO_IF_BUFWRRDY_Msk) == 0)
|
while ((SDIO->IF & SDIO_IF_BUFWRRDY_Msk) == 0)
|
||||||
__NOP();
|
__NOP();
|
||||||
SDIO->IF = SDIO_IF_BUFWRRDY_Msk;
|
SDIO->IF = SDIO_IF_BUFWRRDY_Msk;
|
||||||
for (uint32_t j = 0; j < data->blksize / 4; j++)
|
for (uint32_t j = 0; j < data->blksize / 4; j++)
|
||||||
SDIO->DATA = buff[j];
|
SDIO->DATA = buff[offset + j];
|
||||||
}
|
}
|
||||||
return RT_EOK;
|
return RT_EOK;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue