OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3232|回复: 0

stm32f030 互补PWM输出问题

[复制链接]

5

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2016-1-18
在线时间
12 小时
发表于 2017-2-13 11:42:19 | 显示全部楼层 |阅读模式
1金钱
    最近在用stm32f030做无感foc移植工作,需要配置6路互补PWM输出,使用的是MX_Cube生成的库文件,但是配置后六路输出的PWM只有5路有输出,分别为UH,VH,VL,WH,WL,只有UL没有输出,百思不得其解,下面是采用HAL库的main函数。检测PWM是直接从PWM输出口检测的,不存在硬件上测试点不对的情况,请大神帮忙有什么可能,谢谢!

void main(void)
{
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* Configure the system clock */
  SystemClock_Config();

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
// MX_ADC_Init();
  MX_TIM1_Init();
  MX_TIM6_Init();

  /* USER CODE BEGIN 2 */
  TIM1->CCR1 = 600;
  TIM1->CCR2 = 1200;
  TIM1->CCR3 = 1800;

//  ADC1->CR |= 1 << 0;                        // ADC enable command

  __ASM("NOP");__ASM("NOP");__ASM("NOP");__ASM("NOP");__ASM("NOP");
  TIM1->CCER |= 0x0555;         // 六路互补输出使能 为什么只有五路?
  __ASM("NOP");__ASM("NOP");__ASM("NOP");__ASM("NOP");__ASM("NOP");
  TIM1->CR1 |= 1 << 0;              // TIM1 counter enable

  TIM6->CR1 |= 1 << 0;              // TIM6 counter enable
  TIM1->BDTR |= 0;   // 调试先不加死区

  /* TIM1 Main Output Enable */
  TIM1->BDTR |= 0x8000;
  while (1)
  {

  }

}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 22:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表