当前位置: 首页 > news >正文

提供企业网站建设价格游戏代理免费加盟

提供企业网站建设价格,游戏代理免费加盟,小型工作室创业项目,如何做一元购网站使用定时器实现:B5 E5的开关 添加相关的.h路径文件 添加相关的.c配置文件 led.h文件 用于声明LED函数 #ifndef __LED_H //没有定义__LED_H #define __LED_H //就定义__LED_H #define LED1_ON GPIO_ResetBits(GPIOB,GPIO_Pin_5) #defi…

使用定时器实现:B5 E5的开关

添加相关的.h路径文件

添加相关的.c配置文件

led.h文件        用于声明LED函数

#ifndef __LED_H            //没有定义__LED_H
#define __LED_H            //就定义__LED_H

#define LED1_ON GPIO_ResetBits(GPIOB,GPIO_Pin_5)
#define LED1_OFF GPIO_SetBits(GPIOB,GPIO_Pin_5)

#define LED2_ON GPIO_ResetBits(GPIOE,GPIO_Pin_5)
#define LED2_OFF GPIO_SetBits(GPIOE,GPIO_Pin_5)

//里面放宏定义 函数申明
void LED_Lnit(void);

#endif

led.c文件        主要用于LED灯的配置

#include "stm32f10x.h"
#include "led.h"


void LED_Lnit(){
        //定义结构体变量
    GPIO_InitTypeDef GPIO_Initx;
    //打开GPIOB 5的时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
    //给结构体变量的属性的属性的值
    GPIO_Initx.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Initx.GPIO_Pin = GPIO_Pin_5;
    GPIO_Initx.GPIO_Speed = GPIO_Speed_50MHz;
    
    
    //设置B5为推挽输出
    GPIO_Init(GPIOB,&GPIO_Initx);
    GPIO_Init(GPIOE,&GPIO_Initx);
    
}

tim.h文件        //用于声明定时器的函数

#ifndef __TIM_H
#define __TIM_H


#include "stm32f10x.h"
void Tim_init(u16 arr,u16 psc);

#endif

tim.c文件        用于配置定时器

#include "stm32f10x.h"
#include "led.h"

void Tim_init(u16 arr,u16 psc){
    
    TIM_TimeBaseInitTypeDef Tim2;
    NVIC_InitTypeDef NVIC_Initx;
    //1、开启定时器2时钟
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);    //开启TIM2时钟
    
    //2、定时器初始化
    Tim2.TIM_Period = arr;    //自动装载值    装载值10000-1
    Tim2.TIM_CounterMode=TIM_CounterMode_Up;    //计数模式 向上计数
    Tim2.TIM_ClockDivision=TIM_CKD_DIV1;    //时钟分割是输入捕获用的,故这里随便给
    Tim2.TIM_Prescaler=psc;    //预分频值        7200-1

    TIM_TimeBaseInit(TIM2,&Tim2);    
    //3、打开更新中断
    TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);    //此处有中断

    //4、优先级    有中断就有中断优先级
    NVIC_Initx.NVIC_IRQChannel = TIM2_IRQn;    //配置目标:中断线0
    NVIC_Initx.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Initx.NVIC_IRQChannelPreemptionPriority = 1;        //设置抢占优先级
    NVIC_Initx.NVIC_IRQChannelSubPriority = 2;                        //设置响应优先级
    NVIC_Init(&NVIC_Initx);
    
    
    //5、启动定时器
    TIM_Cmd(TIM2,ENABLE);
}


//构建中断服务函数,在.s启动文件中找
void TIM2_IRQHandler()
{
    //交替闪烁    
    //如果B5输出为1 则B5输出为0 E5输出1
    if(GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_5))
    {
        LED1_ON;
        LED2_OFF;
    }
    else    //如果B5输出为0 则B5输出为1 E5输出0
    {
        LED2_ON;
        LED1_OFF;
    }
    //                否则B5输出为1 E5输出为0
    
    //清除中断标记位        如何已经触发过来,再次使用不清除就一直是触发过后的高电平
    TIM_ClearITPendingBit(TIM2,TIM_IT_Update);
}

 

main.c文件 

#include "stm32f10x.h"
#include "led.h"
#include "tim.h"

int main()
{
    //中断分组
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

    LED_Lnit();    //配置IO程序
    Tim_init(9999,7199);
    //编写程序功能
    while(1){;
    //当前程序没有其他功能
    }
    return 0;
}
 

http://www.dinnco.com/news/72607.html

相关文章:

  • 网站制作多久今日头条权重查询
  • 做动物网站的原因十大洗脑广告
  • 网站的商业授权吉安seo网站快速排名
  • wordpress修改文章发表日期颜色百度seo排名点击
  • wordpress设计网页谷歌优化是什么意思
  • python云服务器网站开发实例关键词推广
  • 网站建设与维护中职计算机基础培训机构
  • 一件代发货源app网络优化工程师有前途吗
  • 做股权众筹的网站seo的优化技巧和方法
  • 做ppt高手 一定要常去这八个网站厦门百度整站优化服务
  • 怎么做网站里的资讯娱乐热搜榜今日排名
  • 网站优化步骤百度竞价排名平台
  • 江门网站上排名关键词优化怎么写
  • 专用车网站建设哪家专业广州网络推广公司排名
  • vi设计是什么设计山东网站seo
  • wordpress文章所有图片优化工具箱
  • 网站开发学习课程淘宝联盟怎么推广
  • 做百度网站费用多少百家号关键词排名
  • 开个公司做购物网站优化网站排名方法教程
  • seo的网站建设软文网站大全
  • 17网站一起做网店睡衣站长工具同大全站
  • 泰国金木棉做博彩网站手机维修培训班学校
  • 政府网站问题建设调研报告2022年新闻摘抄简短
  • 计算机网站开发 武汉船舶学院北京正规seo搜索引擎优化价格
  • php企业网站开发实训报告成都比较靠谱的seo
  • 温州做网站建设公司哪家好百度下载免费官方安装
  • 网站快速备案多少钱最新的即时比分
  • 怎样免费设计网站建设房产网站建设
  • 您的网站空间即将过期seo范畴有哪些
  • 做网站需要的素材照片湘潭网页设计