完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如果想使用唤醒定时器作为一个普通定时器用于中断怎么弄呢?
/*---------------------------------------------------------------------------------------------------------*/ /* */ /* Copyright(c) 2017 Nuvoton Technology Corp. All rights reserved. */ /* */ /*---------------------------------------------------------------------------------------------------------*/ //*********************************************************************************************************** // Nuvoton Technoledge Corp. // Website: http://www.nuvoton.com // E-Mail : MicroC-8bit@nuvoton.com // Date : Apr/21/2017 //*********************************************************************************************************** //*********************************************************************************************************** // File Function: N76E003 wake up timer interrupt demo code //*********************************************************************************************************** #include "N76E003.h" #include "Common.h" #include "Delay.h" #include "SFR_Macro.h" #include "Function_define.h" void WakeUp_Timer_ISR (void) interrupt 17 //ISR for self wake-up timer { clr_GPIO1; Timer1_Delay10ms(5); set_GPIO1; Timer1_Delay10ms(5); clr_GPIO1; Timer1_Delay10ms(5); set_GPIO1; clr_WKTF; //clear interrupt flag } /************************************************************************************************************ * Main function ************************************************************************************************************/ void main (void) { P12_PushPull_Mode; clr_GPIO1; Timer0_Delay1ms(400); set_GPIO1; Timer0_Delay1ms(400); clr_GPIO1; Timer0_Delay1ms(400); set_GPIO1; Timer0_Delay1ms(400); clr_GPIO1; Timer0_Delay1ms(400); set_GPIO1; //----------------------------------------------------- // WKT initial //----------------------------------------------------- WKCON = 0x02; //timer base 10k, Pre-scale = 1/16 // RWK = 0XFF; // if prescale is 0x00, never set RWK = 0xff RWK = 0X00; set_EWKT; // enable WKT interrupt set_WKTR; // Wake-up timer run EA = 1; while(1); } |
|
相关推荐
1个回答
|
|
注:以下回答假设您正在使用STM32芯片和STM32CubeMX和HAL库作为开发工具。
1. 打开STM32CubeMX,在"Project Manager"中选择您的工程文件。 2. 在"Pinout & Configuration"标签页中选择您的芯片型号和引脚布局。 3. 在"Clock Configuration"标签页中配置时钟源和时钟频率。 4. 在"Timers"标签页中启用唤醒定时器。 5. 在"NVIC"标签页中使能唤醒定时器的中断,并设置其优先级。 6. 在"Code Generator"标签页中生成代码,并将其导出到您的工程文件中。 7. 在您的代码中,在唤醒定时器初始化函数中设置定时器的重载值和预分频器值,并启动定时器。 8. 在您的代码中,在唤醒定时器中断处理函数中添加您的中断代码。 9. 编译并下载您的代码到芯片上。 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3457 浏览 1 评论
8996 浏览 16 评论
4050 浏览 18 评论
1107浏览 3评论
572浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1858浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 08:36 , Processed in 1.132847 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号