1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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) { } } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1763 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1617 浏览 1 评论
1059 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
723 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1670 浏览 2 评论
1933浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
726浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
567浏览 3评论
592浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
550浏览 3评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 13:17 , Processed in 0.760149 second(s), Total 76, Slave 60 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号