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

Longer

Members
  • Постов

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

  • Посещение

Электроника

  • Стаж в электронике
    1-2 года

Достижения Longer

Новичок

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

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

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

0

Репутация

  1. Longer

    wdt мешает tmr1

    @IMXO , понял, спасибо за пояснения
  2. Longer

    wdt мешает tmr1

    @IMXO а с включенной собакой эта проблема уже ушла, я не знаю что я такое поменял что теперь и с собакой норм))
  3. Longer

    wdt мешает tmr1

    @IMXO на графах у меня тоже всё норм, правда с digital у меня не получилось, сделал на analogue. В общем я не знаю почему на лампочке видны такие медленные мерцания.
  4. Longer

    wdt мешает tmr1

    Ну я не знаю, в протеусе мигает, осцилограф в том же протеусе всё верно показывает. Параллельно с лампочкой осцилограф подключен к пину.
  5. Longer

    wdt мешает tmr1

    Спасибо! Не знал про такие нюансы. Программирую PIC18F4550. void initTimer() { INTCON = 0b11000000; T1CON = 0b00000001; TMR1IE = 1; TMR1 = 65536 - discrTime; timerCounter = 0; } void __interrupt() isr(void) { timerCounter++; if (TMR1IF) { if (lamp == 0) { lamp = 1; RD3 = 1; } else { lamp = 0; RD3 = 0; } TMR1IF = 0; TMR1 = 65536 - discrTime; timerCounter = 0; } } Функцию initTimer вызываю в начале функции main, потом просто бесконечный цикл. Первый таймер включает и выключает лампочку с периодом равным discrTime. Wdt я отключил и всё нормально стало. Но для меня прям магия была то, что с включенным wdt программа работает около 2 минут и лампочка мигать перестаёт.
  6. Longer

    wdt мешает tmr1

    Я читал про wdt и в общих чертах понял его работу. Но почему он как-то влияет на tmr1 мне не понятно. Тем более написано, что максимальное время переполнения wdt 2.3с, у меня tmr1 переставал работать через несколько минут, соответственно не каждое переполнение мешало программе. Мой вопрос не состоял в том, чтоб пересказать мануал, мой вопрос состоял в том почему wdt мешает tmr1 и как он это делает. Я не думаю, что этот вопрос лежит прям на поверхности, ни в одном туториале про это сказано не было. Если вам жалко ответить на вопрос, то не обязательно отправлять в гугл и в мануалы - можно просто промолчать.
  7. Longer

    wdt мешает tmr1

    Я новичок в программировании пиков, но совсем не новичок в программировании. И я не могу понять как работает watchdog. Сделал код для работы таймера 1. Но через какое-то время таймер 1 перестаёт работать, проверяю в протеусе. Как-то интуитивно решил для интереса выключить wdt, и таймер 1 перестал выключаться. Пока wdt был включен я про него не знал и не обнулял в программе, возможно он постоянно отправлял в hard reset, но по сути как это могло мешать таймеру 1? И почему так долго срабатывал этот wdt? Таймер 1 отключался где-то через пару минут только.
×
×
  • Создать...