003_飞控_PWM_out

本文档详细介绍了使用STM32F4微控制器进行飞控板的8路PWM输出。内容涵盖寄存器配置、参考手册以及相关的pwm.h和pwm.c源代码文件。PWM输出与电路设计相结合,提供了飞控系统的完整解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 寄存器版本
    参考手册:
    STM32F4xx中文参考手册.pdf
    STM32F405xx,STM32F407xx.pdf
  • pwm.h
#ifndef __PWM_H
#define __PWM_H
#include "sys.h" 
 //模块使能宏
#define TIM1_NUM 1 
#define TIM5_NUM 1

#define PWM1  TIM1->CCR1   
#define PWM2  TIM1->CCR2  
#define PWM3  TIM1->CCR3   
#define PWM4  TIM1->CCR4  

#define PWM5  TIM5->CCR1   
#define PWM6  TIM5->CCR2  
#define PWM7  TIM5->CCR3   
#define PWM8  TIM5->CCR4  

//输出通道初始化
void out_pwm_io_init(u16 arr,u16 psc);
//TIM PWM输出
void setPwm(uint16_t num0,uint16_t num1,uint16_t num2,uint16_t num3);
#endif


  • pwm.c
#include"pwm.h"

void out_pwm_io_init(u16 arr,u16 psc)
{
	#if TIM1_NUM==1
	/*******	TIM1  CH1_E9	CH2_E11 CH3_E13 CH4_E14			*******/
	RCC->AHB1ENR|=1<<4;
	RCC->APB2ENR|=1<<0;
	GPIO_Set(GPIOE,PIN9|PIN11|PIN13|PIN14,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);
	GPIO_AF_Set(GPIOE,9|11|13|14,1);
	
	TIM1->ARR=arr;   //设定计数器自动重装值
	TIM1->PSC=psc;  //设定预分频系数
	
	TIM1->CCMR1 |=6<<4; //CH1 PWM1 模式
	TIM1->CCMR1 |=6<<12; //CH2 PWM1 模式
	TIM1->CCMR2 |=6<<4;	//CH3 PWM1
	TIM1->CCMR2 |=6<<12;//CH4 PWM1
	
	TIM1->CCMR1 |=1<<3; // ch1预装载使能
	TIM1->CCMR1 |=1<<11; // ch2预装载使能
	TIM1->CCMR2 |=1<<3;// ch3预装载使能
	TIM1->CCMR2 |=1<<11;// ch4预装载使能
	/****/
	TIM1->EGR|=1<<0;  //ug位置一  不知道加这一句有什么用 看手册需要加
	
	TIM1->CCER |=1<<0;  //oc1  输出使能
	TIM1->CCER |=0<<1;   //oc1 高电平有效
	TIM1->CCER |=1<<4;   //CH2输出使能	
	TIM1->CCER |=0<<5;   //oc2 高电平有效	
	TIM1->CCER |=1<<8;   //CH3输出使能	
	TIM1->CCER |=0<<9;   //oc3 高电平有效	
	TIM1->CCER |=1<<12;   //CH4输出使能	
	TIM1->CCER |=0<<13;   //oc4 高电平有效	
	//TIM4->BDTR |= 1<<15;       //TIM1必须要这句话才能输出PWM
	TIM1->CR1|=1<<7;  //arpe使能
	TIM1->CR1|=1<<0;  //使能定时器4
	
	#endif
	
#if TIM5_NUM==1 	
	
	//	TIM5  CH1_A0	CH2_A1 CH3_A2 CH4_
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值