Kovalinski Posted January 25, 2020 Share Posted January 25, 2020 Добрый день! Прошу помощи в реализации интерфейса TWI на XMEGA. Набросал код для двух микроконтроллеров. Но на выходе SDA и SCL вообще ничего не происходит. Привожу пример для мастера. #define F_CPU 2000000UL #define CPU_SPEED 2000000 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> uint8_t slave_address=6, write=0; uint8_t data=0x01; void TWI_init(void) { TWIC.CTRL=0; TWIC.MASTER.BAUD=0x05; TWIC.MASTER.CTRLA=TWI_MASTER_INTLVL_HI_gc|TWI_MASTER_ENABLE_bm|TWI_MASTER_WIEN_bm; TWIC.MASTER.CTRLB=0; TWIC.MASTER.CTRLC=0; TWIC.MASTER.STATUS=TWI_MASTER_BUSSTATE_IDLE_gc; } void TWI_write_date(uint8_t data) { //TWIC.MASTER.CTRLC=TWI_MASTER_CMD_REPSTART_gc; TWIC.MASTER.ADDR=slave_address|write; while(!(TWIC.MASTER.STATUS&TWI_MASTER_WIF_bm)); TWIC.MASTER.DATA=data; while(!(TWIC.MASTER.STATUS & TWI_MASTER_WIF_bm)); TWIC.MASTER.DATA=data; while(!(TWIC.MASTER.STATUS & TWI_MASTER_WIF_bm)); TWIC.MASTER.CTRLC=TWI_MASTER_ACKACT_bm|TWI_MASTER_CMD_STOP_gc; TWIC.MASTER.CTRLC=0; } int main(void) { CPU_SREG|=(1<<CPU_I_bp); TWI_init(); while(1) { TWI_write_date(data); } } 0 Link to comment Share on other sites More sharing options...
ruhi Posted January 28, 2020 Share Posted January 28, 2020 25.01.2020 в 18:38, Kovalinski сказал: Но на выходе SDA и SCL вообще ничего не происходит. может порты ног надо еще проринициализировать, может тактирование кому то еще включить надо - смотри внимательнее и шире настройки переферии, попробуй просто ногами этими подергать через порты, подай-запрограммируй на них меандр - все поймешь! 0 Можно сделать все! Но чем больше можно, тем больше нельзя! Link to comment Share on other sites More sharing options...
Участвуйте в розыгрыше купонов 5000 ₽, 10000 ₽ и 15000 ₽! Выиграй купон и забирай на эту сумму любые электронные компоненты, радиодетали или любой другой товар из нашего каталога! Проигравших не будет, без подарков никто не останется! ТМ дарит всем участникам розыгрыша 5000 баллов на счёт весь декабрь скидка 10% по промокоду UHUHU23, а ещё 15% кэшбэк и бесплатная доставка! Ну... вздрогнем!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
Гар Posted January 28, 2020 Share Posted January 28, 2020 25.01.2020 в 20:38, Kovalinski сказал: Набросал код для двух микроконтроллеров. А что за язык? 0 Порядка нет и никогда не будет! Link to comment Share on other sites More sharing options...
Материалы вебинара «Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока»Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.