有哪位高手用STM32F303XB JTAG JTDO口(B3)做TIM8输出
将STM32F303CBT6的39脚(B3)复用为TIM8_CH1N,做PWM三相互补输出,发现除TIM8_CH1N外,其他输出均正常,有哪位高手可以指点一下。/* GPIOB&TIM8 Periph clock enable */
RCC->APB2ENR |= 0x00002000;
RCC->AHBENR |= 0x00040000;
//IO
GPIOB->AFR &= 0x00000FFF;
GPIOB->AFR |= 0x55344000;
GPIOB->AFR &= 0xFFFFFF00;
GPIOB->AFR |= 0x000000AA;
/* Speed mode configuration */
GPIOB->OSPEEDR |= 0x000FFFC0;
/* Output mode configuration */
GPIOB->OTYPER &= 0xFFFFFC07;
GPIOB->PUPDR &= 0xFFF0003F;
GPIOB->PUPDR |= 0x000AAA80;
GPIOB->MODER&= 0xFFF0003F;
GPIOB->MODER |= 0x000A2A80;
/****TimeBaseInit********/
//tDTS=tCK_INT, TIM8_ARR register is not buffered;Center-aligned mode 3
TIM8->CR1 = 0x00E0;
//25uS*2;20KHz(1800)
//25uS;40KHz()
/* Set the Autoreload value */
TIM8->ARR = 1800 ;
/* Set the Prescaler value */
TIM8->PSC = 0;
/* Generate an update event to reload the Prescaler
and the repetition counter(only for TIM1 and TIM8) value immediatly */
TIM8->EGR = 0x0001;
/* Reset the Output Polarity level */
TIM8->CCER = 0x00000000;
/* Write to TIMx CR2 */
TIM8->CR2 = 0;
/* Reset the Output Compare Mode Bits */
//PWMA,B,C,4:PWM mode2
TIM8->CCMR1 = 0x00007070;
TIM8->CCMR2 = 0x00007070;
//PWM5
TIM8->CCMR3 = 0x00000060;
/* Set the Capture Compare Register value */
TIM8->CCR1 = 600;
TIM8->CCR2 = 900;
TIM8->CCR3 = 1500;
TIM8->CCR4 = 1800;
TIM8->CCR5 = 1740;
/* Set the Output Compare Polarity */
TIM8->CCER |= 0x00011555;
/* Reset the Output Compare Mode Bits */
//TIM8->CCMR1 &= 0xFFFFF7F7;
//TIM8->CCMR2 &= 0xFFFFF7F7;
//TIM8->CCMR3 &= 0xFFFFFFF7;
TIM8->BDTR = 0x00028108;//????
TIM8->SR &=0xFF7E;
TIM8->DIER = 0x0000;
/* Enable the TIM Counter */
TIM8->CR1 &= 0xFFFE;
TIM8->CR1 |= 0x0001;
贴代码建议用论坛的代码插入工具,否则可能会将代码转化为表情。:D
本帖最后由 xmshao 于 2017-2-17 12:12 编辑
寄存器代码看起来真辛苦,这里没看出配置问题来。
主要检查MODER/AFR寄存器的配置。
你也不妨检查确认下硬件线路。
或者用STM32CUBEMX配置个测试代码试试。
creep 发表于 2017-2-17 10:43
贴代码建议用论坛的代码插入工具,否则可能会将代码转化为表情。
第一次发,见谅见谅。。。 xmshao 发表于 2017-2-17 12:08
寄存器代码看起来真辛苦,这里没看出配置问题来。
主要检查MODER/AFR寄存器的配置。
你也不妨检查确认下硬 ...
检查过MODER和AFR寄存器,没有错。硬件连接也是好的。JTAG的端口有有两个被复用到TIM8输出,一个正常,就是JTDO没有输出。现在准备试一下直接用库函数。
页:
[1]