Программирование STM8

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Программирование STM8

Сообщение a5021 »

поделитесь?
Реклама
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Программирование STM8

Сообщение oleg110592 »

велосипед не хочется изобретать - идите на поклон к товарищу Kinder_Surprise
Реклама
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Программирование STM8

Сообщение a5021 »

Вы серьезно предполагали, что на такую дубовую разводку кто-то поведется? Товарищ киндер занят. Он тактовую фильтрует и припаивает кварц на 16.384 для алиби.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Программирование STM8

Сообщение oleg110592 »

опять мировой заговор против вас? Делать людям нечего - ходить на форумы и вас разводить. Посмотрите внимательно RM по TIM1 - то что на картинке сделать вполне можно.
Реклама
Эиком - электронные компоненты и радиодетали
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Программирование STM8

Сообщение a5021 »

Когда вы меня попросили объяснить, я объяснил. Показал расчет полностью. Когда я прошу вас пояснить вашу мысль, вы предлагаете мне, чтобы я занялся этим самостоятельно. Вы серьезно считаете, что я не вижу в чем тут дело? И есть у меня ощущение, что не только я.
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Программирование STM8

Сообщение dosikus »

a5021, вы скучный, тупой ардуиновод-теоретик. Все уже работает.
Реклама
Kinder_Surprise
Открыл глаза
Сообщения: 49
Зарегистрирован: Вс июн 07, 2015 20:45:22

Re: Программирование STM8

Сообщение Kinder_Surprise »

a5021 писал(а):кварц на 16.384
Посмеялся. Делать мне нечего, у меня TCXO на 16,368М к STM8S903 прикручен. А невелика разница.
Но у вас есть повод пошуметь, однозначно.
oleg110592 писал(а):Посмотрите внимательно RM по TIM1 - то что на картинке сделать вполне можно.
Лучше галстуком хрустеть и ардуино-арифмометром скрипеть.
a5021 писал(а):Вы серьезно считаете, что я не вижу в чем тут дело? И есть у меня ощущение, что не только я.
Референс прочитайте, хоть один раз! А других приплетать не нужно.

Всё работает как заявлено, смиритесь.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Программирование STM8

Сообщение a5021 »

dosikus писал(а):a5021, вы скучный, тупой ардуиновод-теоретик. Все уже работает.
Всей троицой, что-ли, мозговой штурм устраивали? Показывайте, какую мышь родила эта гора.
Kinder_Surprise писал(а):Посмеялся. Делать мне нечего, у меня TCXO на 16,368М к STM8S903 прикручен. А невелика разница.
Надо же, как вовремя он там оказался. Ну это ли не чудо?
Kinder_Surprise
Открыл глаза
Сообщения: 49
Зарегистрирован: Вс июн 07, 2015 20:45:22

Re: Программирование STM8

Сообщение Kinder_Surprise »

a5021 писал(а):Показывайте, какую мышь родила эта гора.
Это не я, не он, не мы и не гора. Это ребята из STM.
Ну это ли не чудо?
Нет, не чудо. Это страница даташита, который вы упорно продолжаете игнорировать.
17.3.7 Repetition down-counter
Section 17.3: TIM1 time base unit describes how the UEV is generated with respect to
counter overflows/underflows. It is generated only when the repetition down-counter
reaches zero. This can be useful while generating PWM signals.
This means that data are transferred from the preload registers to the shadow registers
(TIM1_ARR auto-reload register, TIM1_PSCR prescaler register, and TIM1_CCRx
capture/compare registers in compare mode) every ‘n’ counter overflow or underflow, where
N is the value in the TIM1_RCR repetition counter register.
The repetition down-counter is decremented:
 At each counter overflow in up-counting mode
 At each counter underflow in down-counting mode
 At each counter overflow and at each counter underflow in center-aligned mode.
Although this limits the maximum number of repetitions to 128 PWM cycles, it makes it
possible to update the duty cycle twice per PWM period. When refreshing compare
registers only once per PWM period in center-aligned mode, maximum resolution is
2 x tCK_PSC due to the symmetry of the pattern.
The repetition down-counter is an auto-reload type, the repetition rate of which is
maintained as defined by the TIM1_RCR register value (refer to Figure 42). When the UEV
is generated by software (by setting the UG bit in the TIM1_EGR register) or by hardware
(through the clock/trigger controller), it occurs immediately irrespective of the value of the
repetition down-counter. The repetition down-counter is reloaded with the content of the
TIM1_RCR register.
Сможете одолеть самостоятельно?
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Программирование STM8

Сообщение a5021 »

Kinder_Surprise писал(а):Это не я, не он, не мы и не гора. Это ребята из STM.
Ребята из STM прикрутили вам "TCXO на 16,368М к STM8S903" ? Во дают! Но код, как я понимаю, велели никому не показывать? Или они его еще вам не дописали? Код. Ну тот, по которому вы картинки снимали.
Kinder_Surprise
Открыл глаза
Сообщения: 49
Зарегистрирован: Вс июн 07, 2015 20:45:22

Re: Программирование STM8

Сообщение Kinder_Surprise »

Вот так за своими постоянными мелочными придирками вы сути вещей и не видите. И зачем вам код? Число 7 в TIM1->RCR загрузить не можете? Или для очередного шума? Так шуметь в 130dB на несколько страниц вы и так можете, даже без повода.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Программирование STM8

Сообщение a5021 »

Kinder_Surprise писал(а):Вот так за своими постоянными мелочными придирками вы сути вещей и не видите.
Из мелочей соткана картина мира. Как же я могу видеть суть ваших вещей, если вы не показываете ни сути, ни самих вещей? Я не прорицатель и не всевидящий.
И зачем вам код?
На обработчик прерывания хочу посмотреть, который 17-ю тактами всю работу делает. Очень уж мне этот рисунок в душу запал. Как-то все-таки долго вы его дописываете. Помощь нужна?
Kinder_Surprise
Открыл глаза
Сообщения: 49
Зарегистрирован: Вс июн 07, 2015 20:45:22

Re: Программирование STM8

Сообщение Kinder_Surprise »

Пожалейте уже себя. Ещё галстук не переварился, а вы уже к тапкам тянетесь. Напишите свой, в два раза короче. Что мешает?
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Программирование STM8

Сообщение a5021 »

Kinder_Surprise писал(а):Напишите свой, в два раза короче. Что мешает?
Как вы себе представляете код, который в два раза короче нуля строк ? Короче, кода нет, зато так удачно материализовавшийся TCXO есть. К утру-то хоть допишете? Досикус сказал, что там всего-то несколько строк. И у вас такой запор с этим?

Я бы, может, и не приставал, но ваши наперсники к вам за кодом послали. Типа, говорят, вы там самый умный. Вот я и думаю, если самый умный скрины топорных фейков вешает и тактовую таймера фильтрует, то на какие же умопомрачительные подвиги остальные горазды? Прямо оторопь берет.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Программирование STM8

Сообщение oleg110592 »

ну прям д’Артаньян и три мушкетера (или гвардейца кардинала?). Не удалось поднять уровень вашего оптимизма, а ведь рецепт на блюдечке принесли... :)))
И скрины "топорных фейков" почему то совпадают со скринами RM:
Изображение
в ST, наверное, тоже работают гвардейцы кардинала.
Прения, считаю, можно прекратить - оппонент не желает переубеждаться - так ему и надо :))
Kinder_Surprise выложите код пожалуйста - полезно в этой теме будет.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Программирование STM8

Сообщение dosikus »

oleg110592, насколько помниться в аппаратную LED индикацию его носом уже тыкали . Толку было ноль
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Программирование STM8

Сообщение oleg110592 »

та тыкали уже и в хидеры и в керниганов с ричами и в переносимость кода между семействами и в посегментные индикаторы и айпи-стеки и т.д. - ничо не берет - это ж сам д’Артаньян.
Спойлер
Все пи****сы, а я — д’Артаньян — приоритетная жизненная установка чуть менее чем всего населения этой планеты, девиз небыдла.
Небыдло — подвид быдла, в силу ряда субъективных причин не считающий себя таковым. Отличается уверенностью в своей явной богоизбранности и в определенном превосходстве над остальными (хотя 99% небыдла в лучшем случае превосходит только своего соседа алкаша, и то — далеко не факт что).
Мышление небыдла
В отсутствие быдла небыдло чахнет и увядает. Причина проста — не с кем себя любимого сравнивать, воздвигая пьедестал собственной значимости. Впрочем, у продвинутого небыдла всегда найдется объяснение (по Фрейду, по Юнгу, по Адлеру или даже по Кащенко), почему некоторые окружающие суть гадкое и мерзкое быдло, кем бы они ни были на самом деле. У психологов это называется «рационализация».
p.s. в теме "ARM или не-ARM?" разместил информацию о микросхеме записи/воспроизведения звука ISD9361VRI со встроенным контроллером на базе ядра ARM® Cortex™-M0 - для нашей задачи практически все готово - микрофон напрямую, внутри есть усилитель класса D
Kinder_Surprise
Открыл глаза
Сообщения: 49
Зарегистрирован: Вс июн 07, 2015 20:45:22

Re: Программирование STM8

Сообщение Kinder_Surprise »

oleg110592 писал(а):Kinder_Surprise выложите код пожалуйста - полезно в этой теме будет.
Вот набросок. Для понимания хватит.

Код: Выделить всё

volatile uint8_t count = 0;

uint8_t data_TIM_ARR[] = {0, 127, 255};
uint8_t data_ADC[3];
Настройка таймера

Код: Выделить всё


  TIM1->ARRH  = 0;                     //Частота переполнений 
  TIM1->ARRL  = 255;
  
  TIM1->CCR1H = 0;                    // Pulse_Output = ARR - CCR1 
  TIM1->CCR1L = (uint8_t) 127;

  TIM1->RCR = 7;
      
  TIM1->CCMR1 |= (TIM1_CCMR_OCM_1 | TIM1_CCMR_OCM_2 | TIM1_CCMR_OCxPE);   // PWM Mode1 
  
  TIM1->CR1 |= TIM1_CR1_URS;              
  
  TIM1->EGR |= TIM1_EGR_UG;               // Update Generation
  nop();
  nop();
  
  TIM1->SR1 = 0;                          
  
  TIM1->IER |= TIM1_IER_UIE;           

  TIM1->CCER1 |= TIM1_CCER1_CC1E;     // Compare Mode enable
  TIM1->BKR   |= TIM1_BKR_MOE;  
  
  TIM1->CR1 |= (TIM1_CR1_CEN | TIM1_CR1_ARPE);
  
__enable_interrupt(); 
 
прерывание

Код: Выделить всё


INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_IRQHandler, 11)
{

  TIM1->CCR1L = data_TIM_ARR[count];

  data_ADC[count] = ADC1->DRL;

  ADC1->CR1 |= ADC1_CR1_ADON;

  count++;

  if(count > 2) count = 0;
  
  TIM1->SR1 = 0;          
}
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Программирование STM8

Сообщение oleg110592 »

СПАСИБО, на первый взгляд обычная настройка таймера, но регистр TIM1->RCR может творить чудеса...
О сколько нам открытий чудных
Готовят просвещенья дух
И опыт, сын ошибок трудных,
И гений, парадоксов друг(с)
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Программирование STM8

Сообщение dosikus »

oleg110592 , всего лишь перестать думать софтовыми шаблонами AVR и аурдуньи .
Тем более что у a5021 все время уходит на изливание словесного поноса , ему не то что думать, читать некогда .
Да и природная тупость не позволяет осознать элементарные вещи .
Ответить

Вернуться в «Разные вопросы по МК»