把握大局,就是用来得到精确时间的一个定时器,单周期只跑一次,即使是你用TimerLoadSet(TIMERn_BASE,TIMER_A,要赋的值);他也不会跑了,是没有用的。说跑一次就是一次; 跑一次还是N次是由定时器模式设置达到的:TIMERMODULE(TIMER2_BASE,TIMERS320);
来说下具体如何操作
1:使能定时器模块,DEVICEEN(SYSCTL_PERIPH_TIMER2);
2:设置模式 TIMERMODULE(TIMER2_BASE,TIMERS32);
3: 装值 TimerLoadSet(TIMER2_BASE,TIMER_A,要装的值);
4: 启动定时器 TimerEnable(TIMER2_BASE,TIMER_A);
以上就是完整过程,TIEMR2到0后自己动变为装载值。
可以用查询的方法,确定具体时间干什么事;
if(TimerValueGet(TIEMR1_BASE,TIMERA)>多少){你要干什么事情};
下面是用中断的方法进入中断,然后处理中断程序,有中断,就要写中断程序,麻烦;
以下是具体步骤:
1:同上,使能定时器模块,DEVICEEN(SYSCTL_PERIPH_TIMER1)
2; 同上,设置定时器模式,TIMERMODULE(TIMER1_BASE,TIMERS32);
3:注意,这里就不同了,开定时器溢出中断;与GPIOINTENABLE对比,
TimerIntEnable(TIMER_BASE,TIMERAOUT);
(TIMERAOUT名为溢出中断,就是减到了0不能减了,就溢出了,需从头开始)
4:开总的TIMER中断, IntEnable(INT_TIMER1A);
5:开CPU的中断, IntMasterEnable();
6:同上装初值 TimerLoadSet(TIMER1_BASE,TIMER_A,要装的值)
7:启动定时器,开始计数 TimerEnable(TIMER1_BASE,TIMER_A);
最后一步:时间到了进中断,你需要进处理中断,也就是你要写的中断程序(切记,一定要修改中断向量表中的名字和申明,在startup.s里面)
上一篇:制作寻光模块的常见问题分析
下一篇:Verilog按键消抖的理解
推荐阅读最新更新时间:2024-03-16 13:08
设计资源 培训 开发板 精华推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
- 答题有礼|罗彻斯特电子带你解锁半导体全周期难题
- 泰克送你三板斧,招招解决电源测试大难题!答题赢好礼喽!
- Keysight教你如何提高测试精度,答对问题还有礼品相送,速速参与!
- 阅读TI DLP ® 博文,带你走进不一样的视野!
- 【已结束】有奖直播【TI 全新CC2340无线 MCU,助力低功耗蓝牙应用】
- 2022 Digi-Key KOL 视频系列:四翼扑翼机(仿生鸟)原理及设计解析
- 【EEWORLD第十七届社区明星人物】伙拼七月明星人物胜出!
- 有奖直播:新科技、新课堂、新学期~ ADI软件定义无线电ADALM-Pluto入门实战
- 泰克MDO3000系列示波器结合MDO3PWR功率分析模块 立即询价享春季好礼!