Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TWI на AT91SAM7xxx
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
vovanse
Может кто-нибудь поделится примером инициализации и работы по I2C? Перехожу с AVR на ARM и что-то никак не могу победить I2C на ARM. Пытаюсь читать из DS1307...
DIM
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
}
beer_warrior
Цитата
(*AT91C_PIOA_ASR) |= (0x01<<25 | 0x01<<26) ; // periphAEnable;

Что-то я не совсем понял - TWI вроде бы мэпится на PA3/PA4?
Или тут какой-то трюк?
DIM
Цитата(beer_warrior @ Jul 3 2006, 09:40) *
Цитата
(*AT91C_PIOA_ASR) |= (0x01<<25 | 0x01<<26) ; // periphAEnable;

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


виноват. переделал на RM9200 и дернул не исправив
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.