Например TDA7294

Форум РадиоКот • Просмотр темы - ATTiny13 работа с таймером
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб дек 13, 2025 20:35:05

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 28 ]    , 2
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: ATTiny13 работа с таймером
СообщениеДобавлено: Вт дек 09, 2025 23:03:18 
Первый раз сказал Мяу!

Зарегистрирован: Ср янв 20, 2021 05:39:28
Сообщений: 37
Рейтинг сообщения: 0
BOB51, в коде всё правильно?

Добавлено after 5 minutes 5 seconds:
И дело не только в симуляторе. Я на железе проверяю. Нет захода в обработчик.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATTiny13 работа с таймером
СообщениеДобавлено: Вт дек 09, 2025 23:12:27 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1493
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15286
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Я код особо не смотрел. Просто по опыту работ - не все аппаратные модули и их режимы симуляторы могут корректно поддерживать.
Конечная проверка всегда только за макетом.
Была бы единая макетная платка и единый подход задаче проекта - тогда можно чего то корректировать с конкретной проверкой.
(Вариант "дистанционных уроков").
:sleep:
Для начала хоть словесное описание задачи составить надо, а уж под него по даташиту подставлять нужные значения и затем команды соответствующие подобрать для загрузки значений и управления аппаратным модулем (счетчиком или чем другим).
Для проверок "на железе" тем более надо разумно контрольные тесты проектировать.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATTiny13 работа с таймером
СообщениеДобавлено: Ср дек 10, 2025 03:11:13 
Говорящий с текстолитом
Аватар пользователя

Карма: 18
Рейтинг сообщений: 236
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1548
Откуда: Тюмень
Рейтинг сообщения: 0
Что не так в коде?
;предделитель тактовой частоты CLK/2 (старт таймера)
ldi temp, 0b00000010;
out TCCR0B, temp;

При установке тактовой частоты счётчика не нужно забывать и о регистре TCCR0A. Установите необходимые значения (0х02) в регистр TCCR0A перед установкой значений в TCCR0B и тогда должно заработать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATTiny13 работа с таймером
СообщениеДобавлено: Ср дек 10, 2025 03:13:50 
Первый раз сказал Мяу!

Зарегистрирован: Ср янв 20, 2021 05:39:28
Сообщений: 37
Рейтинг сообщения: 0
В коде это есть. Сразу после Srart.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: ATTiny13 работа с таймером
СообщениеДобавлено: Ср дек 10, 2025 03:24:15 
Говорящий с текстолитом
Аватар пользователя

Карма: 18
Рейтинг сообщений: 236
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1548
Откуда: Тюмень
Рейтинг сообщения: 0
Теперь увидел... Возможно я и ошибаюсь, но по логике… при настройке работы таймера, необходимо вначале настроить регистры TCCR0A и TCCR0B, далее настроить регистр TIMSK0, а уже затем разрешить глобальные прерывания. И далее к этим настройкам не возвращаться.

ЗЫ. И как сие творение должно работать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATTiny13 работа с таймером
СообщениеДобавлено: Ср дек 10, 2025 03:57:36 
Друг Кота

Карма: 64
Рейтинг сообщений: 1020
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4369
Откуда: Ижевск
Рейтинг сообщения: 1
Установите адрес входа в прерывание типа как ниже
Код:
.ORG   0x06
; обаработчик прерывания при сравнении
TIM0_COMPA:
   nop
   reti

Start:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATTiny13 работа с таймером
СообщениеДобавлено: Ср дек 10, 2025 05:27:17 
Первый раз сказал Мяу!

Зарегистрирован: Ср янв 20, 2021 05:39:28
Сообщений: 37
Рейтинг сообщения: 0
Сделал по-другому, но ваше сообщение подтолкнуло к размышлениям в нужном направлении. Спасибо. Теперь код работает правильно.
Спойлер
Код:
.include "tn13def.inc";

.def temp = r16   

.cseg           
.org 0
    rjmp Start      ; Переход на начало программы
    reti
    reti
    reti                 
    reti             
    reti                               
    rjmp TIM0_COMPA ; Прерывание по совпадению
    reti                               
    reti                               
    reti                           
         

; обаработчик прерывания при совпадении
TIM0_COMPA:
   nop
   reti           

/*; обаработчик прерывания при переполнении счётчика
TIM0_OVF:
    nop;
    reti;*/

Start:
   ; инциализация стека
   ldi temp, low(RAMEND);
   out SPL, temp ; Set Stack Pointer to top of RAM
   
   clr temp
   ; режим сравнения (CTC)
   ldi temp, 0b00000010;
   out TCCR0A, temp

   clr temp;
   out TCNT0, temp; начальное значение счётчика

   ;устанавливаем биты разрешения прерывания 0-ого счетчика
   ldi temp, 0b00000100; прерывание при совпадении с OCR0A
   out TIMSK0, temp;

   ;значение для сравнения
   clr temp;
   ldi temp, 0x1E;
   out OCR0A, temp;

   ;разрешить глобальные прерывания
   sei;
   ;предделитель тактовой частоты (старт таймера)
   ldi temp, 0b00000010;
   out TCCR0B, temp;

Cicle:
   nop
   nop
   nop
   rjmp Cicle


Последний раз редактировалось alsav22 Ср дек 10, 2025 17:47:48, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATTiny13 работа с таймером
СообщениеДобавлено: Ср дек 10, 2025 14:51:34 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1493
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15286
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Больно смотреть на "муки творчества" котейки без минимальных базовых знаний....
(Хотя иной раз о троллинге мысля заползает)...
:cry:
Ну какое ж тут

;предделитель тактовой частоты CLK/2 (старт таймера)
Код:
 ldi temp, 0b00000010;
 out TCCR0B, temp;


Если в даташите CS01 = 1 означено как clkio/8 (from prescaler) ....
Да еще учитывать на какой частоте системный генератор работает и что в CLKPR по умолчанию установлено.
:facepalm:


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 28 ]    , 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y