Например TDA7294

Форум РадиоКот • Просмотр темы - F042, таймер и странное поведение мигалок
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Сб апр 17, 2021 05:10:27

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


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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: F042, таймер и странное поведение мигалок
СообщениеДобавлено: Пт янв 15, 2021 23:07:38 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт июл 07, 2015 21:00:35
Сообщений: 68
Рейтинг сообщения: 0
Добрый вечер.

Пытаюсь написать таймер для конечных автоматов и вот какая странность.
Настроил таймер на 1мс.
Прерывание от таймера простейшее:
Код:
extern uint32_t blinkMS;
void TIM14_IRQHandler(void)
{
  HAL_TIM_IRQHandler(&htim14);

  if( blinkMS > 0 )
     blinkMS--;
}


Первый вариант мигалки, он работает:
Родил такое от безысходности, в приступе вдохновения :oops:


А вот второй, по смыслу такой же, не пашет. TogglePin вызывается только один раз и все, больше туда не заходит.


Зато, если его немного переиначить и сделать так:

То он начинает мигать, но очень хаотично, импульсы нестабильны и отличаются по длине в 1.5-2 раза.

Вопрос: что за фигня творится и как это победить?!

Фото первой и третьей мигалок прилагаю:
Изображение Изображение

P.S. Вариант с запретом/разрешением прерывания ничего не менят.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: F042, таймер и странное поведение мигалок
СообщениеДобавлено: Пт янв 15, 2021 23:24:57 
Это не хвост, это антенна

Карма: 21
Рейтинг сообщений: 223
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 1413
Рейтинг сообщения: 1
Volatile для blinkMS добавь.


Вернуться наверх
 

JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/cwc

Не в сети
 Заголовок сообщения: Re: F042, таймер и странное поведение мигалок
СообщениеДобавлено: Сб янв 16, 2021 15:35:10 
Вымогатель припоя

Карма: -17
Рейтинг сообщений: 11
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 625
Рейтинг сообщения: 0
Если добавите volatile для blinkMS, то blinkMS нужно копировать в локальную переменную в начале цикла один раз. И потом работать только с её копией.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

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


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

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


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

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


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