Например TDA7294

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



Текущее время: Ср сен 23, 2020 03:15:00

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


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



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

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 111
Откуда: Самара
Рейтинг сообщения: 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 
Собутыльник Кота
Аватар пользователя

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

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


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

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

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

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

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


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

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

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

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

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

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


Вернуться наверх
 
Драйверы MOSFET/IGBT Infineon – силой нужно управлять!

Специалисты Infineon усовершенствовали традиционные кремниевые MOSFET и IGBT и выпустили компоненты на базе принципиально иных материалов – нитрида галлия и карбида кремния. Мы создали подборку полезных материалов, чтобы вы разобрались во всех тонкостях и стали экспертом по управлению силовыми приборами нового поколения CoolMOS, CoolGaN, CoolSiC!

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

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


Вернуться наверх
 
Снижена цена на DC/DC и AC/DC преобразователи Mornsun в Компэл!

Хорошие новости для покупателей источников питания! Компэл снизил цены на всю продукцию Mornsun. В ассортименте – как широко известные и популярные позиции, так и новинки. Доступны AC/DC, неизолированные DC/DC-преобразователи или импульсные стабилизаторы (семейство K78/R3), изолированные DC/DC, и новейшее поколение R4.

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

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

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


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


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

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


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


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

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

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

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

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


Вернуться наверх
 
Бытовой пирометр АКИП-9312 – просто удобно!

Диапазон 35 °С ...42°С (температура тела) погрешность 0,3 °С
Диапазон 0 °С ...100°С (бытовая сфера) погрешность 1,0 °С
Не в сети
 Заголовок сообщения: Re: Таймер не работает
СообщениеДобавлено: Чт дек 05, 2019 19:51:22 
Встал на лапы
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 111
Откуда: Самара
Рейтинг сообщения: 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 
Сверлит текстолит когтями
Аватар пользователя

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

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


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

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

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

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


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

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

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


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

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


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

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

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


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

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

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


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


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

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


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


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

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


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

Карма: 4
Рейтинг сообщений: 40
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Сообщений: 215
Откуда: 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
Сообщений: 111
Откуда: Самара
Рейтинг сообщения: 0
а в первом только " |= 32768;"
Дык это еденичку в порт пишет, побитное сложение, а второй вычитание, типа стирает ее, нога светодиода. На f103 по другому как то делают?

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

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


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

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

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

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


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

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


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

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


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

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


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