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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 766|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

STM32 PWM無輸出

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:31164 發(fā)表于 2022-8-25 07:00 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include "pbdata.h"

u16 fre;
void RCC_Configuration(void);
void GPIO_Configuration(void);
void TIM8_Configuration();

void  Delay (uint32_t nCount)
{
  for(; nCount != 0; nCount--);
}

int main(void)
{
     u16 arr=42000;
     u16 led_dt = arr/2;

                 RCC_Configuration();        //系統(tǒng)時(shí)鐘初始化
                 GPIO_Configuration();//端口初始化
                 TIM8_Configuration(arr);//定時(shí)器和pwm配置
       
                 while(1)
                 {       
                                TIM_SetCompare3(TIM8,led_dt); //用的是TIM3的通道2,輸出PWM         送到相應(yīng)的寄存器中   //滿占空比為900               
                          TIM_SetCompare3(TIM8, 20);

                                                GPIO_SetBits(GPIOB,GPIO_Pin_5);        //LED 發(fā)光
                                                        Delay(0x2ffff);
                                                GPIO_ResetBits(GPIOB,GPIO_Pin_5);//LED 熄滅
                                                        Delay(0x2ffff);
                                                 }       
}

void RCC_Configuration(void)
{
  SystemInit();

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM8,ENABLE);//這個(gè)是必須的,仿真軟件必須的

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//端口復(fù)用,一定在APB2的時(shí)鐘線

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
}

void GPIO_Configuration(void)
{


}

void TIM8_Configuration(arr)
{
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStruct;
        TIM_OCInitTypeDef TIM_OCInitStructure;             //PWM的結(jié)構(gòu)體
       
       
       
         GPIO_InitTypeDef GPIO_InitStructure;
       
//PWM
        GPIO_InitStructure.GPIO_Pin= GPIO_Pin_8;
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;      //通過PWM控制,端口為復(fù)用方式輸出
        GPIO_Init(GPIOC,&GPIO_InitStructure);
       
       
       

        //GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1,ENABLE);//TIM3 復(fù)用功能部分映射,可以此找到對(duì)應(yīng)的管腳
        //關(guān)于部分映射可以參考“STM32參考手冊(cè)”119面
        //定時(shí)器初始化
       
        TIM_TimeBaseStruct.TIM_Period=arr;//初值
        TIM_TimeBaseStruct.TIM_Prescaler=2;//預(yù)分頻
        //不分頻,在晶振為72MHz的情況下,定時(shí)器執(zhí)行到899后即會(huì)溢出,表示計(jì)數(shù)滿
        TIM_TimeBaseStruct.TIM_ClockDivision=0;
        TIM_TimeBaseStruct.TIM_CounterMode=TIM_CounterMode_Up;//向上
        TIM_TimeBaseInit(TIM8,&TIM_TimeBaseStruct);
        //TIM_TimeBaseStruct.TIM_ClockDivision = TIM_CKD_DIV1;                               
       

        //pwm初始化
        //TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;             //使用模式1
        TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable; //使能位
        TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;  
  TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;
        TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset;
        TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_Low;
        TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;



//設(shè)置輸出極性,一定注意

        //TIM_OCInitStructure.TIM_Pulse = 20;
        TIM_OC2Init(TIM8,&TIM_OCInitStructure);
  TIM_OC2PreloadConfig(TIM8,TIM_OCPreload_Enable);            //與裝載使能,不會(huì)說執(zhí)行一次后就不執(zhí)行了
        TIM_CtrlPWMOutputs(TIM8,ENABLE);        //MOE 主輸出使能
        TIM_ARRPreloadConfig(TIM8, ENABLE);

        TIM_Cmd(TIM8,ENABLE);
                 
}
/*PWM不是中斷,所以不需要設(shè)置中斷優(yōu)先級(jí) */


stm32f103無輸出PWM.rar

1.27 MB, 下載次數(shù): 4

PROTUES

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:935919 發(fā)表于 2022-8-25 16:09 | 只看該作者
沒有細(xì)看, 不過似乎沒有指定 PC8和TIM3的那個(gè)通道對(duì)應(yīng)上, 就是TIM3設(shè)定的PWM用在哪個(gè)引腳上面. 試試看 在GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;  后面加一條 GPIO_InitStruct.Alternate = GPIO_xxx_TIM3; 嘻嘻嘻\
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕人成乱码在线观看 | 91精品国产乱码久久久久久 | 国产视频亚洲视频 | 国产一区二区三区四区五区加勒比 | 国产一区二区在线免费观看 | 久久黄网| 欧美精品欧美精品系列 | 波多野吉衣在线播放 | 岛国精品| 一区二区视屏 | 久久久久亚洲精品 | 欧美一级在线视频 | 涩涩视频网 | 激情五月激情综合网 | 韩国理论电影在线 | 欧美欧美欧美 | 久久国产一区二区三区 | 九九热精品免费 | 成人在线一区二区 | 日韩在线观看中文字幕 | 欧美一区免费 | 国产伦精品一区二区三区视频金莲 | 91久久国产综合久久 | 久久久九九 | 另类在线 | 婷婷91| 精品乱码一区二区三四区视频 | 亚洲激情综合 | 在线a视频| 日本成人在线观看网站 | 成人深夜福利网站 | 一区二区av在线 | 黑人巨大精品欧美一区二区免费 | 全免费a级毛片免费看视频免费下 | 久久r精品 | 成人国产精品久久久 | 一级免费看 | 一区二区三区中文字幕 | 日韩一二三 | 国产精品不卡视频 | www.99热.com |