roboforum.ru

Технический форум по робототехнике.

CVAVR V2.04.4a и MMC/SD

CVAVR V2.04.4a и MMC/SD

TrashVigor » 16 янв 2010, 21:56

Кто нибудь прикручивал встроенные билиотеки MMC/SD карт в CVAR 2.04? Че то на инициализации заглючивает в Proteusе.

Re: CVAVR V2.04.4a и MMC/SD

vvk74 » 17 янв 2010, 01:39

У меня работает, правде не в протеусе, а в железе на atmega644

Re: CVAVR V2.04.4a и MMC/SD

avr123.nm.ru » 17 янв 2010, 02:08

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

Re: CVAVR V2.04.4a и MMC/SD

vvk74 » 17 янв 2010, 21:21

Схемы я очень редко рисую :oops:, вот мой тестовый проектик работает с картой SD Canon 16 MB в комлекте с фотоаппаратом была, подключение почти как в примере из хелпа (только без согласования уровней т.к. МК запитан от 3-х вольт) программа создает файл и записывает в него данные получаемые с порта С.
Вложения
fat.rar
(268.18 КиБ) Скачиваний: 49

Re: CVAVR V2.04.4a и MMC/SD

TrashVigor » 17 янв 2010, 21:55

vvk74 Большое спасибо!!! Будем разбираться

Re: CVAVR V2.04.4a и MMC/SD

avr123.nm.ru » 18 янв 2010, 08:37

vvk74 писал(а):Схемы я очень редко рисую


А схема текстом прекрасно рисуется - пример в примерах CVAVR для карточек.

Спасибо за пример.

Re: CVAVR V2.04.4a и MMC/SD

-= Александр =- » 31 янв 2010, 22:42

Так уж слоилось, что на SPI кроме карты памяти у меня висят еще девайсы и работают они в другом режиме. Отсюда вопрос: если я меняю режим SPI, но с картой в этот момент не работаю - надо ли мне запускать из таймера disk_timerproc()? Ине сглючит ли его от того что режим SPI не тот? На время работы с картой я конечно буду режим обратно менять...

Re: CVAVR V2.04.4a и MMC/SD

vvk74 » 01 фев 2010, 21:02

КМК надо закрывать сесию (f_mount(0, NULL);), а потом заново подключатся, потому как если SD не пинать постоянно она в спячку уйдет.

Re: CVAVR V2.04.4a и MMC/SD

blindman » 02 фев 2010, 07:53

disk_timerproc() предназначена для отсчета таймаутов, и еще в ней проверяются наличие карты и защита от записи. Соответственно, если с картой обмен не ведется, то и вызывать необязательно

Re: CVAVR V2.04.4a и MMC/SD

-= Александр =- » 02 фев 2010, 14:36

Понятно. При кратковременном обращении к другим девайсам карта не отваливалась. Но disk_timerproc() я на всякий случай глушил на это время - а то мало ли что он может натворить. Для себя решил что буду вычитывать сразу много инфы и отключать диск. Вопрос с режимом шины решил "в лоб" - переписал ПЛИСы чтоб они в том-же режиме что и карта работали. Так мороки меньше.

Re: CVAVR V2.04.4a и MMC/SD

HarryStar » 03 дек 2010, 15:12

Подниму старую тему, т.к. столкнулся с те ми же проблемами.
CVAVR 2.04.4а стандарт
МК mega16L
напряжение 3.3В
Тактирование 1Мц встроенная RC

Нужно читать/писать файлы с карты.

Начал с малого. Все подключил как написано в описании встроенной библиотеки.
Разрешаю прерывания, вызываю функцию disk_status=disk_initialize(0); как в примере.
Больше ничего не делаю, spi и порты я так понял она сама должна настроить.

Она должна вернуть статус, в т.ч. - "нет карты"
Но из этой функции прога не возвращается.
Есть карта, нет карты - пофиг.

В каком направлении копать? Перерыл кучу инфы уже.

Re: CVAVR V2.04.4a и MMC/SD

HarryStar » 04 дек 2010, 12:47

Разобрался.
Оказывается вызов disk_timerproc(); это все же обязательная часть.
Была еще проблема с памятью. в 1кб ОЗУ ничего не лезет. Перешел на мегу 32.

Все работает, файлы читаются.


Rambler\'s Top100 Mail.ru counter