|
|
 |
Ответов
|
Feb 20 2018, 09:56
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 1-03-13
Пользователь №: 75 850

|
А как это можно победить?
|
|
|
|
|
Feb 20 2018, 10:33
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(alexey123_45 @ Feb 20 2018, 12:56)  А как это можно победить? Как победить - не знаю. Я сделал костыль: в функции "записать сектор" смотрю, если перед этим была операция чтения, то выжидаю некую паузу. Выше слегка наврал: проблема происходит после запись-чтение-запись. Если сделать запись-чтение-пауза-запись, то все ок. Код int SDIO_Read(DWORD sector, BYTE *buf, const int buf_size, const void *p, tSDIO_CALLBACK *cb) { ... sdio_last_rd = 1; ... }
int SDIO_Write(DWORD sector, BYTE *buf, const int buf_size, const void *p, tSDIO_CALLBACK *cb) { ... if(sdio_last_rd) { sdio_last_rd = 0; for(i = 0; i < 500; i++) SDIO_Delay(); } ... }
|
|
|
|
|
Mar 16 2018, 02:06
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 3-07-11
Пользователь №: 66 028

|
Цитата(adnega @ Feb 20 2018, 13:33)  Как победить - не знаю. Я сделал костыль: в функции "записать сектор" смотрю, если перед этим была операция чтения, то выжидаю некую паузу. Выше слегка наврал: проблема происходит после запись-чтение-запись. Если сделать запись-чтение-пауза-запись, то все ок. А как у вас запись чтение происходит ? одним блоком или мультиблочно? У меня похожая проблема(на SDIO), посекторно пишет считывает, без проблем(пробовал всякие комбинации R-W-R), как только начал использовать FAT сразу повисла, вот задумался если, переделать на мультипольный вариант даже для 1 сектора, и гнать в конце команду CMD12, что нибудь измениться или нет.
|
|
|
|
|
Mar 16 2018, 06:29
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(pokk @ Mar 16 2018, 05:06)  А как у вас запись чтение происходит ? одним блоком или мультиблочно? У меня похожая проблема(на SDIO), посекторно пишет считывает, без проблем(пробовал всякие комбинации R-W-R), как только начал использовать FAT сразу повисла, вот задумался если, переделать на мультипольный вариант даже для 1 сектора, и гнать в конце команду CMD12, что нибудь измениться или нет. Использую CMD18_READ_MULTIPLE_BLOCK + CMD12_STOP_TRANSMISSION для чтения, и ACMD23_SET_WR_BLK_ERASE_COUNT + CMD25_WRITE_MULTIPLE_BLOCK + CMD12_STOP_TRANSMISSION для записи. Перед и после операций - CMD13_SEND_STATUS.
|
|
|
|
Сообщений в этой теме
alexey123_45 проблемы с SDHC Feb 20 2018, 06:36 adnega Цитата(alexey123_45 @ Feb 20 2018, 09:36)... Feb 20 2018, 06:44 Grape Цитата(adnega @ Feb 20 2018, 09:44) Не зн... Feb 21 2018, 09:52  adnega Цитата(Grape @ Feb 21 2018, 12:52) Правил... Feb 21 2018, 11:05 alexey123_45 Т.е. попробовать снизить частоту записи? Да,действ... Feb 20 2018, 06:52 adnega Цитата(alexey123_45 @ Feb 20 2018, 09:52)... Feb 20 2018, 09:33 картошка Цитата(alexey123_45 @ Feb 20 2018, 09:36)... Feb 20 2018, 12:40 adnega Цитата(картошка @ Feb 20 2018, 15:40) Про... Feb 20 2018, 12:46  картошка Цитата(adnega @ Feb 20 2018, 15:46) В коп... Feb 20 2018, 13:04   adnega Цитата(картошка @ Feb 20 2018, 16:04) Изв... Feb 20 2018, 14:49 AVI-crak Цитата(alexey123_45 @ Feb 20 2018, 12:36)... Feb 20 2018, 16:46 adnega Цитата(AVI-crak @ Feb 20 2018, 19:46... Feb 20 2018, 17:30  AVI-crak Это так, но при длительной записи - встроенный в к... Feb 20 2018, 23:06 alexey123_45 А какая необходима минимальная пауза? Feb 22 2018, 06:19 adnega Цитата(alexey123_45 @ Feb 22 2018, 09:19)... Feb 22 2018, 07:09 alexey123_45 Понятно, спасибо. Feb 22 2018, 07:13
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|