1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Avem-Avem

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
motor.c 1.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
but0n Отправлено 8 лет назад 9715d7a
#include "motor.h"
#include "stm32f10x.h"
//A7
void motor_PWM_Init(unsigned short arr, unsigned short psc) {
//RCC->APB1ENR |= 1<<1; //TIM3 enable
//RCC->APB2ENR |= 1<<2; //GPIOA enable
RCC->APB1ENR |= RCC_APB1ENR_TIM3EN; //TIM3 Enable
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; //IO Port A Enable
RCC->APB2ENR |= RCC_APB2ENR_IOPBEN; //IO Port B for TIM3 Channel 3 and 4
GPIOA->CRL &= 0x00FFFFFF; //Clean
GPIOA->CRL |= 0xBB000000; //复用推挽输出
GPIOA->ODR |= 1<<7; //CH2 GPIO Config
GPIOA->ODR |= 1<<6; //CH1 GPIO Config
GPIOB->CRL &= 0xFFFFFF00;
GPIOB->CRL |= 0x000000BB;
GPIOB->ODR |= 1;
GPIOB->ODR |= 1<<1;
TIM3->ARR = arr - 1;
TIM3->PSC = psc - 1;
TIM3->CCMR1 |= 6<<4; //CH1 Set OC1M[2:0]: PWM Mode
TIM3->CCMR1 |= 1<<3; //CH1 Set OC1PE: Enable
TIM3->CCMR1 |= 6<<12; //CH2 Set OC2M[2:0]: PWM Mode
TIM3->CCMR1 |= 1<<11; //CH2 Set OC2PE: Enable
TIM3->CCMR2 |= 6<<4; //CH3 Set OC3M[2:0]: PWM Mode
TIM3->CCMR2 |= 1<<3; //CH3
TIM3->CCMR2 |= 6<<12; //CH4
TIM3->CCMR2 |= 1<<11;
TIM3->CCER |= 1; //CH1 Output Enable
TIM3->CCER |= 1<<4; //CH2 Output Enable
TIM3->CCER |= 1<<8;
TIM3->CCER |= 1<<12;
TIM3->CR1 = 0x80; //APRE Enable
TIM3->CR1 |= 1; //Set CEN, Allow to Count
//TIM1->BDTR |= 1<<15; //高级定时器需要使能BDTR寄存器
}

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/Avem-Avem.git
git@gitlife.ru:oschina-mirror/Avem-Avem.git
oschina-mirror
Avem-Avem
Avem-Avem
master