历史上的今天
返回首页

历史上的今天

今天是:2024年09月06日(星期五)

正在发生

2019年09月06日 | stm32f429 中通过基本定时器中断控制LED灯亮一秒、灭一秒

2019-09-06 来源:eefocus

stm32f429中基本定时器有两个,通用定时器有十个,高级定时器有两个。其中基本定时器为TIM6和TIM7。


此处通过编写TIM7定时中断控制LED灯亮灭,TIM6与之类似。


首先可以新建一个.c 和.h 文件,在.c文件中进行TIM7函数定义等,如下图所示:


#include "bsp_tim_basic.h"

static void BASIC_TIMx_Mode_Config()

{

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM7,ENABLE);//开启时钟

TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;//结构体申明

TIM_TimeBaseInitStruct.TIM_Prescaler=8999;//设置时钟周期为10000hz psc 90M/(psc+1)

 

TIM_TimeBaseInitStruct.TIM_Period=9999;//设置ARR 10000次

 

TIM_ITConfig(TIM7,TIM_IT_Update,ENABLE);//使能更新

TIM_TimeBaseInit(TIM7,&TIM_TimeBaseInitStruct);//定时器初始化

TIM_Cmd(TIM7,ENABLE);//定时器使能

}

static void NVIC_TIMBasic_Config()

{

NVIC_InitTypeDef NVIC_InitStruct;

        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

NVIC_InitStruct.NVIC_IRQChannel=TIM7_IRQn;

NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=1;

NVIC_InitStruct.NVIC_IRQChannelSubPriority=1;

NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;

        NVIC_Init(&NVIC_InitStruct);

}

void TIMx_Basic_Config(void)

{

NVIC_TIMBasic_Config();

BASIC_TIMx_Mode_Config();

}

由于前两个函数前有static修饰,所以写了最后一个函数以便于其他文件对前两个函数的调用。


在.h文件中对所需的头文件以及可被外部调用的函数进行申明。


#ifndef _BSP_TIM_BASIC_H

#define _BSP_TIM_BASIC_H

 

#include "stm32f4xx_tim.h"

#include "stm32f4xx_rcc.h"

#include "misc.h"

 

extern void TIMx_Basic_Config(void);

#endif

这边编写完成后需要记得在stm32f4xx_it.c中进行中断函数的编写,其中控制LED灯亮灭便在此处被执行。


void TIM7_IRQHandler(void)

{

if (TIM_GetITStatus(TIM7,TIM_IT_Update)!=RESET) 

{

GPIO_WriteBit(GPIOC,GPIO_Pin_1,1-(GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_1)));

}  

TIM_ClearITPendingBit(TIM7,TIM_IT_Update);   

 

}

GPIO_WriteBit用于给LED灯置所想状态,在这里的最后一个参数通过GPIO_ReadOutputDataBit函数读当前的状态,通过1减去当前状态来获得相反的状态。


在main函数中只要进行简单的调用即可。


#include "stm32f4xx.h"

#include "bsp_led.h"

#include "bsp_tim_basic.h"

#include "bsp_usart.h"

int main(void)

{

 

usart1_init();

LED_GPIO_Config();

TIMx_Basic_Config();

while(1)

{

}

}


推荐阅读

史海拾趣

ETC1公司的发展小趣事

华铭智能是一家在ETC领域具有深厚技术积累的企业。为了推动ETC行业的发展,华铭智能积极寻求跨界合作的机会。公司与多家汽车制造商、智能交通系统提供商等建立了紧密的合作关系,共同研发和推广ETC技术。通过跨界合作,华铭智能不仅拓展了自身的业务范围,还推动了ETC技术在更多领域的应用。

Antenova公司的发展小趣事

随着业务的快速发展,Antenova公司积极拓展全球市场。公司在全球范围内设立了多个研发中心和销售网络,以便更好地服务客户并拓展市场份额。通过与全球知名企业的合作,Antenova的产品得到了广泛应用,进一步提升了公司的品牌影响力和市场竞争力。

倍思特(BEST)公司的发展小趣事

随着业务的快速发展,Antenova公司积极拓展全球市场。公司在全球范围内设立了多个研发中心和销售网络,以便更好地服务客户并拓展市场份额。通过与全球知名企业的合作,Antenova的产品得到了广泛应用,进一步提升了公司的品牌影响力和市场竞争力。

方舟(ARKLED)公司的发展小趣事

方舟公司自成立以来,始终致力于LED光电技术的研发与创新。公司拥有一支由行业专家和技术骨干组成的研发团队,不断推出具有自主知识产权的新产品。其中,方舟公司独创的某款LED显示屏,以其高清晰度、低功耗和长寿命等特性,在市场上获得了广泛认可。这款产品不仅提升了方舟公司的品牌影响力,还为公司带来了丰厚的经济回报。

格莱尔(GLE)公司的发展小趣事

在稳步发展国内市场的同时,格莱尔也积极拓展海外市场。公司凭借优质的产品和服务,成功吸引了众多国际客户的关注与合作。格莱尔的产品广泛应用于液晶显示屏、笔记本计算机、手机、数码相机等多个领域,与众多知名企业建立了长期稳定的合作关系。此外,格莱尔还注重品牌建设,通过参加国际展会、发布新品等方式提升品牌知名度和影响力。

安路科技(Anlogic)公司的发展小趣事

在发展过程中,安路科技积极寻求与产业链上下游企业的战略合作,通过技术合作、市场共享等方式,共同推动FPGA产业的发展。同时,公司也吸引了多家知名投资机构的关注,成功获得了多轮融资。这些资本的注入为安路科技的技术研发和市场拓展提供了强有力的支持。

问答坊 | AI 解惑

初学PIC单片机

想知道学PIC单片机需要什么软件? 在网上查的是需要: 1、MPLABV8.43(从microchip网站下的) 2、PICC编译器(C语言编译器) 3、PIC单片机单片机烧写器(具体软件暂时没查到)    有精通PIC单片机的高手请给予一下指点,其中第二,第 ...…

查看全部问答>

gogogo

[url=http://www.artgoin.com][/url]爱艺购,艺术的天堂,艺术的宝库,爱好艺术的人都该去看看,获取能找到一件稀世珍宝欧…

查看全部问答>

关于加速计和陀螺仪的测试

各位高手有没有测试过加速计和陀螺仪这两颗的功能阿,三轴加速计有X,Y,Z三个电压输出,都是经过其内部的AD转换后输出的,不知道这三个方向上的电压是怎么变化的,是有加速度的时候变化呢,还是位置改变了变化啊? 陀螺仪有X,Y两个电压输出,也是 ...…

查看全部问答>

关于MTD驱动的问题

很多MTD驱动都有调用simple_map_init()函数来初始化read,write等函数,不知道这个函数的用法,请大虾帮忙讲一讲啊,如果我需要改变这些read,write函数,该怎么办啦?…

查看全部问答>

求职: 请问有没有人需要高级WINCE工程师--限深圳地区!

求职: 请问有没有人需要高级WINCE驱动工程师--限深圳地区! 如有,请如下EMAIL联系 lumit_hu@126.com…

查看全部问答>

英蓓特STM32ARM开发板的初级改造(有图)

上周在研讨会上买了英蓓特的开发板,试了下,感觉有几个地方不爽,所以就自己动手DIY了:1)USB供电问题,必须插2条USB线,可怜我的本本一共才3个,鼠标用了一个,被他全占了,其它USB-232就没法用了;2)板子附带的1602没有接背光,而实际这 ...…

查看全部问答>

關於LMF232H5QD的UART問題

各位高手大家好,小妹我用此板子的UART出了一點問題,大家可以幫幫我嗎? 感激不盡 問題是這樣的,我開啟了八個UART,為了使輸入資料可以做辨識,個別在UART4跟UART5的地方 加了三個#字號跟一個通道編號 例如:UART4是  ###Edata 這樣 ...…

查看全部问答>

今年会出功率放大类的吗?

本帖最后由 paulhyde 于 2014-9-15 03:16 编辑 今年会出功率放大类的吗    …

查看全部问答>

这几天学习SimpliciTI协议栈的小总结合小纠结

SimpliciTI简介: SimpliciTI是TI开发的专门针对其CCxxxx系列无线通信芯片的网络协议。 它支持两种网络拓扑结构:严格的点对点通信和基于星型的网络拓扑结构,在星型连接中Hub点在SimplciTI被称为Access Point,简称AP.(AP就是常说的网关,数据中 ...…

查看全部问答>

TM4C 1294XL

老师给了一块tm4c 1294的launchpad,说让我们自己玩,但之前没接触过arm这些东西,接触过单片机;所以完全不知道怎么开始??这块板子能干嘛我都不知道,该怎么学习??完全处于迷茫状态??望大神相助,指点一二,让我有个方向!!非常感谢! …

查看全部问答>