реклама на сайте
подробности

 
 
> AT91SAM7A3 board и MMC
subver
сообщение Apr 17 2006, 07:31
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 4-06-05
Из: Омск
Пользователь №: 5 726



Здравствуйте.
Такая проблема: не удается запустить интерфейс MCI процессора.
Вот код:

Код
  AT91F_MCI_CfgPIO();
  AT91F_MCI_CfgPMC();
  AT91C_BASE_MCI->MCI_CR = AT91C_MCI_MCIDIS|AT91C_MCI_PWSDIS;
  AT91C_BASE_MCI->MCI_CR = AT91C_MCI_SWRST;
  AT91C_BASE_MCI->MCI_MR = 255;
  AT91C_BASE_MCI->MCI_DTOR = AT91C_MCI_DTOR_1MEGA_CYCLES;
  AT91C_BASE_MCI->MCI_SDCR = 0;
  AT91C_BASE_MCI->MCI_IDR = 0xffffffff;
  AT91C_BASE_MCI->MCI_CR = AT91C_MCI_MCIEN;


  while(!(AT91C_BASE_MCI->MCI_SR & AT91C_MCI_CMDRDY));
  AT91C_BASE_MCI->MCI_ARGR = 0;
  AT91C_BASE_MCI->MCI_CMDR = AT91C_MCI_OPDCMD | 0;
  while(!(AT91C_BASE_MCI->MCI_SR & AT91C_MCI_CMDRDY));
  AT91C_BASE_MCI->MCI_ARGR = 0;
  AT91C_BASE_MCI->MCI_CMDR = AT91C_MCI_OPDCMD | AT91C_MCI_RSPTYP_48 | 0x01;
  while(!(AT91C_BASE_MCI->MCI_SR & AT91C_MCI_CMDRDY));
  AT91C_BASE_MCI->MCI_ARGR = 0;
  AT91C_BASE_MCI->MCI_CMDR = AT91C_MCI_OPDCMD | AT91C_MCI_RSPTYP_136|0x02;
  while(!(AT91C_BASE_MCI->MCI_SR & AT91C_MCI_CMDRDY));
  CID[0] = AT91C_BASE_MCI->MCI_RSPR[0];
  CID[1] = AT91C_BASE_MCI->MCI_RSPR[0];
  CID[2] = AT91C_BASE_MCI->MCI_RSPR[0];
  CID[3] = AT91C_BASE_MCI->MCI_RSPR[0];


Код выполняется, но после выолнения команды 0x02 взводится флаг Response Time-out Error и CID карты прочитать не удается. Карта 100% рабочая,в карт-ридере читается на ура.

Как можно побороть?
Если можно, то с примером кода. С АРМом только начал работать.
Спасибо.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- subver   AT91SAM7A3 board и MMC   Apr 17 2006, 07:31


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016