stm32f4 cmsis шим

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

stm32f4 cmsis шим

Сообщение ivan dimir »

Как правильно настроить ШИМ
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: stm32f4 cmsis шим

Сообщение Мурик »

Реклама
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32f4 cmsis шим

Сообщение ivan dimir »

Это аморфно алгоритм

Добавлено after 2 minutes 2 seconds:
Конкретно для stm32f4
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32f4 cmsis шим

Сообщение ivan dimir »

На f1 работает на f4 не работает?

Добавлено after 1 minute 19 seconds:
Таймер проверял пашет.А настраиваю шим .На f4 его нет

Добавлено after 4 seconds:
Таймер проверял пашет.А настраиваю шим .На f4 его нет

Добавлено after 5 seconds:
Таймер проверял пашет.А настраиваю шим .На f4 его нет
Реклама
Эиком - электронные компоненты и радиодетали
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32f4 cmsis шим

Сообщение ivan dimir »

Ау коты вы где?
Реклама
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: stm32f4 cmsis шим

Сообщение a5021 »

Наверное коты заняты тем, что медитируют, силясь увидеть ваши исходники.
Реклама
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32f4 cmsis шим

Сообщение ivan dimir »

void timer4(void)
{
//RCC->AHB1ENR|=RCC_AHB1ENR_GPIODEN;

GPIOD->MODER|=GPIO_MODER_MODER12_1 ;
GPIOD->MODER&=~GPIO_MODER_MODER12_0 ;
GPIOD->MODER|=GPIO_MODER_MODER13_1 ;
GPIOD->MODER&=~GPIO_MODER_MODER13_0 ;
GPIOD->MODER|=GPIO_MODER_MODER14_1 ;
GPIOD->MODER&=~GPIO_MODER_MODER14_0 ;
GPIOD->MODER|=GPIO_MODER_MODER15_1 ;
GPIOD->MODER&=~GPIO_MODER_MODER15_0 ;
//GPIOD->AFR[1]|=0x02 ;

RCC->APB1ENR|=RCC_APB1ENR_TIM4EN;
TIM4->PSC=0;
TIM4->ARR=4095;


TIM4->CCMR1&=~TIM_CCMR1_CC1S;//
TIM4->CCMR1&=~TIM_CCMR1_CC2S;//
TIM4->CCMR2&=~TIM_CCMR2_CC3S;//
TIM4->CCMR2&=~TIM_CCMR2_CC4S;//
TIM4->CR1&=~TIM_CR1_DIR;
TIM4->CCMR1|=TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1;
TIM4->CCMR1|=TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2M_1;
TIM4->CCMR2|=TIM_CCMR2_OC3M_2 | TIM_CCMR2_OC3M_1;
TIM4->CCMR2|=TIM_CCMR2_OC4M_2 | TIM_CCMR2_OC4M_1;
TIM4->CCMR1|=TIM_CCMR1_OC1PE;
TIM4->CCMR1|=TIM_CCMR1_OC2PE;
TIM4->CCMR2|=TIM_CCMR2_OC3PE;
TIM4->CCMR2|=TIM_CCMR2_OC4PE;

TIM4->CCER|=TIM_CCER_CC1E;
TIM4->CCER|=TIM_CCER_CC2E;
TIM4->CCER|=TIM_CCER_CC3E;
TIM4->CCER|=TIM_CCER_CC4E;
TIM4->CCER&=~TIM_CCER_CC1P;
TIM4->CR1|=TIM_CR1_ARPE;
TIM4->EGR|= TIM_EGR_UG;
TIM4->CR1|= TIM_CR1_CEN;
}
int main(void)
{
//RCC_init();
init_IWDGtimer();
//RCC->AHB1ENR|=RCC_AHB1ENR_GPIODEN;
AHB1ER_init();
AFR_init();
GPIO_init();
// GPIOD_init();
// EXTI_Init();
timer_2_init();
timer_3_init();
timer4();
adc_init();

Добавлено after 34 seconds:
void AFR_init(void)
{
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL12_0 ;
GPIOD->AFR[1]|=GPIO_AFRH_AFSEL12_1 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL12_2 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL12_3 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL13_0 ;
GPIOD->AFR[1]|=GPIO_AFRH_AFSEL13_1 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL13_2 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL13_3 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL13_0 ;
GPIOD->AFR[1]|=GPIO_AFRH_AFSEL14_1 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL14_2 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL14_3 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL15_0;
GPIOD->AFR[1]|=GPIO_AFRH_AFSEL15_1;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL15_2;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL15_3;
}

Добавлено after 5 seconds:
void AFR_init(void)
{
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL12_0 ;
GPIOD->AFR[1]|=GPIO_AFRH_AFSEL12_1 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL12_2 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL12_3 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL13_0 ;
GPIOD->AFR[1]|=GPIO_AFRH_AFSEL13_1 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL13_2 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL13_3 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL13_0 ;
GPIOD->AFR[1]|=GPIO_AFRH_AFSEL14_1 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL14_2 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL14_3 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL15_0;
GPIOD->AFR[1]|=GPIO_AFRH_AFSEL15_1;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL15_2;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL15_3;
}

Добавлено after 5 seconds:
void AFR_init(void)
{
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL12_0 ;
GPIOD->AFR[1]|=GPIO_AFRH_AFSEL12_1 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL12_2 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL12_3 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL13_0 ;
GPIOD->AFR[1]|=GPIO_AFRH_AFSEL13_1 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL13_2 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL13_3 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL13_0 ;
GPIOD->AFR[1]|=GPIO_AFRH_AFSEL14_1 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL14_2 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL14_3 ;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL15_0;
GPIOD->AFR[1]|=GPIO_AFRH_AFSEL15_1;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL15_2;
GPIOD->AFR[1]&=~GPIO_AFRH_AFSEL15_3;
}

Добавлено after 1 minute 7 seconds:
Вопрос решён.
Ответить

Вернуться в «ARM»