Например TDA7294

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





Текущее время: Вт апр 16, 2024 14:46:08

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


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



Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Таймер STM8
СообщениеДобавлено: Вт дек 26, 2017 15:19:44 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 7
Зарегистрирован: Вс дек 10, 2006 19:26:13
Сообщений: 198
Рейтинг сообщения: 0
Таймер2 STM8 инициализирую так-
Код:
GPIO_Init(GPIOA,GPIO_PIN_3,GPIO_MODE_OUT_PP_LOW_FAST); // выход шим
  TIM2_OC3Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE, 1, TIM2_OCPOLARITY_LOW);
  TIM2_OC3PreloadConfig(ENABLE);
  TIM2_ARRPreloadConfig(ENABLE);
  TIM2_ITConfig(TIM2_IT_UPDATE, ENABLE);


Включаю таймер-
Код:
TIM2_Cmd(ENABLE);


Когда выключаю-
Код:
TIM2_Cmd(DISABLE);

-то иногда на выходе на ноге А3 иногда плюс остается,иногда ноль. Что-то делал в авр для того,чтобы на ноль падал всегда, не могу вспомнить. Посоветуйте.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер STM8
СообщениеДобавлено: Вт дек 26, 2017 16:08:09 
Собутыльник Кота
Аватар пользователя

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер STM8
СообщениеДобавлено: Вт дек 26, 2017 17:47:12 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 7
Зарегистрирован: Вс дек 10, 2006 19:26:13
Сообщений: 198
Рейтинг сообщения: 0
Чё то я туплю, как это правильно написать в IAR- "TIM2_CCMR1 биты OC1M[2:0] переводите из режима ШИМ на режим 001" ? :oops:


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Таймер STM8
СообщениеДобавлено: Вт дек 26, 2017 17:48:34 
Собутыльник Кота
Аватар пользователя

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

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


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Таймер STM8
СообщениеДобавлено: Вт дек 26, 2017 17:57:31 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 7
Зарегистрирован: Вс дек 10, 2006 19:26:13
Сообщений: 198
Рейтинг сообщения: 0
Нет, я про синтаксис, как это писать? Пример нужен.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Таймер STM8
СообщениеДобавлено: Вт дек 26, 2017 18:16:07 
Опытный кот
Аватар пользователя

Карма: 16
Рейтинг сообщений: 166
Зарегистрирован: Вс дек 02, 2012 16:58:33
Сообщений: 826
Откуда: Уже не город Белых гор
Рейтинг сообщения: 0
TIM2->CCMR1 = TIM4_CR1_CEN;
Или побитно:
Код:
CLK->PCKENR1 = CLK_PCKENR1_TIM1   * 0      // таймер 1
              | CLK_PCKENR1_TIM2      * 1      // таймер 2
              | CLK_PCKENR1_TIM4      * 1      // таймер 4
              | CLK_PCKENR1_UART1      * 1      // UART1
              | CLK_PCKENR1_SPI        * 1      // SPI
              | CLK_PCKENR1_I2C        * 0;   // I2C

Все определения есть в хедерах


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер STM8
СообщениеДобавлено: Вт дек 26, 2017 18:49:29 
Собутыльник Кота
Аватар пользователя

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

Предположу что мк STM8S103.

Вы устанавливаете режим PWM1, т.е. записываете в биты OC1M[2:0] 0b110.

Установив в эти биты 0b001 или 0b010 выход порта принудительно установится 1 или 0 соответственно. Таймер останавливать для этого не надо, если конечно другой нет причины для остановки.

Можно использовать вот такие конструкции (структура с битовыми полями).
TIM2_CCMR1_OC1M=0x1; //принудительно в 1.
TIM2_CCMR1_OC1M=0x6;//режим PWM1

Второй вариант, с компилироваться должно короче.
OC1M установлен режим 0b110, т.е. pwm1.
Вам надо принудительно на выходе установить 0. Т.е. режим 0b010 или всего лишь погасить бит OC1M2.
TIM2_CCMR1_OC1M&=0x3;
Вернуть обратно
TIM2_CCMR1_OC1M|=0x4;

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер STM8
СообщениеДобавлено: Ср дек 27, 2017 05:08:47 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 7
Зарегистрирован: Вс дек 10, 2006 19:26:13
Сообщений: 198
Рейтинг сообщения: 0
Ну как скучно..пришлось проездом написать для STM8 прогу, с синтаксисом для IAR запутался, для STM32 побитово писать я пробовал,а тут что то затупил. STM8S003. Какой бит для чего я понял, а вот как писать,чтоб IAR не ругался.. Хидеры конечно же смотрел. TIM2_CCMR1_OC1M&=0x3;-такое не проходит.
А вот это надо запомнить-
CLK->PCKENR1 = CLK_PCKENR1_TIM1 * 0
| CLK_PCKENR1_TIM2 * 1 ....
-биты умножать на ноль и один.


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

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
dm211 писал(а):
TIM2_CCMR1_OC1M&=0x3;-такое не проходит.
В смысле?

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер STM8
СообщениеДобавлено: Ср дек 27, 2017 05:58:36 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 7
Зарегистрирован: Вс дек 10, 2006 19:26:13
Сообщений: 198
Рейтинг сообщения: 0
dm211 писал(а):
TIM2_CCMR1_OC1M&=0x3;-такое не проходит.
В смысле?

Только по синтаксису, а за разьяснение-спасибо.


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

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

Добавлено after 1 minute 15 seconds:
Ну погасите бит классически аврским способом. REG&=~(1<<n);

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер STM8
СообщениеДобавлено: Ср дек 27, 2017 06:20:38 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 7
Зарегистрирован: Вс дек 10, 2006 19:26:13
Сообщений: 198
Рейтинг сообщения: 0
Ну тут в названии бита разница, вот такое правильно будет?
TIM2->CCMR1= TIM2_CCMR_OCM & 0x3;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер STM8
СообщениеДобавлено: Ср дек 27, 2017 06:55:55 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
У меня в хидере таких определений нет. Вы можете сами это сделать или может у Вас уже есть такие определения.
Однако такой конструкцией Вы погасите остальные биты в регистре.

Видимо TIM2_CCMR_OCM это константа 0x70;
Чтобы выключить бит OCM2, сделайте так.

TIM2->CCMR1&= ~(TIM2_CCMR_OCM & 0x40);

Возможно у Вас определена константа TIM2_CCMR_OCM2 как 0x40. Тогда
TIM2->CCMR1&= ~(TIM2_CCMR_OCM2);

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер STM8
СообщениеДобавлено: Ср дек 27, 2017 07:21:50 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 7
Зарегистрирован: Вс дек 10, 2006 19:26:13
Сообщений: 198
Рейтинг сообщения: 0
Так определен в stm8s.h-
#define TIM2_CCMR_OCM ((uint8_t)0x70) /*!< Output Compare x Mode mask. */


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер STM8
СообщениеДобавлено: Ср дек 27, 2017 08:21:47 
Собутыльник Кота
Аватар пользователя

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

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

Добавлено after 55 minutes 50 seconds:
Z_h_e писал(а):
Однако такой конструкцией Вы погасите остальные биты в регистре.
Хотя у Вас они наверное и так выключены (я про остальные биты регистра). Тогда достаточно будет оператора присваивания =, без логических операций.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймер STM8
СообщениеДобавлено: Ср дек 27, 2017 13:42:11 
Опытный кот
Аватар пользователя

Карма: 16
Рейтинг сообщений: 166
Зарегистрирован: Вс дек 02, 2012 16:58:33
Сообщений: 826
Откуда: Уже не город Белых гор
Рейтинг сообщения: 0
А вот это надо запомнить-
CLK->PCKENR1 = CLK_PCKENR1_TIM1 * 0
| CLK_PCKENR1_TIM2 * 1 ....
-биты умножать на ноль и один.

Так можно просто взять все описания битов из хедера и регулировать в процессе отладки программы.
Поэтому у меня нет функций в настройках периферии, только несколько присваиваний. :))


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

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


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

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


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

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


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