TIGER53501

Таймер в режиме Reset и внешние стопы

5 сообщений в этой теме

TIGER53501    0

Привет, никак не могу разобраться с таймером в режиме сброса по внешнему событию,
сам сброс работает, таймер сбрасывается, вопрос вот в чём, могу ли я в этом режиме использовать захват на оставшихся каналах?
т.е. по внешнему событию сбрасывать таймер, и потом внешними событиями записывать сколько он протикал с момента сброса?

STM32F429ZI
СИ + VisualGDB + HAL + Cube

Изменено пользователем TIGER53501

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
mail_robot    1 193

а не проще сразу использовать таймер в режиме захвата и по прерыванию при захвате просто обнулять его программно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
TIGER53501    0

возможно и проще, но вдруг кто уже делал по другому, я просто не уверен что я вообще правильно понял как оно должно работать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
TIGER53501    0

Чуть не забыл отписаться, всё легко настраивается и работает, первому каналу указыаем откуда брать сброс,
остальные работают как обычно, проблема была в дебаггере сбрасывающем флаги при чтении регистров, а так всё работало.

Изменено пользователем TIGER53501

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: saer2
      Добрый!
      Осваиваю стм32.
      Уточните пожалуйста, есть ли описание библиотеки stblib ? 
      как с ней работать?
    • Автор: karomag
      Помогите! Не пойму, почему не работает код. Хотя он был рабочий, пока я что-то не "оптимизировал"...
      // Общие выводы индикатора #define D0 GPIO_Pin_14 #define D1 GPIO_Pin_13 #define D2 GPIO_Pin_12 #define ALL_CATOD ( D0 | D1 | D2 ) // К какой ноге какой сегмент подключен #define SEG_A GPIO_Pin_0 #define SEG_B GPIO_Pin_1 #define SEG_C GPIO_Pin_2 #define SEG_D GPIO_Pin_3 #define SEG_E GPIO_Pin_4 #define SEG_F GPIO_Pin_5 #define SEG_G GPIO_Pin_6 //Собираем цифры из сегментов #define DIG0 ( SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F ) #define DIG1 ( SEG_B | SEG_C ) #define DIG2 ( SEG_A | SEG_B | SEG_G | SEG_E | SEG_D ) #define DIG3 ( SEG_A | SEG_B | SEG_G | SEG_C | SEG_D ) #define DIG4 ( SEG_F | SEG_G | SEG_B | SEG_C) #define DIG5 ( SEG_A | SEG_F | SEG_G | SEG_C | SEG_D ) #define DIG6 ( SEG_A | SEG_C | SEG_D | SEG_E | SEG_F | SEG_G ) #define DIG7 ( SEG_A | SEG_B | SEG_C ) #define DIG8 ( SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F | SEG_G) #define DIG9 ( SEG_A | SEG_B | SEG_C | SEG_D | SEG_F | SEG_G) #define ALL_SEG (DIG8 ) void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; /* GPIOA Configuration:TIM3 Channel1, 2, 3 and 4 as alternate function push-pull */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Pin = ALL_SEG | ALL_CATOD; GPIO_Init(GPIOA, &GPIO_InitStructure); } void show_temp(void) { u16 tmp; // Содержит копию counter (из него по очереди исключаются последние цифры) u8 digit; // В эту переменную поочередно записываются цифры из которых состоит число counter u16 catods[] = { D0, D1, D2 }; u8 digitsp[] = { DIG0, DIG1, DIG2, DIG3, DIG4, DIG5, DIG6, DIG7, DIG8, DIG9 }; u8 i; tmp = measureT; for (i = 0; i < 3; i++) { if (tmp > 0) { //Вытаскиваем первую справа цифру из числа counter digit = tmp % 10; tmp = tmp / 10; //Выключаем все разряды. 1 на катоды GPIOA->ODR |= ALL_CATOD; //Включаем i разряд индикатора GPIOA->ODR &= ~catods[i]; //Выводим цифру в i разряд GPIOA->ODR &= ~DIG8; //Выключаем все сегменты GPIOA->ODR |= digitsp[digit]; //Зажигаем нужные //Небольшая задержка. Пусть цифра погорит некоторое время delay_ms(1000); } } } Большую задержку поставил, чтобы глазом было видно результат. Число 123 отображается: сначало 33, потом 22, потом 111. Почему загорается несколько разрядов, хотя GPIOA->ODR &= ~catods;?
    • Автор: MillyVolt2
      Всем привет!
      Не нашел здесь темы по IAR, поэтому решил создать её сам, может пригодится для общих вопросов.
       
      В моём случае это IAR EW для ARM, работаю с STM32.
      Версия пакета с офф сайта, 8.20 - последняя на данный момент, с ограничением по размеру кода 32Кб.
      Открыл в IAR пример из библиотеки STM32CubeL4, скачанной с st.com, скомпилировал Project -> Rebuild All. Так как демоплата DISCO ещё не пришла, использую симулятор - Project -> Options -> Debugger вместо ST-Link выбрал Simulator. Далее Debug without download, вылезают 2 ошибки:
       
      User error: Stack pointer is setup to incorrect alignment.  Stack addr = 0xCDCDCDCD
       
      Failed to load debugee: C:\Users\Vova\STM32Cube\Repository\STM32Cube_FW_L4_V1.10.0\Projects\STM32L476G-Discovery\Examples\GPIO\GPIO_EXTI\EWARM\STM32L476G-Discovery\Exe\Project.out
       
      Может кто сталкивался с подобным?
    • Автор: Michael4you
      Основные обязанности:
      •проектирование, разработка и поддержка ПО для встраиваемых систем;
      •сопровождение кода и тестов;
      •документирование разрабатываемого ПО;
      Требования к кандидату: 
      • опыт работы от 3 лет;
      • уверенное знание C;
      • опыт разработки встраиваемых приложений;
      • опыт работы с платформами на ARM-процессорах;
      • опыт работы с STM32;
      • опыт работы с ОСРВ (желательно FreeRTOS);
      • опыт работы с Keil, System Workbench;
      • опыт работы c ModBus, USB, CAN;
      Приветствуется:
      • опыт проектирования архитектур ПО;
      • знание Python;
      Условия:
      •трудоустройство по ТК РФ;
      •доход обсуждается с успешным кандидатом (от 60 тыс.руб.)
      •дистанционная работа, можно работать из дома;
      •выплаты заработной платы 2 раза в месяц
      Наш сайт: http://i-mt.net/
      Моя почта: dezh@i-mt.net
      Мой мобильный: +7963 776 36 55 
      С уважением, Михаил.
    • Автор: Михаил Гуреев
      Здравствуйте! Несколько дней уже бьюсь, не могу найти нужную информацию. Делаем проект на stm32 в проекте необходимо задействовать 2 джойстика. 
      Причём желательно не потенциометрические, а оптические. В интернете масса промышленных, оптических энкодеров, но очень мало (вообще почти нет) энкодеров-джойстиков, по сути просто 2 энкодера и рукоять, и нигде нет!
      Максимум что есть - небольшие потенциометрические модули для ардуино типа таких: 
      Но они не подходят для промышленного использования т.к. не надежны и слабая конструкция. Подскажите, что искать. 
  • Сообщения

    • @pryanic Антон, схема уже отъюзана , хоть бы плату причесал чтоли  
    • Внутри-то пофиг на царапины. Оттенок может показаться неоднородным из-за смешанного освещения, на потолке светодиодные лампы, а над столом люминисцентная.  совершенно верно)
    • Отлаженная технология дает 100% ( с допустим отклонением)  повторяемость .  Да и проверить каждый трансформатор на поточной линии - труда особого не представляет. Я вот намотав сотни трансформаторов вручную , могу "на глаз"  определять Ls  с точностью скажем 20-25% у трансов с новыми данными . А стандартные  выходят с точностью порядка 5% , причем с разными литцами , какие есть в наличии.
    • Размеры правда очень подкачали у Антохи. видимо ЛУТ.
    • ..где писал про ZVS ..?..Я писал о результирующих осциллограммах,а смотреть вашу вожделенную  ZVS  с случайными элементами и кривыми моточными узлами--мертвому припарка..Вот и советовал--строго по пдф-ке и все получится..
    • Осень, самое время творить ...
      Портативный  СЕ на 6н2п, 6Н1П, 6с19п.
      Выходные из Ростова, анодка ТА-134, накал ТН-36.
      Корпус узнаваем.
    • @Ivan74 , ремонт сиих устройств есть удел уже достаточно опытных в ремонте именно подобных штуковин.
      И им схемы уже не нужны. Смотрите на маркировку микросхем, читайте на них даташиты. Изучайте типовые схемы их включения. 
      Основа таких блоком - микросхема ШИМ. Остальное - обвязка. Но и ее тоже нужно знать и проверить в первую очередь. Ибо если что-то из них неисправно - в лучшем случае это просто блок не запустится, в худшем - это ведро спаленных Вами деталей. Вот и задумайтесь, Вы сейчас понимаете, какие процессы происходят вы Вашем блоке? От себя. Инженер, опыт работы в другом направлении. Как-то ранее импульсниками не занимался. Специально для того, чтобы понять, что же там происходит, прочитал пяток книжек. 
      Извините, Вы читали хоть что-нибудь? Не хочу, чтобы Вы восприняли это как укор. Пытаюсь просто предупредить Вас, что импульсники - это не просто усилительный каскад. Не так здесь просто.