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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3173|回復(fù): 2
收起左側(cè)

stm32f103基本定時(shí)器,定時(shí)器中斷服務(wù)程序里面輸出脈沖波形

[復(fù)制鏈接]
ID:545952 發(fā)表于 2020-4-16 21:55 | 顯示全部樓層 |閱讀模式
main.c
/**定時(shí)器中斷TIM3方式,(當(dāng)基本定時(shí)器不用PWM輸出)
設(shè)計(jì)兩路輸出兩路脈沖波:
周期:100us,占空比80%
周期:100us,占空比20%**/
int main(void)
{
         LED_Init();//pc14引腳初始化
         BEEP_Init();/pc13引腳初始化
         TIME_Init();//定時(shí)器初始化
         while(1);
}


time.c
#include "stm32f10x.h"
#include "time.h"
#include "delay.h"
#include "beep.h"
#include<stdio.h>
void TIME_Init(void)
{
       TIM_TimeBaseInitTypeDef  time3;//定義基本定時(shí)器結(jié)構(gòu)體名字
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //時(shí)鐘使能


        //定時(shí)器time4初始化
        time3.TIM_Prescaler=72-1;//設(shè)置用來(lái)作為T(mén)IMx時(shí)鐘頻率除數(shù)的預(yù)分頻值7199
        time3.TIM_Period=10-1; //設(shè)置在下一個(gè)更新事件裝入活動(dòng)的自動(dòng)重裝載寄存器周期的值4999
       TIM_TimeBaseInit(TIM3,&time3); //根據(jù)指定的參數(shù)初始化TIMx的時(shí)間基數(shù)單位
       TIM_Cmd(TIM3,ENABLE ); //使能指定的TIMx
        
        TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM4中斷,允許更新中斷
  
        //中斷優(yōu)先級(jí)NVIC設(shè)置
        NVIC_InitTypeDef NVIC_InitStructure;
        NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM3中斷
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占優(yōu)先級(jí)0級(jí)
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;  //從優(yōu)先級(jí)3級(jí)
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
        NVIC_Init(&NVIC_InitStructure);  //初始化NVIC寄存器


}


//定時(shí)器4中斷服務(wù)程序
int i=0;
void TIM3_IRQHandler(void)  //TIM4中斷
{
        if (TIM_GetITStatus(TIM3, TIM_IT_Update) ==1) //檢查T(mén)IM4更新中斷發(fā)生與否
        {
                 if(i<2)
                 GPIO_ResetBits(GPIOC,GPIO_Pin_13);
                 else
                 GPIO_SetBits(GPIOC,GPIO_Pin_13);
                 if(i<5)
                 GPIO_ResetBits(GPIOC,GPIO_Pin_14);
                 else
                 GPIO_SetBits(GPIOC,GPIO_Pin_14);        
                 i++;
                 if(i>9)
                 i=0;
         TIM_ClearITPendingBit(TIM3,TIM_IT_Update); //清除TIMx更新中斷標(biāo)志
  }  
}


41df6feb3a62aea7b9fb6e08f409737.png

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:756182 發(fā)表于 2020-6-3 01:12 來(lái)自手機(jī) | 顯示全部樓層
有代碼嗎,學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:807592 發(fā)表于 2020-7-24 14:34 | 顯示全部樓層
有沒(méi)有proteus的仿真圖,想學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表