Dec. 11th, 2017

eddy_em: (Default)
Пару часов промучился после обеда с таймером. Вроде как привычные куски кода. Инициализация:

    TIM14->CCMR1 = TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0;
    TIM14->PSC = 999; // 48kHz
    TIM14->CCER = TIM_CCER_CC1E;
    TIM14->DIER = TIM_DIER_UIE;
    NVIC_EnableIRQ(TIM14_IRQn);
    NVIC_SetPriority(TIM14_IRQn, 0);

Аналогично для TIM3. Потом установка скорости:

    TIM_TypeDef *TIMx = nmotor ? TIM3 : TIM14;
    TIMx->ARR = stphigharr[nmotor];
    TIMx->CCR1 = TIMx->ARR >> 1;
    TIMx->CR1 |= TIM_CR1_CEN;

Начинаю со скорости в 10 раз меньше номинальной, дальше разгон, в конце — торможение. Все тупо, внутри обработчика прерывания...
Запускаю — и вместо положенных 80Гц (48кГц/600 — начальная скорость) вижу около 3Гц (с осциллографом буду завтра разбираться, смотрел на светодиод). На 042 аналогичный код работал правильно. Буду искать...
eddy_em: (Default)
У мелкой поломалась "печка": одна "горелка" вообще не работает, а вторая не хочет отключаться какое-то время, и шумит. Взял вчера на али пяток STM8L101F3P6, а сейчас задумался: как эмулировать звуки огня, кипящей воды, жарящегося мяса? Наверняка, для огня сгодится обычный белый шум (ГСЧ из биполярного транзистора, подключенного ко входу АЦП?), которым можно модулировать ШИМ (ЦАП там нет). А вот с той же кипящей водой непонятно.
Неужто китайцы закачивают в прошивки куски wav-файлов, чтобы такие звуки воспроизводить?

October 2025

S M T W T F S
   1234
567 89 1011
121314 15161718
19202122232425
2627 28293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 10th, 2026 08:17 pm
Powered by Dreamwidth Studios