Например TDA7294

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





Текущее время: Сб ноя 23, 2024 13:31:32

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


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



Начать новую тему Ответить на тему  [ Сообщений: 237 ]  1, , , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 16:31:49 
Встал на лапы
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 149
Откуда: Самара
Рейтинг сообщения: 0
На F427 работает. Сделал платку на f103c8t6, без внешних кварцов, все работает, а таймера нет, в обработчик прерывания не входит, как так, подскажите люди добрые

Код:
#include "stm32f1xx.h"


int main()
{
  RCC->APB2ENR |= RCC_APB2ENR_IOPCEN; // Разрешить тактирование PORTC
  RCC->APB1ENR |= RCC_APB1ENR_TIM2EN; //Разрешить тактирование TIM
  GPIOC->CRH |= GPIO_CRH_MODE15; // Вывод светодиодана выход.
  GPIOC->CRH &=~GPIO_CRH_CNF15; // Двухтактный выход
 
 //GPIOC->ODR |= 32768;
  RCC->APB1ENR |= RCC_APB1ENR_TIM2EN;
 

  TIM2->PSC = 80 - 1; // Настраиваем делитель что таймер тикал 1000 раз в секунду
  TIM2->ARR = 1000 ; // Чтоб прерывание случалось раз в секунду
  TIM2->DIER |= TIM_DIER_UIE; //разрешаем прерывание от таймера
  TIM2->CR1 |= TIM_CR1_CEN; // Начать отсчёт!
  NVIC_EnableIRQ(TIM2_IRQn); //Разрешение TIM2_IRQn прерывания
  while (1)
  {
  }

}

void TIM2_IRQHandler(void)
{
  TIM2->SR &= ~TIM_SR_UIF; //Сбрасываем флаг UIF
  GPIOC->ODR |= 32768; // зажечь светодиод
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 17:59:16 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 650
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2703
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
TEPEM писал(а):
в обработчик прерывания не входит
Код:
__enable_irq ();

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 18:17:13 
Встал на лапы
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 149
Откуда: Самара
Рейтинг сообщения: 0
Пробовал,без толку. Перед тем как сюда писать я всю ночь перебирал варианты.
Чтобы вы понимали, даже камень поменял на всякий
Не может же быть причина в отсутствии кварца, там же автоматом работает внутренний ген.


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 18:42:37 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 650
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2703
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
TEPEM писал(а):
Пробовал,без толку.
Потом убрали разрешение прерываний? Не стоит :)

В startup поройтесь, точно от внур. кварца?
Пошаговая отладка работает?
Может в HardFault висите?
Включите светодиод сразу при входе в майн.
Помигайте светодиодом в тупом цикле.
Как узнали что таймер не работает?

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Приглашаем на вебинар «Решения SUNCO для силовой электроники. Выбираем идеальный силовой модуль»

Приглашаем 3 декабря 2024 на вебинар, посвященный силовым модулям ведущего китайского производителя SUNCO - одного из мировых лидеров по производству дискретных полупроводниковых компонентов. На вебинаре вы узнаете о новинках, включая модули 17 класса в корпусе E3, и контроле качества на всех этапах производства. Вы также узнаете о новейших продуктах – IGBT-, SiC-, диодных и тиристорных модулях, погрузитесь в современные топологии, сравните характеристики IGBT-чипов разных поколений.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 18:47:44 
Встал на лапы
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 149
Откуда: Самара
Рейтинг сообщения: 0
Начнем с того что я не много нуб.
Делаю в ИАР через китайский клон ст-линк,что там работает я не знаю если четно. До этого использовал отладочные платы.
Светодиод отдельно работает, мигал пустым циклом.
Остальное пойду гуглить


Вернуться наверх
 
Решения SUNCO для надежной защиты сигнальных цепей интерфейсов от электростатических разрядов

Всплески перенапряжения являются серьезной угрозой надежности работы радиоэлектронных устройств. Причины их появления различны, это могут быть коммутационные переходные процессы в системе электропитания устройств, разряды молний, электростатические разряды. Для создания эффективной и современной системы защиты от ЭСР компания SUNCO разработала надежные и качественные супрессоры, представляющие собой TVS- и ESD-диоды, а также сборки на их основе. Компоненты SUNCO не только не уступают, но часто превосходят по характеристикам аналогичную продукцию других брендов.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 18:51:02 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 650
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2703
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Поставьте точку останова на входе в майн и в обработчике прерываний. Пошагайте и поглядите что в регистрах реально. Если в никакую точку останова не попадаете, нажмите паузу и поглядите где-находитесь.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 19:00:57 
Встал на лапы
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 149
Откуда: Самара
Рейтинг сообщения: 0
Изображение
Я пытаюсь разобраться с отлалчиком, но либо смотрю не туда либо нужное окно не открыто(
CNT содержит некое число, значит он инкриминируется? Чего тоды может быть люди добрые
Если два раз паузу и плей нажать - падает в хард фаулт(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 19:43:40 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 650
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2703
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
В документе PM0056Programming manual есть описание регистров по которым можно вычислить причину исключения. Но мне кажется не стоит так глубоко пока копать.

TEPEM писал(а):
Светодиод отдельно работает, мигал пустым циклом.

У меня есть смутные сомнения что это работало, а запуск таймера привел к исключению. Сделайте опять этот проект. Пускай мигает, если будет.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 19:51:22 
Встал на лапы
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 149
Откуда: Самара
Рейтинг сообщения: 0
Все работает, мигает
Код:
#include "stm32f1xx.h"
int i,j;

int main()
{
  RCC->APB2ENR |= RCC_APB2ENR_IOPCEN; // Разрешить тактирование PORTC
  RCC->APB1ENR |= RCC_APB1ENR_TIM2EN; //Разрешить тактирование TIM
  GPIOC->CRH |= GPIO_CRH_MODE15; // Вывод светодиодана выход.
  GPIOC->CRH &=~GPIO_CRH_CNF15; // Двухтактный выход
 
 //GPIOC->ODR |= 32768;
  RCC->APB1ENR |= RCC_APB1ENR_TIM2EN;
 

  TIM2->PSC = 80 - 1; // Настраиваем делитель что таймер тикал 1000 раз в секунду
  TIM2->ARR = 1000 ; // Чтоб прерывание случалось раз в секунду
  TIM2->DIER |= TIM_DIER_UIE; //разрешаем прерывание от таймера
  TIM2->CR1 |= TIM_CR1_CEN; // Начать отсчёт!
  __enable_irq ();
  //NVIC_EnableIRQ(TIM2_IRQn); //Разрешение TIM2_IRQn прерывания
  while (1)
  {
      for(j = 0 ; j < 100000; j++) __NOP();
      if (i==0)
    {
      i=1;
       GPIOC->ODR |= 32768;
    }
     else
    {
     i=0;
       GPIOC->ODR &= ~32768;
    }
  }


}

/*void TIM2_IRQHandler(void)
{
   GPIOC->ODR |= 32768;
  TIM2->SR &= ~TIM_SR_UIF; //Сбрасываем флаг UIF
}*/


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 19:52:18 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 411
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2493
Рейтинг сообщения: 0
Код:
extern "C" void TIM2_IRQHandler(void)
попробуй.

И это, startup то положил в проект? Судя по картинке - нет.


Последний раз редактировалось VladislavS Чт дек 05, 2019 19:53:53, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 19:53:19 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 650
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2703
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
del

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Последний раз редактировалось Z_h_e Чт дек 05, 2019 19:57:37, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 19:54:47 
Собутыльник Кота

Карма: 36
Рейтинг сообщений: 808
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2906
Рейтинг сообщения: 0
но это мигание не по таймеру

_________________
Меня здесь больше нет


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 19:57:53 
Встал на лапы
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 149
Откуда: Самара
Рейтинг сообщения: 0
Мигает где то 0.75 сек, что такое стартап простите? Если вернуть строку с разрешением прерывания - не мигает, падает.
Вот эта строка - NVIC_EnableIRQ(TIM2_IRQn);
Даже без обработчика


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 20:00:08 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 650
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2703
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
VladislavS писал(а):
И это, startup то положил в проект?
Мне кажется что он положен, но по умолчанию на кварц настроен. Опять же вроде светодиод мигает...

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 20:01:38 
Встал на лапы
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 149
Откуда: Самара
Рейтинг сообщения: 0
Код:
extern "C" void TIM2_IRQHandler(void)
попробуй.

И это, startup то положил в проект? Судя по картинке - нет.


Ошибки не вызвало но все равно падает


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 20:04:14 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 411
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2493
Рейтинг сообщения: 1
Мне кажется что он положен,
Положен говоришь? А картинку посмотреть? А это вот?
что такое стартап простите?


TEPEM, добавь этот файл в проект.


Вложения:
startup_iar_stm32f103x8.c [6.2 KiB]
Скачиваний: 184
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 20:08:38 
Встал на лапы
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 149
Откуда: Самара
Рейтинг сообщения: 0
Спасибо братцы! Будте так добры, подскажите бедному нубу, что это за стартап и почему в F4х все без него работает????


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 20:11:28 
Мучитель микросхем

Карма: 4
Рейтинг сообщений: 80
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Сообщений: 445
Откуда: 69.Ржев
Рейтинг сообщения: 0
здесь как минимум :
|= 32768;
...
&= ~32768;

а в первом только " |= 32768;"

что такое "Двухтактный выход" пока не знаю.

на это камень в сети миллион инитов TIM на все вкусы, зачем тащить с другого семейства?
а если тащишь - каждую сточку сверяй с RM целевого камня

ПС
"TIM2->PSC = 80 - 1;" - 1мс ?
какая по твоему частота на APB1


Последний раз редактировалось a797945 Чт дек 05, 2019 20:16:05, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 20:14:46 
Встал на лапы
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 149
Откуда: Самара
Рейтинг сообщения: 0
а в первом только " |= 32768;"
Дык это еденичку в порт пишет, побитное сложение, а второй вычитание, типа стирает ее, нога светодиода. На f103 по другому как то делают?

Реально есть инициализация обходящая проблему с файлом этим? я вроде все перепробовал кроме тех где есть левые библиотеки

П.С.
Я уменьшил значения чтобы повысить шансы на вызов обработки, мало ли, через час бы вылезла, не считал


Последний раз редактировалось TEPEM Чт дек 05, 2019 20:18:28, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 20:15:09 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 650
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2703
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
VladislavS писал(а):
Положен говоришь? А картинку посмотреть?
Откуда диззасеблер знает такие метки как HardFault? Они разве не из стартапа?

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


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

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


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

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


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

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


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