vovanse 0 28 июня, 2006 Опубликовано 28 июня, 2006 · Жалоба Может кто-нибудь поделится примером инициализации и работы по I2C? Перехожу с AVR на ARM и что-то никак не могу победить I2C на ARM. Пытаюсь читать из DS1307... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DIM 0 28 июня, 2006 Опубликовано 28 июня, 2006 · Жалоба 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 0 3 июля, 2006 Опубликовано 3 июля, 2006 · Жалоба (*AT91C_PIOA_ASR) |= (0x01<<25 | 0x01<<26) ; // periphAEnable; Что-то я не совсем понял - TWI вроде бы мэпится на PA3/PA4? Или тут какой-то трюк? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DIM 0 3 июля, 2006 Опубликовано 3 июля, 2006 · Жалоба (*AT91C_PIOA_ASR) |= (0x01<<25 | 0x01<<26) ; // periphAEnable; Что-то я не совсем понял - TWI вроде бы мэпится на PA3/PA4? Или тут какой-то трюк? виноват. переделал на RM9200 и дернул не исправив Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться