Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 19.05.2010, 12:50   #1
ColdStart
Senior Member
 
Аватар для ColdStart
 
Регистрация: 14.02.2010
Адрес: СССР
Возраст: 36
Сообщений: 118
Вес репутации: 100/41
ColdStart will become famous soon enoughColdStart will become famous soon enough
Question Проблемы с записью данных в файл на MicroSD [PIC32]

Значит так, использую стандарное Микрочиповское приложение MDD File System-SD Card, разъем MicroSD подключен к SPI2 модулю PIC32MX440F512H следующими сигналами: CS, SDI, SDO, SCK, и на всех этих четырех сигналах стоит подтяжка резисторов.

Вот примерно так выглядит мой модифицированный HardwareProfiles.h:
Код:
            #define SD_CS               PORTGbits.RG9
            // Description: SD-SPI Chip Select TRIS bit
            #define SD_CS_TRIS          TRISGbits.TRISG9
            // Description: SD-SPI Card Detect Input bit
            #define SD_CD               0 //PORTGbits.RG0
            // Description: SD-SPI Card Detect TRIS bit
            #define SD_CD_TRIS          TRISBbits.TRISB0

            // Description: SD-SPI Write Protect Check Input bit
            #define SD_WE               0 //PORTGbits.RG1
            // Description: SD-SPI Write Protect Check TRIS bit
            #define SD_WE_TRIS          TRISBbits.TRISB1
.
.
.
            // Description: The TRIS bit for the SCK pin
            #define SPICLOCK            TRISGbits.TRISG6
            // Description: The TRIS bit for the SDI pin
            #define SPIIN               TRISGbits.TRISG7
            // Description: The TRIS bit for the SDO pin
            #define SPIOUT              TRISGbits.TRISG8
а так выглядит мой код:
Код:
char sendBuffer[] = "This is test string 1";
FSFILE * pointer;
.
.
.
   while (!MDD_MediaDetect());

   // Initialize the library
   while (!FSInit());


   // Create a file
   pointer = FSfopen ("FILE1.TXT", "w");
    FSfwrite (sendBuffer, 1, 21, pointer);
FSfclose (pointer);
т.е. создаю файл и пишу туда строку... так вот файл то создается...но ничего туда не пишется!

после вызова функции FSfopen она возвращает NULL! и что интересно при этом создает пустой файл!

Если бы она при этом и не создавала файла было бы ясно что он не можетбыть создан по какой либо причине....но как же так выходит что файл успешно создается и при этом возвращается NULL?

есть какие идеи?

работал кто с этой библиотекой?
ColdStart вне форума   Ответить с цитированием
Старый 23.05.2010, 11:10   #2
ColdStart
Senior Member
 
Аватар для ColdStart
 
Регистрация: 14.02.2010
Адрес: СССР
Возраст: 36
Сообщений: 118
Вес репутации: 100/41
ColdStart will become famous soon enoughColdStart will become famous soon enough
По умолчанию Re: Проблемы с записью данных в файл на MicroSD [PIC32]

неужели никто с этой библиотекой не работал?

может какие другие посоветуете?...а вот кстати моя схема подключения SD карты...
Миниатюры
Clipboard02.jpg  
ColdStart вне форума   Ответить с цитированием
Старый 23.05.2010, 12:22   #3
FDAnew
Senior Member
 
Регистрация: 15.07.2009
Возраст: 39
Сообщений: 101
Вес репутации: 100/43
FDAnew will become famous soon enoughFDAnew will become famous soon enough
По умолчанию Re: Проблемы с записью данных в файл на MicroSD [PIC32]

Лично я в своё время написал модули для работы с FAT32. Реализовал их на чистом Си и спокойно использовал как на PIC, так и на AVR.

Разбираться в чужих кодах всегда непросто, да и не факт, что в будущем вылезут ещё какие-нибудь ошибки.
FDAnew вне форума   Ответить с цитированием
Старый 23.05.2010, 13:00   #4
ColdStart
Senior Member
 
Аватар для ColdStart
 
Регистрация: 14.02.2010
Адрес: СССР
Возраст: 36
Сообщений: 118
Вес репутации: 100/41
ColdStart will become famous soon enoughColdStart will become famous soon enough
По умолчанию Re: Проблемы с записью данных в файл на MicroSD [PIC32]

ну так ясное дело...сейчас на написание своего модуля времени нет совсем....а библиотека вроде как работает тока вот найти бы в чем проблема...

не не со схемой думаю точно....иначе вобще бы файл не записался....есть какие идеи?
ColdStart вне форума   Ответить с цитированием
Старый 23.05.2010, 13:03   #5
FDAnew
Senior Member
 
Регистрация: 15.07.2009
Возраст: 39
Сообщений: 101
Вес репутации: 100/43
FDAnew will become famous soon enoughFDAnew will become famous soon enough
По умолчанию Re: Проблемы с записью данных в файл на MicroSD [PIC32]

Да какие тут могут быть идеи? Глюк 100% программный. Единственное, что лично я могу Вам предложить - купить у меня за небольшое вознаграждение мои модули. Подробности лучше по почте.
FDAnew вне форума   Ответить с цитированием
Старый 23.05.2010, 13:34   #6
ColdStart
Senior Member
 
Аватар для ColdStart
 
Регистрация: 14.02.2010
Адрес: СССР
Возраст: 36
Сообщений: 118
Вес репутации: 100/41
ColdStart will become famous soon enoughColdStart will become famous soon enough
По умолчанию Re: Проблемы с записью данных в файл на MicroSD [PIC32]

"купить у меня за небольшое вознаграждение" ? т.е. я покупаю модули и получаю вознаграждение?

ладно шучю... я бы с удовольствием заплатил за хорошо проделанную работу да вот нет совсем средств.. глюк да ..похож на програмный придется с подробностями окунуться... в любом случае спасибо!!
ColdStart вне форума   Ответить с цитированием
Старый 24.05.2010, 01:19   #7
ColdStart
Senior Member
 
Аватар для ColdStart
 
Регистрация: 14.02.2010
Адрес: СССР
Возраст: 36
Сообщений: 118
Вес репутации: 100/41
ColdStart will become famous soon enoughColdStart will become famous soon enough
По умолчанию Re: Проблемы с записью данных в файл на MicroSD [PIC32]

единственное что как вы видите я также использую подтяжку на SCK...хотя на некоторых схемах я видел обходятся без нее... что думаете действительно ли стоит ставить подтяжку на SCK?
ColdStart вне форума   Ответить с цитированием
Старый 01.06.2010, 14:41   #8
ColdStart
Senior Member
 
Аватар для ColdStart
 
Регистрация: 14.02.2010
Адрес: СССР
Возраст: 36
Сообщений: 118
Вес репутации: 100/41
ColdStart will become famous soon enoughColdStart will become famous soon enough
По умолчанию Re: Проблемы с записью данных в файл на MicroSD [PIC32]

Ну, вобщем решена проблема. Дело было как в перепутанных #define... между модулем SPI1 и SPI2 а также немного отличающимеся версиями этой Микрочиповской библиотеки..

Пришлось подредактировать и переправить эти некоторые параметры. После этого все в работающем виде перевел в отдельный независимый проект, где уже никакие библиотеки извне подключать ненадо.

Работающий проект выкладываю...и что самое главное...абсолютно БЕСПЛАТНО!

И кстати с FAT32 данная библиотека тоже может работать...там гдето в коде должна быть директива для её включения...и по умолчанию она включена... если требуется уменьшить код и работать с небольшим количеством данных можно выключить поддержку FAT32.

P.S. на приведенной выше схеме показаны резисторы 47к, такое значение резисторов часто указывается в стандартных схемах по SD картам. А сама документация рекомендует от 10к до 100к.. Но на моей данной плате все заработало и с 4.7кОм. Однако на следующей плате установлю 47кОм.
Вложения
Тип файла: rar sd6.rar (238.8 Кб, 75 просмотров)
ColdStart вне форума   Ответить с цитированием
Старый 01.06.2010, 16:45   #9
Mahonja
Member
 
Регистрация: 14.05.2010
Сообщений: 74
Вес репутации: 114/39
Mahonja will become famous soon enoughMahonja will become famous soon enough
По умолчанию Re: Проблемы с записью данных в файл на MicroSD [PIC32]

Какой тип MicroSD?
Mahonja вне форума   Ответить с цитированием
Старый 01.06.2010, 21:09   #10
ColdStart
Senior Member
 
Аватар для ColdStart
 
Регистрация: 14.02.2010
Адрес: СССР
Возраст: 36
Сообщений: 118
Вес репутации: 100/41
ColdStart will become famous soon enoughColdStart will become famous soon enough
По умолчанию Re: Проблемы с записью данных в файл на MicroSD [PIC32]

В смысле какой тип? Ну обыкновенная MicroSD, работа в формате SPI. MicroSD по моему только одного типа бывает...это не MiniSD и не MMС.
ColdStart вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Присоветуйте тип и способ управления MOSFETом "верхнего" плеча dr_Sash Источники питания и силовая электроника 37 08.09.2012 18:50
подключение магнитолы Sergey1 Общетехнические вопросы 10 27.12.2007 22:39
Помогите, пожалуйста, найти ошибку в коде Катя Микроконтроллеры других производителей 26 08.12.2007 14:58
проблемка с PIC16F628A bereg_ok Продукция MICROCHIP 72 07.09.2007 11:00
У кого есть схема сохранение данных на винт через сетку (SAN). АлександрС Общетехнические вопросы 9 07.08.2007 16:23


Часовой пояс GMT +3, время: 18:00.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot