完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
CW32F030x6/x8 微控制器内部集成多达四个通用定时器、三个基本定时器和一个高级控制定时器。 各个不同定时器的功能差异如下表所示: 在一般的项目中,特别是裸机程序中会经常用到定时器来计时。因此,定时器的应用也是必不可少的。作为 初探讨(不做深入研究),我们来了解它的通用定时器的使用。 依照官方给的代码,在前面串口的例子里面,我们新建GtiM.C和CTIM.H文件。移植官方的代码。我们要CW32 定时输出一串信息,同时LED2不断切换状态。如下: 打开串口助手,配置好串口信息,然后打开串口开关。按下小蓝板上面的复位键,然后,就可以看到LED2一秒切换 一次状态,同时,串口助手输出了一串信息。如下所示: 仔细看,时间好像不是很准。当然,要想精确测量时间,得上个示波器来测量LED2的状态。也要将LED2的状态切换 放到定时器终端里面去。 GTIM的初始化如下: void GTIM_Configuration( void ) { GTIM_InitTypeDef GTIM_InitStruct; BTIM_TimeBaseInitTypeDef BTIM_InitStruct; __RCC_BTIM_CLK_ENABLE(); __RCC_GTIM1_CLK_ENABLE(); /* NVIC Configuration */ NVIC_Configuration(); GTIM_InitStruct.Mode = GTIM_MODE_COUNTER; GTIM_InitStruct.OneShotMode = GTIM_COUNT_CONTINUE; GTIM_InitStruct.Prescaler = GTIM_PRESCALER_DIV1; GTIM_InitStruct.ReloadValue = 1000-1; // 1S 1次 1000-1; GTIM_InitStruct.ToggleOutState = DISABLE; GTIM_TimeBaseInit( CW_GTIM1, >IM_InitStruct ); GTIM1_ITRConfig( ITR_SOURCE_BTIM1 ); BTIM_InitStruct.BTIM_Mode = BTIM_Mode_TIMER; BTIM_InitStruct.BTIM_OPMode = BTIM_OPMode_Repetitive; BTIM_InitStruct.BTIM_Period = 63999; // 1MS 1次 47999 BTIM_InitStruct.BTIM_Prescaler = BTIM_PRS_DIV1; BTIM_TimeBaseInit( CW_BTIM1, &BTIM_InitStruct ); GTIM_ITConfig( CW_GTIM1, GTIM_IT_OV, ENABLE ); BTIM_ITConfig( CW_BTIM1, BTIM_IT_TI, ENABLE ); GTIM_Cmd( CW_GTIM1, ENABLE ); BTIM_Cmd( CW_BTIM1, ENABLE ); } 中断代码如下: void GTIM1_IRQHandlerCallBack( void ) { if ( GTIM_GetITStatus( CW_GTIM1, GTIM_IT_OV ) ) { GTIM_ClearITPendingBit( CW_GTIM1, GTIM_IT_OV ); gtim1Flag = 1; } } /** * @Brief This funcation handles GTIM1 */ void GTIM1_IRQHandler( void ) { /* USER CODE BEGIN */ GTIM1_IRQHandlerCallBack(); /* USER CODE END */ } 定时器的实现,将有助我们后面程序功能的实现。本次定时器操作初探讨在这里就结束了,有兴趣的小伙伴或者 想深入研究的小伙伴,可以多看看官方的参考代码,实际动手去调试。发现问题,然后解决问题,如此,才能进步。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
CW32L010安全低功耗MCU,树立M0+产品行业新标杆!
700 浏览 0 评论
870 浏览 0 评论
1305 浏览 0 评论
1197 浏览 0 评论
942 浏览 0 评论
2418浏览 1评论
981浏览 1评论
【CW32饭盒派开发板试用体验】与CW32饭盒派的第一次亲密接触
363浏览 1评论
243浏览 0评论
368浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 00:16 , Processed in 0.632047 second(s), Total 65, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号