久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1813|回復: 0
收起左側

stm32配置pwm

[復制鏈接]
ID:251663 發表于 2017-11-24 18:22 | 顯示全部樓層 |閱讀模式
#include "pwm.h"
#include "led.h"

//void TIM3_Int_Init(u16 arr,u16 psc)
//{
//TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
//NVIC_InitTypeDef NVIC_InitStructure;
//RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //①時鐘 TIM3 使能
////定時器 TIM3 初始化
//TIM_TimeBaseStructure.TIM_Period = arr; //設置自動重裝載寄存器周期的值
//TIM_TimeBaseStructure.TIM_Prescaler =psc; //設置時鐘頻率除數的預分頻值
//TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //設置時鐘分割
//TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM 向上計數
//    TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //②初始化 TIM3
//TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //③允許更新中斷
////中斷優先級 NVIC 設置
//NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //TIM3 上升中斷
//NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占優先級 0 級
//NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //從優先級 3 級
//NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ 通道被使能
//NVIC_Init(&NVIC_InitStructure); //④初始化 NVIC 寄存器
//TIM_Cmd(TIM3, ENABLE); //⑤使能 TIM3
//}
//定時器 3 中斷服務程序⑥
//void TIM3_IRQHandler(void) //TIM3 中斷
//{
//if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //檢查 TIM3 更新中斷發生與否
//{
//TIM_ClearITPendingBit(TIM3, TIM_IT_Update ); //清除 TIM3 更新中斷標志
//LED1=!LED1;
//}
//}

void TIM3_PWM_Init(u16 arr,u16 psc)
{

        GPIO_InitTypeDef GPIO_InitStructure;
    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        TIM_OCInitTypeDef TIM_OCInitSture;
        
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //①使能 TIM3時鐘
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO,ENABLE);//①使能 GPIO 和 AFIO 復用功能時鐘

    GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_9;//端口配置 led0=PC8 led1=PC9
    GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;//復用推挽
    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//
    GPIO_Init(GPIOC,&GPIO_InitStructure);//初始化GPIO

    GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
        GPIO_InitStructure.GPIO_Pin= GPIO_Pin_6|GPIO_Pin_5;
    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOC,&GPIO_InitStructure);
        
        //映射
        
        GPIO_PinRemapConfig( GPIO_FullRemap_TIM3  ,ENABLE);//映射
        
        //定時器TIM3初始化
        
        TIM_TimeBaseStructure.TIM_Period = arr; //設置自動重裝載寄存器周期的值
    TIM_TimeBaseStructure.TIM_Prescaler =psc; //設置時鐘頻率除數的預分頻值
    TIM_TimeBaseStructure.TIM_ClockDivision =TIM_CKD_DIV1; //設置時鐘分割
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM 向上計數
    TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);//初始化 TIN3
        
        //初始化TIM3 PWM模式
        TIM_OCInitSture.TIM_OCMode=TIM_OCMode_PWM1;//選擇 PWM 模式 1
        TIM_OCInitSture.TIM_OutputState=TIM_OutputState_Enable;//比較輸出使能
        TIM_OCInitSture.TIM_OCPolarity=TIM_OCPolarity_High;//輸出極性高
        TIM_OC3Init(TIM3,&TIM_OCInitSture);//④初始化外設 TIM3 OC3
        
        TIM_OCInitSture.TIM_OCMode=TIM_OCMode_PWM1;
        TIM_OCInitSture.TIM_OutputState=TIM_OutputState_Enable;
        TIM_OCInitSture.TIM_OCPolarity= TIM_OCPolarity_High;
        TIM_OC4Init(TIM3,&TIM_OCInitSture);//④初始化外設 TIM3 OC4
        
        
        
    TIM_OC3PreloadConfig( TIM3,TIM_OCPreload_Enable);//使能預裝載寄存器
        TIM_OC4PreloadConfig( TIM3,TIM_OCPreload_Enable);
        TIM_Cmd(TIM3, ENABLE); //⑤使能 TIM3
        
}






回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩三级一区 | 国产成人99久久亚洲综合精品 | 中文字幕在线观看视频一区 | 浴室洗澡偷拍一区二区 | 天堂久久av | 可以在线看的黄色网址 | 亚洲一区日韩 | 中文字幕一级毛片视频 | 国产精品福利在线 | 中日av | 国产色在线 | 欧美日本韩国一区二区 | 国产成人免费在线 | 欧美天堂在线观看 | 亚洲综合字幕 | 免费观看av| 午夜电影网站 | 欧美日韩高清 | 性网址| 国产一区久久 | 国产在线精品一区二区三区 | 久草视频在线播放 | 免费观看毛片 | 欧美日韩视频 | 久草中文网| 丝袜毛片| 欧美日韩在线观看一区 | 欧美综合在线视频 | 国产在线一区二区 | 激情av在线 | 久久小视频| 四虎国产| 91国在线| 在线免费观看黄视频 | 久久久久久国产精品久久 | 久久亚洲一区二区 | 中日av | 中文字幕亚洲精品在线观看 | 亚洲视频国产 | 日韩一级在线 | 国产精品影视 |