Перейти к содержанию
    

TWI на AT91SAM7xxx

Может кто-нибудь поделится примером инициализации и работы по I2C? Перехожу с AVR на ARM и что-то никак не могу победить I2C на ARM. Пытаюсь читать из DS1307...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

void BOARD_TWI_CONFIG (void )//SAM7S64-256

{

(*AT91C_PMC_PCER) |= (0x1<<TWI);

(*AT91C_PIOA_ASR) |= (0x01<<25 | 0x01<<26) ; // periphAEnable;

(*AT91C_PIOA_PDR) |= (0x1<<25 | 0x1<<26) ; // Set in Periph mode

(*AT91C_PIOA_PPUDR) |= (0x1<<25 | 0x1<<26) ; // Pull-up disable

(*AT91C_PIOA_MDER ) |= (0x1<<25 | 0x1<<26) ; // open drain

(*AT91C_TWI_CR) = (0x1<<7);// TWI RESET

(*AT91C_TWI_CR) = (AT91C_TWI_MSEN/* | AT91C_TWI_SVDIS*/);// TWI MASTER ENABLE

(*AT91C_TWI_CWGR ) = (0x22<<0 | 0x22<<8 | 0x01<<16); //for 100kHz

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

(*AT91C_PIOA_ASR) |= (0x01<<25 | 0x01<<26) ; // periphAEnable;

Что-то я не совсем понял - TWI вроде бы мэпится на PA3/PA4?

Или тут какой-то трюк?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

(*AT91C_PIOA_ASR) |= (0x01<<25 | 0x01<<26) ; // periphAEnable;

Что-то я не совсем понял - TWI вроде бы мэпится на PA3/PA4?

Или тут какой-то трюк?

 

виноват. переделал на RM9200 и дернул не исправив

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...