Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 43

Тема: Ошибки в даташитах

  1. #21

    Регистрация
    13.11.2003
    Адрес
    Новосибирск
    Сообщений
    83
    Позывной
    RA9ODA
    Цитата Сообщение от Oleg 9 Посмотреть сообщение
    Ничего не понятно.
    1. запрещено прерывание от таймера TMR1IE = 0, прерывания от периферии разрешены PEIE = 1, TMR1ON=1.
    2. запрещены прерывания от периферии PEIE = 0, разрешено прерывание от таймера TMR1IE = 1, TMR1ON=1.
    3. разрешены прерывания TMR1IE = 1 PEIE = 1, TMR1ON=0.

    В первых двух случаях есть переполнение таймера, но запрещен переход на процедуру обработки. В третьем случае запрещен счет, но разрешено прерывание. Во всех трех случаях для нормальной работы все три указанных бита д.б. в лог. 1.
    Работоспособным оказался только третий.


  2. #22
    Аватар для vadim_d
    Регистрация
    29.10.2006
    Адрес
    Санкт-Петербург
    Сообщений
    14,744
    Цитата Сообщение от PavelS Посмотреть сообщение
    Во всех трех случаях для нормальной работы все три указанных бита д.б. в лог. 1.
    Работоспособным оказался только третий
    Вы же сами себе противоречите: под номером 3 таймер запрещен:
    Цитата Сообщение от PavelS Посмотреть сообщение
    3. разрешены прерывания TMR1IE = 1 PEIE = 1, TMR1ON=0
    А так, все три в единице - по даташиту, "звучит логично" (с) дятел Вуди
    Вадим

  3. #23

    Регистрация
    13.11.2003
    Адрес
    Новосибирск
    Сообщений
    83
    Позывной
    RA9ODA
    Ничуть. При выполнении условия во всех трех вариантах недостающий бит устанавливался в 1.

  4. #24
    Аватар для vadim_d
    Регистрация
    29.10.2006
    Адрес
    Санкт-Петербург
    Сообщений
    14,744
    Цитата Сообщение от PavelS Посмотреть сообщение
    недостающий бит устанавливался в 1
    То есть все получалось по даташиту? Вернемся к исходному вопросу - приведите набор битов, который в симуляторе и в реальном чипе ведет себя по-разному и противоречит даташиту
    Вадим

  5. #25
    Аватар для UN7GCE
    Регистрация
    18.01.2004
    Адрес
    РФ ТиНАО
    Сообщений
    2,208
    Записей в дневнике
    1
    Позывной
    ex UN7GCE
    Цитата Сообщение от PavelS Посмотреть сообщение
    1. запрещено прерывание от таймера TMR1IE = 0, прерывания от периферии разрешены PEIE = 1, TMR1ON=1.
    2. запрещены прерывания от периферии PEIE = 0, разрешено прерывание от таймера TMR1IE = 1, TMR1ON=1.
    При этих установках Вы каким образом попадаете в программу обработчика? По флагу TMR1IF? Если да, то этот способ неверный. При данных установках (выделено синим) таймер будет считать всегда. И, даже если будет глобальный запрет по GIE=0, всё одно по флагу TMR1IF будете улетать в обработку.
    Сколько работал с TMR1 никогда не видел ошибки в даташите по этому таймеру.
    Последний раз редактировалось UN7GCE; 03.08.2020 в 09:42.
    Евгений (since 1975 UL7RAW, 1977 UL7GCE, 1991 UN7GCE) пос. Коммунарка

  6. #26

    Регистрация
    13.11.2003
    Адрес
    Новосибирск
    Сообщений
    83
    Позывной
    RA9ODA
    Цитата Сообщение от UN7GCE Посмотреть сообщение
    При этих установках Вы каким образом попадаете в программу обработчика? По флагу TMR1IF? Если да, то этот способ неверный. При данных установках (выделено синим) таймер будет считать всегда. И, даже если будет глобальный запрет по GIE=0, всё одно по флагу TMR1IF будете улетать в обработку.
    Переход на обработку аппаратный. При переполнении таймера переход на 0x0004

    Тогда в чем смысл битов запрета/разрешения прерываний? По Вашим словам при переполнении все равно будет переход на обработку?

    Цитата Сообщение от vadim_d Посмотреть сообщение
    То есть все получалось по даташиту? Вернемся к исходному вопросу - приведите набор битов, который в симуляторе и в реальном чипе ведет себя по-разному и противоречит даташиту
    Варианты 1 и 2.
    Если TMR1IE = 0 или PEIE = 0, то при переполнении не должно быть перехода на обработку. В симуляторе перехода действительно нет. А на микросхеме - есть.
    Последний раз редактировалось PavelS; 03.08.2020 в 10:13.

  7. #27
    Аватар для UN7GCE
    Регистрация
    18.01.2004
    Адрес
    РФ ТиНАО
    Сообщений
    2,208
    Записей в дневнике
    1
    Позывной
    ex UN7GCE
    Цитата Сообщение от PavelS Посмотреть сообщение
    По Вашим словам при переполнении все равно будет переход на обработку?
    По моим словам, что если TMR1ON=1, таймер будет считать всегда. Для него PE1IE=0 и TMR1IE=0, INTCON,GIE=0 не указ. И также будет всегда выставляться флаг TMR1IF. Проверяйте свой исходник, в частности переход по 0х04. Симулятор чаще ошибается, чем железо на столе.
    Последний раз редактировалось UN7GCE; 03.08.2020 в 10:25.
    Евгений (since 1975 UL7RAW, 1977 UL7GCE, 1991 UN7GCE) пос. Коммунарка

  8. #28
    Аватар для vadim_d
    Регистрация
    29.10.2006
    Адрес
    Санкт-Петербург
    Сообщений
    14,744
    Цитата Сообщение от UN7GCE Посмотреть сообщение
    Для него PE1IE=0 и TMR1IE=0, INTCON,GIE=0 не указ
    А если глядеть на FIGURE 14-14 в http://ww1.microchip.com/downloads/e...Doc/40044G.pdf (стр. 109) - то PEIE и GIE должны быть указом
    Вадим

  9. #29
    Аватар для UN7GCE
    Регистрация
    18.01.2004
    Адрес
    РФ ТиНАО
    Сообщений
    2,208
    Записей в дневнике
    1
    Позывной
    ex UN7GCE
    Вадим, я не спорю, что эти биты установки регистров INTCON и PIE1 тесно связаны с работой TMR1. Речь о том, что при бите TMR1ON=1 таймер будет всегда выставлять флаг TMR1IF переполнения при любых установках регистров INTCON и PIE1. И собака, скорее всего, порылась в ПП обработчика прерываний. Скорее всего Pavels ныряет туда по флагу, а не по вызову.
    Евгений (since 1975 UL7RAW, 1977 UL7GCE, 1991 UN7GCE) пос. Коммунарка


  10. #30
    Аватар для vadim_d
    Регистрация
    29.10.2006
    Адрес
    Санкт-Петербург
    Сообщений
    14,744
    Цитата Сообщение от UN7GCE Посмотреть сообщение
    ныряет туда по флагу, а не по вызову
    То есть по чужому незамаскированному прерыванию проверяет флаг таймера 0 и обрабатывает его? PEIE и GIE работают на все периферийные источники, тут трудно напортачить. Разве что GIE взведется в единицу по команде возврата из любого прерывания, специально ставить его в 1 надо только после явного запрета прерываний. В общем, совсем запутали . Сейчас поглядел, у пана Тарасова в АА 819-й, правда своих исходников найти не могу, они на другом компе
    Вадим

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ошибки RIC
    от RD3FX в разделе О форумах на CQHAM.RU
    Ответов: 171
    Последнее сообщение: 08.02.2023, 10:49
  2. Ошибки Powersdr
    от ur5maw в разделе Software Defined Radio (SDR), Digital Radio Mondiale (DRM)
    Ответов: 37
    Последнее сообщение: 21.01.2014, 18:55
  3. Ошибки при просмотре тем форума
    от РадиоЩука в разделе О форумах на CQHAM.RU
    Ответов: 57
    Последнее сообщение: 23.04.2011, 21:52
  4. Ошибки компиляции WinAVR
    от rz3gu в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 11
    Последнее сообщение: 20.04.2009, 08:47
  5. KB9DB ГС-35Б РА - ошибки в схеме
    от aov в разделе Технический кабинет
    Ответов: 7
    Последнее сообщение: 29.10.2006, 10:51

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •