标题: stm32f103基本定时器,定时器中断服务程序里面输出脉冲波形 [打印本页]

作者: 英英英    时间: 2020-4-16 21:55
标题: stm32f103基本定时器,定时器中断服务程序里面输出脉冲波形
main.c
/**定时器中断TIM3方式,(当基本定时器不用PWM输出)
设计两路输出两路脉冲波:
周期:100us,占空比80%
周期:100us,占空比20%**/
int main(void)
{
         LED_Init();//pc14引脚初始化
         BEEP_Init();/pc13引脚初始化
         TIME_Init();//定时器初始化
         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;//定义基本定时器结构体名字
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能


        //定时器time4初始化
        time3.TIM_Prescaler=72-1;//设置用来作为TIMx时钟频率除数的预分频值7199
        time3.TIM_Period=10-1; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值4999
       TIM_TimeBaseInit(TIM3,&time3); //根据指定的参数初始化TIMx的时间基数单位
       TIM_Cmd(TIM3,ENABLE ); //使能指定的TIMx
        
        TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM4中断,允许更新中断
  
        //中断优先级NVIC设置
        NVIC_InitTypeDef NVIC_InitStructure;
        NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM3中断
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占优先级0级
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;  //从优先级3级
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
        NVIC_Init(&NVIC_InitStructure);  //初始化NVIC寄存器


}


//定时器4中断服务程序
int i=0;
void TIM3_IRQHandler(void)  //TIM4中断
{
        if (TIM_GetITStatus(TIM3, TIM_IT_Update) ==1) //检查TIM4更新中断发生与否
        {
                 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更新中断标志
  }  
}


41df6feb3a62aea7b9fb6e08f409737.png (182.49 KB, 下载次数: 51)

41df6feb3a62aea7b9fb6e08f409737.png

作者: 2362765482    时间: 2020-6-3 01:12
有代码吗,学习学习
作者: NWT777777    时间: 2020-7-24 14:34
有没有proteus的仿真图,想学习




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1