2009-07-20 3 views
1

Я подключаю SD-карту к ATmega128 с помощью EFSL. Карточка инициализируется, но я получаю сообщение об ошибке «Неизвестная ошибка 0xff (см. Sandisk docs p5-13)» ... на выходе последовательного порта.Форматирование символов на последовательном выходе!

Это еще не все, я использовал «sprintf» для создания строк, которые я показываю на последовательном порту. Удивительно, но я также получаю фактические символы форматирования, такие как «% 02d» на выходе! Я думаю, что мое приложение само сбой. Я могу дать исходный код, но он слишком большой. Если кто-то захочет посмотреть на него, я скопирую его сюда.

Я также проверил SANDISK И документы p5-13, но я не могу понять это ...

мне нужна помощь на этом ребята ... Пожалуйста, дайте мне знать, если кто-нибудь знает что-нибудь об этом Thanxs ...

+0

Думаю, вам стоит разделить это на два вопроса. Один для sprintf и один для проблемы с SD-картой. В обоих случаях, пожалуйста, разместите соответствующие фрагменты кода и ссылки на соответствующую документацию (схемы плат, «документы Sandisk» и т. Д.). – Gabe

+0

Я собирался ввести код здесь, но он слишком большой. Созданный файл .hex находится чуть выше 28kB. Но вы правы насчет 'sprintf', я серьезно думаю, что это проблема с 'sprintf' ... Есть идеи, почему sprintf сделает это? У кого еще возникла эта проблема ??? – 2009-07-20 13:30:49

ответ

1

Я случайно написал код для ATmega8 и написал собственную функцию printf, которая выводит на последовательный порт here.

Функция SerWrite - это ваша функция, которая передает массив последовательных портов без знака без знака.

#define SIZE_STATUS 80 

void ser_printf(const char *fmt, ...) { 
    va_list args; 
    uchar STATUS[SIZE_STATUS]; 
    va_start(args, fmt); 
    uchar s = (uchar) vsnprintf(STATUS, SIZE_STATUS, fmt, args); 
    va_end(args); 
    SerWrite(STATUS, s); 
} 
1

Не знаю как, но проблема была решена, когда я использовал другую карту. Я пробовал две карты на 1/2 ГБ с форматированием FAT32; оба не работали, но карта, которая работала, была 16-мегабайтной канонической картой с форматированием FAT12. Я пытаюсь понять это. Я отправлю ответ, если найду его, Спасибо всем, ребята ...

Смежные вопросы