FDA (10.04.2009 11:36, просмотров: 356) ответил kostikp на т.е вы на SD записали какую-то прогу, которая считывает с FLASH(USB)данные И ТАКЖЕ ТУДА УСТАНОВИЛИ ДРАЙВЕРА ДЛЯ FLASH(USB) и потом с FLASH уж считываете по SPI данные ?
Брр! Я подключил SD-карту напрямую к микроконтроллеру через порт SPI. МК записывает на неё данные в виде файлов, которые затем скидываются на комп через стандартный карт-ридер. SD-карта мне нравится больше из-за того, что там практически нет асинхронных операций, т.е. тех, которые выполняются непредсказуемое время. При работе же с VNC1L приходится после выполнения каждой команды делать тайм-аут, иногда доходящий до 10 секунд!!! Всё зависит от конкретно используемой флешки.
А в случае с SD-картой всё просто - работает с ней как с обычным диском из-под обычного Си:
if (GetDriveInformation() != F_OK)
{
puts("Disk not mounted\r\n");
while (1) CLRWDT();
}
else
puts("Disk mounted\r\n");
result = fopen("FDA.TXT",F_WRITE);
if (result == F_OK)
{
puts("Create file FDA.TXT\r\n");
do
{
strcpy(buf,"DIMA");
if (fwrite(buf,4) != 4)
{
result = F_ERROR;
puts("Write ERROR\r\n");
}
else
{
result = F_OK;
puts("Write OK\r\n");
}
}
while (result != F_OK);
fclose();
}
Этот пример создаёт в корне SD-памяти файл FDA.TXT и записывает в него слово "DIMA".