Перейти к содержанию
bbh_blocked_dnftl

Dx Portal Fat Fs End Of File Раньше Времени


Рекомендуемые сообщения

В общем тут такое дело, считываю значит в буффер данные из wav файла, но при достижении адреса 33040 относительно начала файла, почему-то проверка на f_eof() оказывается положительной, как будто я достиг конца файла, как так ? Причем какой бы файл я не хотел считать - одно и тоже пишет. С чего это вдруг я мог достигнуть конца файла, когда это вовсе не конец ? http://forum.cxem.net/public/style_emoticons/default/unknw.gif  Может какие то макросы в ffconf есть, которые выдают такое вот ограничение ?

 

 

 

Вот код:

 

// прерывание по переполнению, ШИМISR(TIM0_OVF){if(temp <= BUF_SIZE){OCR0A = audiobuf[nAudioBufferIndex];nAudioBufferIndex++;}}if(mres) /// если произошла какая то ошибка при работе с файлом{PORTD.0 = 1;mres = f_open(&mfile,g_FileInfo[nFileIndex].szFileName,FA_OPEN_ALWAYS | FA_READ); // открываем файл// Стартуем таймер 8 битTCCR0A=(1< 33040 )}if(nAudioBufferIndex > BUF_SIZE){nAudioBufferIndex = 0;	}mres = f_lseek(&mfile,44+HALF_BUF*nHalfBuffers);switch (state){case 0:if (nAudioBufferIndex >= HALF_BUF){	mres = f_read(&mfile,&audiobuf[0], HALF_BUF, &bw);	 state = 1;	 nHalfBuffers++;	 if(bw < HALF_BUF)	 {	 // здесь тоже самое, как будто достигли конца файла	 }}break;case 1:if (nAudioBufferIndex < HALF_BUF){mres = f_read(&mfile,&audiobuf[HALF_BUF], HALF_BUF, &bw);state = 0;nHalfBuffers++;if(bw < HALF_BUF)	 {	 }}break;}	

 

Все выборки спокойно идут в OCR0A, но по достижении 33040 , звук обрывается, выдается EOF и все по новой стартует с начала файла.

Раздел: AVR

 

Читать дальше

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...