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

Vas pit

Members
  • Постов

    7
  • Зарегистрирован

  • Посещение

Электроника

  • Стаж в электронике
    Не связан с электроникой

Достижения Vas pit

Новичок

Новичок (1/14)

  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме

Последние значки

0

Репутация

  1. Очевидно, для этого я и описываю симптомы
  2. Не надо "умничать", уважаемый. Ошибку я обнаружил экспериментальным путем. А на форум люди приходят для того, чтобы не тратить время на непродуктивные и замедляющие прогресс эксперименты над тем, что уже давно изучено, а для того чтобы быстрее разобраться в чем ошибка при помощи более опытных коллег
  3. Всем спасибо за ответы! Разобрался в чем проблема. Работа с шиной I2C требует подтяжки на ножках SDA и SCL.
  4. Функцию вызывал один раз в "main". Действительно висит на "I2C_StartCondition". Но почему? "TWINT" же должен сброситься в "0".
  5. Но у меня вроде нет прерываний. Да и в протеусе бы тогда прошивка не работала
  6. Светодиоды не мигают, на PORTB.1 нет 5 вольт. С фьюзами вроде все нормально. По крайней мере на этих же настройках все остальные прошики работают нормально.
  7. Есть вот такой код работы с TWI #include <mega32.h> #include <delay.h> #include <stdio.h> #include <stdint.h> //#include <myeeprom.c> #include <mytwi.c> void main(void) { DDRA |= (1<<DDA0); DDRB = 0xFF; I2C_Init(); I2C_StartCondition(); if (TWSR == 0b00001000) PORTB.1 = 1; //если в TWSR 0х08, то установить while (1) { PORTA.0 = ~PORTA.0; //просто мигаем лампочками PORTB.3 = ~PORTB.3; //просто мигаем лампочками delay_ms(300); } } где: void I2C_Init(void) { TWBR=0x20; //скорость передачи (при 8 мГц получается 100 кГц) } void I2C_StartCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while(!(TWCR&(1<<TWINT)));//подождем пока установится TWIN } Суть проблемы: код отлично работает в протеусе, но не работает в схеме (использую отладочную плату EasyAvr v.7). Врятли проблема в отладочной плате. Все другие прошивки работают нормально и на отладочной и в протеусе. Первый раз столкнулся с такой проблемой. Подскажите пожалуйста в чем тут дело?
×
×
  • Создать...