AT32F421xx外设驱动3-timer(寄存器)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | #include "BspPhy.h" uint8_t TimerFlag; //**************************************************************** //****** 定时器6初始化函数 //****** 输入参数: 无 //****** 返回值: 无 //**************************************************************** void PhyTimerInit() { CRM->apb1en_bit.tmr6en = 1; TMR6->pr = psc; //周期值 TMR6-> div = arr; // 分频系数 TMR6->swevt_bit.ovfswtr = TRUE; //软件触发溢出事件 TMR6->ctrl1_bit.cnt_dir = 0; //向上数 TMR6->iden = 1; //溢出中断使能 TMR6->ctrl1_bit.tmren = 1; //使能定时器 nvic_priority_group_config(NVIC_PRIORITY_GROUP_1); nvic_irq_enable(TMR6_GLOBAL_IRQn, 1, 1); } //**************************************************************** //****** 定时器6中断处理函数 //****** 输入参数: 无 //****** 返回值: 无 //**************************************************************** void TMR6_GLOBAL_IRQHandler() { if (TMR6->ists_bit.ovfif == 1) { TimerFlag = 1; TMR6->ists_bit.ovfif = 0; } } /******************************Timer**************************************/ #define SET100MS #ifdef SET100MS #define arr (1000-1) #define psc (12000-1) #endif #ifdef SET500MS #define arr (5000-1) #define psc (12000-1) #endif #ifdef SET1000MS #define arr (5000-1) #define psc (10800-1) #endif void PhyTimerInit( void ); /*************************************************************************/ |
分类:
AT32F421xxx 外设
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码