Xmega: Работа с SD картой

    Вот небольшой пример того, как работать с SD-картой через SPI в Xmega. Чтобы управлять SD-картой, я использовал библиотеку Roland Riegel и адаптировал ее для своих целей.
    Использование SD карт найдет огромное количество применений в ваших проектах.
    Самым простым решением всех этих проблем является SD-карта или Micro SD-карта. При размере менее одного см вы уже можете разместить несколько ГБ данных. Небольшие размеры и низкая цена позволяют использовать такую ​​карту в большинстве приложений.
    Более подробную информацию и помощь для библиотеки Xmega SD card или информацию о решении проблем можно найти на форуме.
    Характеристики:
    - низкоуровневые MMC, SD и SDHC процедуры чтения / записи
    - поддержка таблицы разделов
    - простая реализация чтения / записи FAT16 / FAT32

    В приведенном здесь примере последовательно обрабатываются следующие пункты:
- открываем SD-карту
- считывает информацию SD-карты
- создайте строку для имени файла и тестового содержимого.
- создать новый файл с соответствующим именем
- открыть, записать и закрыть файл
- прочитайте каталог SD-карты
    Все данные отправляются через USB, т.е. UART D0 на контроллер через компьютер. Результат может быть проверен с помощью терминальной программы.
#include "avr_compiler.h"
#include "clksys_driver.h"
#include "usart_driver.h"
#include "sdcard_driver.h"
...
 
//####################################### main
int main (void) 
{
initialisierung();// Load controller setup
 
//############################ SD Card 
usart_puts(&USARTD0_data,"\r");
sd_card_open();
 
usart_puts(&USARTD0_data,"\r");
sd_get_disk_info();
 
usart_puts(&USARTD0_data,"\r");
char filename[20];
char filetext[200];
strcpy( filename, "testfile1234.txt" );
strcpy( filetext,  "Das ist der ertse versuch eine SD karte zu beschreiben.\r\n \\
     Zahlen: 0123456789\r\n \\
     Zeichen !§$%&/()=?\r\n \\
    ABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n");
 
sd_file_new(filename);
sd_file_open(filename);
sd_file_write(filetext);
sd_file_close();
 
usart_puts(&USARTD0_data,"\r");
sd_get_Directory();
 
while(1) 
{          
}                                   
}
    Blogger Comment
    Facebook Comment

0 коммент.:

Отправить комментарий