Dron Kosher

Members
  • Публикации

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

  • Посещение

Репутация

0 Обычный

О Dron Kosher

  • Звание
    Новенький

Электроника

  • Стаж в электронике
    Менее года
  1. Непонятка с счетчиком прерываний

    понял наконец, что вы имели ввиду PORTB &=~(1<<IR_PIN); // установим низкий уровень на ножку DDRB &= ~(1<<IR_PIN); // настроим ножку на вход MCUCR |=(1<<ISC01); // Возрастающий фронт INT0 MCUCR |=(1<<ISC00); // генерирует запрос прерывания. GIMSK |=(1<<INT0); // включаем обработчик прерываний INT0 sei(); // включить прерывания глобально перенес разрешение прерываний в конец и проблема ушла без GIFR |= 1<<INTF0;
  2. Непонятка с счетчиком прерываний

    attiny13 задержка не помогает, это первое что я начал крутить GIFR |= 1<<INTF0; - помогло! GIMSK |=(1<<INT0); у меня и так есть спасибо, пойду почитаю что это за регистры такие вот как выглядит теперь кусок настройки PORTB &=~(1<<IR_PIN); // установим низкий уровень на ножку DDRB &= ~(1<<IR_PIN); // настроим ножку на вход GIMSK |=(1<<INT0); // включаем обработчик прерываний INT0 MCUCR |=(1<<ISC01); // Возрастающий фронт INT0 MCUCR |=(1<<ISC00); // генерирует запрос прерывания. GIFR |= 1<<INTF0; sei(); // включить прерывания глобально
  3. Непонятка с счетчиком прерываний

    смотрю по индикатору на который выводится значение counter выключил перывания - остается 0 т.е. это перывание срабатывает при включении... Нога прерывания подтянута к земле через 10к резистор, прерывание шлю через кнопку
  4. Непонятка с счетчиком прерываний

    в железе эта фигня еще и плавающая т.е. один раз есть, другой раз нет...
  5. Привет ребята. никак не могу понять в чем дело. при включении значение counter устанавливается в 1... т.е. ДО получения прерывания оно где то увеличивается на 1... далее всё работает как задумывалось. вот такой код: #define F_CPU 9600000UL #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include "1637.h" #define IR_PIN 1 volatile uint16_t counter = 0; ISR(INT0_vect) { counter++; } int main(void) { //------ прерывание по INT0 ---------------------------------------- PORTB &=~(1<<IR_PIN); // установим низкий уровень на ножку DDRB &= ~(1<<IR_PIN); // настроим ножку на вход GIMSK |=(1<<INT0); // включаем обработчик прерываний INT0 MCUCR |=(1<<ISC01); // Возрастающий фронт INT0 MCUCR |=(1<<ISC00); // генерирует запрос прерывания. sei(); // включить прерывания глобально //------------------------------------------------------------------ while (1) { indication(counter); } }
  6. Зачем тут транзистор?

    можно и в юмор но я принцип понял, спасибо ребята.
  7. Всем привет. Не понимаю один момент, может быть кто-то сможет пояснить его. Для чего в этой схеме транзистор нужен? Ведь от МК идет те же 3 Вольта...
  8. Посоветуйте провод для монтажа

    я и хочу бухту купить наверное МГТФ, но какого сечения взять?
  9. Всем привет. Периодически нужен тонкий гибкий проводок, пока заменяю жилами из интернет кабеля, но это очень не удобно... Полазил у нас тут по местным магазинам и не смог найти ничего интересного т.е. придется заказывать. И т.к. их пощупать не получиться прошу совета. Какой провод используете для монтажа? марка, сечение?
  10. все ок с питанием может какие наводки/помехи в атмосфере... но все равно не объясняет почему он работает нормально, а минут через 10 начинает завышать показания..
  11. короче странное и не объяснимое для меня запитал схемку от другого источника (USB - компа) и вот уже час оно работает без глюков... до этого питал от аккумуляторов ктониудь может пояснить ? я вообще планировал от батареек питать устройство
  12. чем дольше работает тем больше врет температура примерно 27, а он показывает сначала 30, потом постепенно лезет до 40, потом и к 50-ти подбирается. думаю и 100 можно дождаться :)
  13. к сожалению не сработало увеличил паузу между опросами до 2-х минут, подвесил землю датчика на ножку МК и мигаю ей на время опроса. но гадв серавно начинает врать через некоторое время
  14. Так, скажем если я буду подавать Vcc через ножку МК - это поможет ? Или Gnd лучше через МК подавать... там ведь шина данных подтянута к Vcc еще..