找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2700|回复: 2
打印 上一主题 下一主题
收起左侧

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, 下载次数: 50)

41df6feb3a62aea7b9fb6e08f409737.png

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:756182 发表于 2020-6-3 01:12 来自手机 | 只看该作者
有代码吗,学习学习
回复

使用道具 举报

板凳
ID:807592 发表于 2020-7-24 14:34 | 只看该作者
有没有proteus的仿真图,想学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表