реклама на сайте
подробности

 
 
> Вопрос по FatFs от мистера ChaN'а
kanzler
сообщение Nov 22 2007, 19:11
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 340
Регистрация: 27-02-06
Из: Екатеринбург
Пользователь №: 14 728



Прикрутил FatFs на ATmega128. В примерах данных от мистера ChaN'а не очень понятно вот что. В программе описываю структуру типа FATFS, но ни как не могу найти где он заносит данные в эту структуру. Прошу уважаемые коллеги, разобраться с этим вопросом.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AlanDrakes
сообщение Mar 17 2017, 15:24
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 101
Регистрация: 2-05-15
Из: Россия, Омск
Пользователь №: 86 474



Обработчики функций библиотеки дописывали сами?

Попробую привести пример своих, может поможет чем.
Сразу поясню: сталкивался с какими-то весёлыми косяками при работе с несколькими картами (всеми имевшимися на тот момент в наличии), код привёл к тому виду, в котором он сейчас. На тот момент всё работало стабильно, читалось, писалось.
Попробуйте, может и заработает.

CODE
DRESULT disk_read (
uint8_t pdrv, /* Physical drive nmuber to identify the drive */
uint8_t *buff, /* Data buffer to store read data */
DWORD sector, /* Sector address in LBA */
UINT count /* Number of sectors to read */
)
{
<...>
//case MMC :
//// translate the arguments here

//result = MMC_disk_read(buff, sector, count);
result = 0;
if (count == 1) {
result = SPI_SD_READ_SECTOR_buf(sector, m_buf);
} else {
while (count>0)
{
result = SPI_SD_READ_SECTOR_buf(sector, m_buf);
count--;
sector++;
};
};
return result;
<...>


uint8_t SPI_SD_READ_SECTOR_buf(uint32_t Sector, uint8_t* buff) {
uint16_t i;
uint32_t calc_Addr;
SPI_Select_CARD();
if (!(sd_raw_card_type & (1 << SD_RAW_SPEC_SDHC))) // Если карта НЕ является SDHC - добавляем 9 бит к адресу.
{
// !SDHC
calc_Addr = ((Sector+249) << 9); // DaFaq?! But will not work in other case.
} else {
// SDHC
calc_Addr = (Sector+2048); // And one more DAFAQ!
};
i = SPI_SD_SendCMD(CMD_READ_SINGLE_BLOCK, calc_Addr); // Передаём вычисленный адрес карте
card_answ_at_read = i; // DEBUUUUUG!
if(i)
{
SPI_UnSelect_CARD(); // Отпускаем карту
return R_ERR; // Возвращаем ошибку. =(
};
while (SPI_Rd_Byte() != 0xFE); // Ждём начала блока. Чаще всего до 30-40 итераций.
for (i=0; i<512; i++) // Читаем байт и заносим его в буфер (512 байт)
{
*buff = SPI_Rd_Byte();
buff++;
};
SPI_Rd_Byte(); // CRC
SPI_Rd_Byte(); // CRC (2) // IGNORED T_T
/* deaddress card */
SPI_UnSelect_CARD(); // Отпускаем карту (шину)
SPI_Rd_Byte(); // Тактирование.
return R_OK;
};



ЗЫ: Обратите внимание на комментарии около странных переводов значений секторов. Особенно, +249
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- kanzler   Вопрос по FatFs от мистера ChaN'а   Nov 22 2007, 19:11
- - Сергей Борщ   Цитата(kanzler @ Nov 22 2007, 21:11) В пр...   Nov 22 2007, 19:32
|- - kanzler   Цитата(Сергей Борщ @ Nov 23 2007, 00:32) ...   Nov 23 2007, 02:31
|- - Сергей Борщ   Цитата(kanzler @ Nov 23 2007, 04:31) Так ...   Nov 23 2007, 09:59
||- - kanzler   Цитата(Сергей Борщ @ Nov 23 2007, 14:59) ...   Nov 23 2007, 16:49
|||- - zltigo   Цитата(kanzler @ Nov 23 2007, 18:49) В эт...   Nov 23 2007, 20:52
||||- - kanzler   Цитата(zltigo @ Nov 24 2007, 01:52) 999 п...   Nov 24 2007, 06:27
||||- - zltigo   Цитата(kanzler @ Nov 24 2007, 08:27) Посм...   Nov 24 2007, 07:51
||||- - kanzler   Цитата(zltigo @ Nov 24 2007, 12:51) Расст...   Nov 24 2007, 08:15
||||- - Сергей Борщ   Цитата(kanzler @ Nov 24 2007, 10:15) Если...   Nov 24 2007, 08:22
|||||- - kanzler   Цитата(Сергей Борщ @ Nov 24 2007, 13:22) ...   Nov 24 2007, 08:29
||||- - zltigo   Цитата(kanzler @ Nov 24 2007, 10:15) Как ...   Nov 24 2007, 08:29
||||- - kanzler   Цитата(zltigo @ Nov 24 2007, 13:29) Вы эт...   Nov 24 2007, 08:35
||||- - zltigo   Цитата(kanzler @ Nov 24 2007, 10:35) f_mo...   Nov 24 2007, 08:48
|||||- - kanzler   Цитата(zltigo @ Nov 24 2007, 13:48) Это з...   Nov 24 2007, 09:21
|||||- - zltigo   Цитата(kanzler @ Nov 24 2007, 11:21) Дела...   Nov 24 2007, 09:37
||||- - Сергей Борщ   Цитата(kanzler @ Nov 24 2007, 10:35) Со с...   Nov 24 2007, 09:36
|||- - Hasky   [quote name='kanzler' date='Nov 23 200...   Jun 30 2009, 07:22
||- - kostik2   Цитата(Сергей Борщ @ Nov 23 2007, 12:59) ...   Apr 1 2009, 17:02
||- - Сергей Борщ   Цитата(kostik2 @ Apr 1 2009, 20:02) Может...   Apr 1 2009, 19:45
||- - _Pasha   Цитата(kostik2 @ Apr 1 2009, 20:02) пока ...   Apr 2 2009, 08:02
|- - prottoss   Цитата(kanzler @ Nov 23 2007, 09:31) Так ...   Nov 23 2007, 13:30
- - GDI   Cделайте map-файл и посмотрите какие размеры стек...   Nov 23 2007, 07:20
- - kanzler   Огромное всем спасибо!   Nov 24 2007, 09:58
- - Непомнящий Евгений   У меня тоже вопрос по FatFS. Рассматриваю возможно...   Nov 24 2007, 13:01
|- - zltigo   Цитата(Непомнящий Евгений @ Nov 24 2007, 15...   Nov 24 2007, 13:14
|- - Сергей Борщ   Цитата(Непомнящий Евгений @ Nov 24 2007, 15...   Nov 24 2007, 13:34
- - Непомнящий Евгений   Цитата(Сергей Борщ @ Nov 24 2007, 16:34) ...   Nov 24 2007, 14:00
|- - zltigo   Цитата(Непомнящий Евгений @ Nov 24 2007, 16...   Nov 24 2007, 14:35
- - Непомнящий Евгений   to zltigo - по моему, мы говорим о разных моделях....   Nov 24 2007, 14:39
|- - zltigo   Цитата(Непомнящий Евгений @ Nov 24 2007, 16...   Nov 24 2007, 14:52
|- - Непомнящий Евгений   Цитата(zltigo @ Nov 24 2007, 17:52) На мо...   Nov 24 2007, 15:00
|- - zltigo   Цитата(Непомнящий Евгений @ Nov 24 2007, 17...   Nov 24 2007, 15:12
- - alux   В версии ff006 неправильно работает fprintf: Кодvo...   Mar 20 2009, 09:46
- - Andy Mozzhevilov   смотрели здесь? http://elm-chan.org/fsw/ff/patches...   Mar 20 2009, 16:20
|- - artemm   Скажите, если я пишу отак: ЦитатаFATFS fs; FIL fds...   Mar 31 2009, 12:11
|- - Andy Mozzhevilov   Цитата(artemm @ Mar 31 2009, 17:11) файло...   Mar 31 2009, 14:25
- - alux   Вопрос снимается. Проблема была связана с нехватко...   Mar 21 2009, 06:41
- - alux   В симуляторе проверил fprintf , только убрал обращ...   Mar 23 2009, 08:29
|- - Сергей Борщ   Цитата(alux @ Mar 23 2009, 10:29) Видимо,...   Mar 23 2009, 08:42
||- - Andy Mozzhevilov   Цитата(Сергей Борщ @ Mar 23 2009, 14:42) ...   Mar 23 2009, 09:21
||- - alux   согласен. Тогда почему 6-ой аргумент не выводит? П...   Mar 23 2009, 09:27
||- - Сергей Борщ   Цитата(alux @ Mar 23 2009, 11:27) согласе...   Mar 23 2009, 11:23
|- - Genadi Zawidowski   Цитата(alux @ Mar 23 2009, 11:29) В симул...   Mar 25 2009, 08:52
|- - HARMHARM   Цитата(Genadi Zawidowski @ Mar 25 2009, 10...   Mar 25 2009, 11:10
|- - Genadi Zawidowski   Цитата(HARMHARM @ Mar 25 2009, 15:10) Нич...   Apr 1 2009, 17:49
- - Akakiy   Обновилась FatFS R0.07 ЦитатаR0.07, Apr 01, 2009 ...   Apr 4 2009, 15:28
- - piz2383   У меня вопрос новичка к вам. Если с помощью FATFs ...   Aug 16 2009, 15:42
- - VDLab   Если ее не форматировать средствами fatfs, то кака...   Aug 16 2009, 15:47
|- - Deddy85   Цитата(VDLab @ Aug 16 2009, 18:47) Если е...   Sep 21 2009, 11:23
- - piz2383   Я имею ввиду, у меня есть голая флешка, отформатир...   Aug 16 2009, 15:55
|- - AHTOXA   Цитата(piz2383 @ Aug 16 2009, 21:55) Пото...   Aug 16 2009, 17:31
|- - VDLab   Цитата(piz2383 @ Aug 16 2009, 18:55) Я им...   Aug 16 2009, 18:01
|- - Grape   Цитата(VDLab @ Aug 16 2009, 22:01) Если в...   Aug 17 2009, 13:09
- - VDLab   Ну такой емкости карточки пока еще не так распрост...   Aug 17 2009, 13:37
- - Qwertty   Бывают и другие причины выбирать FAT32 вместо FAT1...   Aug 17 2009, 14:17
- - VDLab   Ну это легко обходится. Просто не ложите файлы в к...   Aug 17 2009, 18:18
- - goodwin   f_mkfs   Sep 21 2009, 11:39
- - Арк К   Не смог пока разобраться с такой проблемой. Есть р...   Nov 19 2009, 07:17
|- - Арк К   Очень похоже на то, что Windows для коротких имён ...   Nov 19 2009, 08:32
|- - AHTOXA   Цитата(Арк К @ Nov 19 2009, 12:17) Кто, ч...   Nov 19 2009, 09:24
|- - Арк К   Цитата(AHTOXA @ Nov 19 2009, 12:24) Надо ...   Nov 19 2009, 12:22
|- - zltigo   Цитата(Арк К @ Nov 19 2009, 15:22) ZOC ка...   Nov 19 2009, 12:30
|- - Арк К   Цитата(zltigo @ Nov 19 2009, 15:30) Да ну...   Nov 19 2009, 19:11
- - ARV   Вопрос по Petit FatFs. Для отладки использую Prot...   Mar 5 2017, 20:53
- - AlanDrakes   А в железе пробовали отлаживать? Симулятор, конечн...   Mar 10 2017, 14:39
- - ARV   Делал и в железе - результат 100% тот же самый. И ...   Mar 14 2017, 18:31


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 02:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01471 секунд с 7
ELECTRONIX ©2004-2016