pwm.h
#ifndef __PWM_H__
#define __PWM_H__
#include "stm32mp1xx_gpio.h"
#include "stm32mp1xx_rcc.h"
#include "stm32mp1xx_tim.h"
void tim4_init();
void motor_init(); //PF6-----TIM16_CH1
void fan_init(); //PE9---->TIM1_CH1
#endif
pwm.c
#include "pwm.h"
void tim4_init()
{
RCC->MP_AHB4ENSETR |=(0x1 << 1);
RCC->MP_APB1ENSETR |=(0x1 << 2);
GPIOB->MODER &=(~(0x3 << 12));
GPIOB->MODER |=(0x1 << 13);
GPIOB->AFRL &=(~(0xf << 24));
GPIOB->AFRL |=(0x1 << 25);
TIM4->PSC |=(0xD0);
TIM4->ARR |=(0x3E8);
TIM4->CCR1 |=(0x12C);
TIM4->CR1 |=(0x1 << 7);
TIM4->CR1 &=(~(0x3 << 5));
TIM4->CR1 |=(0x9 << 0);
TIM4->CCMR1 &=(~(0x1 << 16));
TIM4->CCMR1 &=(~(0x7 << 4));
TIM4->CCMR1 |=(