Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Работал и кто по рекомендациям AN10406 с SD?

Отправлено misyachniy 16 ноября 2007 г. 17:39


Упирается большой проект не хочет портироватся с GCC в IAR.
Чтение FAT успешно происходит. Контроль CRC добавил.
Но данные похоже не корректно читает :-(
Посмотрел AN10406, какие-то не понятные манипуляции при вычислении адреса


int mmc_read_block(WORD block_number)
{
WORD Checksum;
WORD varh,varl;
IOCLR0 = SPI_SEL; /* clear SPI SSEL */
varl=((block_number&0x003F)<<9);
varh=((block_number&0xFFC0)>>7);
/* send MMC CMD17(READ_SINGLE_BLOCK) to read the data from MMC card */
MMCCmd[0] = 0x51;
/* high block address bits, varh HIGH and LOW */
MMCCmd[1] = varh >> 0x08;
MMCCmd[2] = varh & 0xFF;
/* low block address bits, varl HIGH and LOW */
MMCCmd[3] = varl >> 0x08;
MMCCmd[4] = varl & 0xFF;
/* checksum is no longer required but we always send 0xFF */
MMCCmd[5] = 0xFF;
SPI_Send(MMCCmd, MMC_CMD_SIZE );

Вызывается функция по моему корректно


/* write, read back, and compare the complete 64KB on the MMC
* card each block is 512 bytes, the total is 512 * 128 */
for ( BlockNum = 0; BlockNum < MAX_BLOCK_NUM; BlockNum++ )

Есть какие либо соображения?



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 90:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru