реклама на сайте
подробности

 
 
> Без прерываний
Ekka
сообщение Jul 27 2016, 11:26
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Привет всем) Такой вопрос. Возможно ли БЕЗ прерываний сделать следующее:

у меня есть пин, на котором периодически проходят импульсы,
По подъему нужно, чтобы включался таймер.

Но прерывания нельзя использовать. Читала про синхронизацию таймеров и источник их тактирования.
Но не могу вдуплить, как именно не счетчик дергать у таймера по импульсам канала, а включить его просто.

Может, кто посоветует, куда копать хотя бы.

МК - STM32f105

Сообщение отредактировал Ekka - Jul 27 2016, 11:27
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
uriy
сообщение Jul 28 2016, 09:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
Сделать то же, но без прерываний. Вот и думаю.
Зачем???
Go to the top of the page
 
+Quote Post
Ekka
сообщение Jul 28 2016, 14:30
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Ребята, не могу таймер 2 канал 2 настроить на шим... у него вообще есть такая возможность? может он суперособенный?
так настаиваю ШИМ

Код
void TIM2_Cfg()
{
    TIM_TimeBaseInitTypeDef tim_struct;
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
    tim_struct.TIM_Period = POWER;
    tim_struct.TIM_Prescaler = 100;
    tim_struct.TIM_ClockDivision = 0;
    tim_struct.TIM_CounterMode = TIM_CounterMode_Up;
    TIM_TimeBaseInit(TIM2, &tim_struct);
    TIM_ClearITPendingBit(TIM2,TIM_IT_Update);
    TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
}


void TIM2_CH2_PWM_Cfg()
{
    TIM_ARRPreloadConfig(TIM2,ENABLE);
    TIM_OC2PreloadConfig(TIM2, TIM_OCPreload_Enable);
    TIM_OCInitTypeDef pwm;
    TIM_OCStructInit(&pwm);
    pwm.TIM_Pulse =500;
    pwm.TIM_OCMode = TIM_OCMode_PWM1;
    pwm.TIM_OutputState = TIM_OutputState_Enable;
    pwm.TIM_OCPolarity = TIM_OCPolarity_High;
    TIM_OC2Init(TIM2, &pwm);
    TIM2->CCR2=TIM2->ARR/2;
}

//сама нога PB3
void GPIO_Cfg()
{
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); //откл JTDI

    GPIO_InitTypeDef c;
    c.GPIO_Mode = GPIO_Mode_AF_PP;
    c.GPIO_Pin = CONTROL_Pin;
    c.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(PORT_CONTROL_Pin, &c);
}


Сообщение отредактировал Ekka - Jul 29 2016, 08:40
Go to the top of the page
 
+Quote Post
Ekka
сообщение Jul 29 2016, 07:14
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



...

Сообщение отредактировал Ekka - Jul 29 2016, 07:14
Go to the top of the page
 
+Quote Post
amiller
сообщение Jul 29 2016, 09:56
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 176
Регистрация: 20-02-14
Из: Томск
Пользователь №: 80 612



Простой совет:
Забудьте про всякие HAL, Cube, CMSIS и тому подобное. Зачем Вам разбираться с багами индусов?
Если Вы пишите код для какой то периферии, то нужно знать, как эта периферия работает.
И перед написанием кода нужно по крайней мере один раз прочитать раздел раздел 15 "General-purpose timers (TIM2 to TIM5)" из документа "RM0008".
Там ответы на все Ваши вопросы. Кроме Вас в Вашем коде ошибки вряд ли кто найдёт. Навскидку варианты:
Где то в другом месте программы повторно инициализируются используемые ноги процессора.
Вы просто забыли в программе осуществить вызов представленных функций для настройки таймера.
Что-то забыли в настройке, но здесь пусть смотрят знатоки по применению этих библиотек.
Там меньше десятка регистров, в которые при настройке нужно записать нужные значения.
Разберитесь один раз и у Вас будет собственный код настройки таймеров, в котором Вам будет всё понятно и который можно будет портировать под разные проекты. Под STM вообще без проблем.
Go to the top of the page
 
+Quote Post
Ekka
сообщение Aug 2 2016, 08:19
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Привет, ребята) снова стучу сюда. Правда вопрос другой.
Не могу найти библиотеку для USB на МК stm32f105R8, на сайте st что-то не нашла. Может есть у кого или кто ссылку знает?
Буду очень признательна.
Go to the top of the page
 
+Quote Post
Ekka
сообщение Aug 3 2016, 08:42
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Народ)) Кто-то использовал USB на МК stm32f105? Куда хоть копать-то? В инете почти ничего именно по этому мк нет(
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 3 2016, 09:00
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Ekka @ Aug 3 2016, 14:42) *
Народ)) Кто-то использовал USB на МК stm32f105? Куда хоть копать-то? В инете почти ничего именно по этому мк нет(

А чем отличается USB на МК stm32f105 от USB на любом другом МК?
И что мешает взять пример USB-стека от любого другого МК и адаптировать его под Ваш МК, переписав слой абстрагирования от железа (HAL)? Юзермануал на железо USB-контроллера у Вас имеется.
Откройте IAR, с ним идёт куча примеров под разные МК. В том числе и с USB-стеками. Там точно есть USB-стеки с HAL для МК NXP. Возможно есть и под STM.
HAL-уровень в USB-примерах IAR это собственно один файл usb_hw.c
Go to the top of the page
 
+Quote Post
Ekka
сообщение Aug 3 2016, 12:43
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Взяла библиотеку для USB для stm32f10 и проч. Подгоняю под себя. Почему, когда флеху включаю в разъем вылетает в HardFault_Handler() ???

что это вообще за штука такая
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 3 2016, 15:03
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Ekka @ Aug 3 2016, 18:43) *
Почему, когда флеху включаю в разъем вылетает в HardFault_Handler() ???
что это вообще за штука такая

Да уж....
Может Вам пока поупражняться со светодиодами - позажигать-гасить? Или даже замахнуться на UART?!!!
Но USB...... wink.gif
Go to the top of the page
 
+Quote Post
Ekka
сообщение Aug 4 2016, 08:53
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Цитата(jcxz @ Aug 3 2016, 15:03) *
Да уж....
Может Вам пока поупражняться со светодиодами - позажигать-гасить? Или даже замахнуться на UART?!!!
Но USB...... wink.gif


это да, не отрицаю. Но хоть сдохни, надо. Трудно дается..(((



Потуплю еще немного тут)

ноги DP и DM должны быть как AF? а ID, SOF - на вход. VBUS - на выход?

smile3046.gif
Go to the top of the page
 
+Quote Post
Ekka
сообщение Aug 8 2016, 08:35
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Снова стучу сюды) Нашла библиотеку для stm105/7, настроила ноги (надеюсь, как надо), запускаю. Ответ от USBH_Process почти всегда приходит
HOST_IDLE. Может, кто-нибудь работал с этой штукой и знает, в чем именно может быть проблема?
Иногда еще вываливается в HOST_ERROR_STATE

Сообщение отредактировал Ekka - Aug 8 2016, 08:41
Go to the top of the page
 
+Quote Post
Ekka
сообщение Aug 23 2016, 08:54
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Всем Доброго времени суток) USB удалось запустить в режиме хоста и девайса)) Интересует один вопрос: как отличить, что именно подключено? Например, флешка к МК или МК к компу как ком-порт? Двойной режим не использую пока. Просто, может, знает кто-то в чем конкретно отличие при подключении? Как-то по питанию можно определить? По пину какому-нибудь? По ID?
Go to the top of the page
 
+Quote Post
Obam
сообщение Aug 23 2016, 09:02
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата(Ekka @ Aug 23 2016, 12:54) *
Всем Доброго времени суток) USB удалось запустить в режиме хоста и девайса)) Интересует один вопрос: как отличить, что именно подключено? Например, флешка к МК или МК к компу как ком-порт? Двойной режим не использую пока. Просто, может, знает кто-то в чем конкретно отличие при подключении? Как-то по питанию можно определить? По пину какому-нибудь? По ID?


Выв. 4 в микроUSB определяет кем будет ("0" - хост, "1" - девайс)


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Ekka   Без прерываний   Jul 27 2016, 11:26
- - Obam   А по-яснее? Включить или запустить?   Jul 27 2016, 12:42
|- - Ekka   Цитата(Obam @ Jul 27 2016, 12:42) А по-яс...   Jul 27 2016, 12:46
- - Obam   Глава 16.3.11 (стр.442 из CD00171190.pdf) не подхо...   Jul 27 2016, 13:13
|- - Ekka   Цитата(Obam @ Jul 27 2016, 13:13) Глава 1...   Jul 27 2016, 13:22
- - Obam   "Читала про синхронизацию таймеров и источник...   Jul 27 2016, 13:58
|- - Ekka   Цитата(Obam @ Jul 27 2016, 13:58) "Ч...   Jul 27 2016, 14:19
|- - Obam   Цитата(Ekka @ Jul 27 2016, 18:19) Просто ...   Jul 27 2016, 14:27
|- - Ekka   Цитата(Obam @ Jul 27 2016, 14:27) Ё-моё, ...   Jul 28 2016, 06:45
- - uriy   Слыхал что на заводах из-за разделения труда встре...   Jul 28 2016, 07:31
|- - Ekka   Цитата(uriy @ Jul 28 2016, 07:31) Слыхал ...   Jul 28 2016, 08:42
|- - Ekka   ...   Jul 29 2016, 07:14
|- - Obam   Цитата(Ekka @ Aug 3 2016, 16:43) …вылетае...   Aug 3 2016, 14:14
- - firew0rker   Документ "RM0008 Reference manual STM32F10xxx...   Aug 23 2016, 09:03
|- - Ekka   Спасибо большое! Сейчас посмотрю)))   Aug 23 2016, 09:48
- - AVR   Раз зашла тема про USB и уровень автора понятен (б...   Aug 24 2016, 09:04
- - Ekka   Всем спасибо большое за ответы))) все получилось)   Aug 30 2016, 13:52
- - AVR   Цитата(Ekka @ Aug 30 2016, 16:52) Всем сп...   Aug 30 2016, 14:22
- - Ekka   Мне нужно было, чтобы мк работал как хост и как ко...   Aug 31 2016, 06:47
- - Ekka   Здравствуйте, снова пишу сюда. Может, кто-то сталк...   Sep 7 2016, 08:33
- - jcxz   Цитата(Ekka @ Sep 7 2016, 14:33) Здравств...   Sep 7 2016, 11:06
- - Ekka   Цитата(jcxz @ Sep 7 2016, 11:06) А с чего...   Sep 7 2016, 13:33
- - jcxz   Цитата(Ekka @ Sep 7 2016, 19:33) Т.е. они...   Sep 7 2016, 16:54
- - Ekka   Цитата(jcxz @ Sep 7 2016, 16:54) Конечно....   Sep 8 2016, 06:29
- - jcxz   Если Вам надо отделить работу файловой системы от ...   Sep 8 2016, 06:41
- - scifi   Цитата(jcxz @ Sep 8 2016, 09:41) Если Вам...   Sep 8 2016, 07:08
- - jcxz   Цитата(scifi @ Sep 8 2016, 13:08) Из недо...   Sep 8 2016, 09:15
- - Ekka   Снова привет всем. Простите, что все до кучи в одн...   Sep 29 2016, 08:28
- - Сергей Борщ   QUOTE (Ekka @ Sep 29 2016, 11:28) Как над...   Sep 29 2016, 12:31
- - Ekka   Вопрос с ДМА снят) Разобрались. Возник другой воп...   Sep 30 2016, 11:06


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 16:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01551 секунд с 7
ELECTRONIX ©2004-2016