[求助] 求助tm4c123gxl需要一个5分钟左右的延时程序!!!

q1w23r4   2014-11-27 15:22 楼主
我是一个新手,之前只会用for或者while在程序中进行逐减延时,但现在需要一个五分钟左右的这个方法就不行了,所以大神们,求助啊!!!

回复评论 (13)

可以用定时器配合适当数量的变量实现。假设定时器的溢出周期为10ms,两个变量分别为m和n,先将二者清零。当定时器溢出时,对m做累加1操作,当m累加到255时对n做累积1操作,那么每个n数值对应的延时时间就是255*10ms。延时时间较短,用一个变量即可,需要很长时间的延时,就用多个变量。此法可以实现任意时长的延时。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2014-11-27 15:43
RTC也是一种办法
点赞  2014-11-27 15:58
引用: ljj3166 发表于 2014-11-27 15:58
RTC也是一种办法
除非系统内已具备RTC,否则为此增加RTC就实在太过分了。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2014-11-27 18:46
Tick/定时器都很好实现啊
点赞  2014-11-27 19:25
引用: chunyang 发表于 2014-11-27 18:46 除非系统内已具备RTC,否则为此增加RTC就实在太过分了。
版主所言甚是 单机设备考虑成本功耗等因素,使用外置RTC确实比较过分,多是选择使用MCU片上的RTC 不过感觉也会有一些比较特殊的情况 譬如对时钟同步要求比较严格的场合(SDH传输设备之类),或者工作环境比较恶劣时(片上RTC配套晶振和电容对时钟的产生影响会比较大) 这个时候,也许应该考虑使用一些DPLL的时钟芯片吧 个人愚见 想到这些,就随手敲了几句,提醒RTC的存在 本帖最后由 ljj3166 于 2014-11-27 22:27 编辑
So TM what......?
点赞  2014-11-27 22:24
引用: ljj3166 发表于 2014-11-27 22:24
版主所言甚是
单机设备考虑成本功耗等因素,使用外置RTC确实比较过分,多是选择使用MCU片上的RTC
不过 ...
具有片内RTC资源的MCU在整个MCU型号体系中所占比例极低,所以不能指望,而定时器资源多数MCU都有。如果没有定时器,可以用纯软件实现定时。
对于要求很高的时钟,你说的不错,这时要使用PLL技术,甚至晶振电路本身都要特别讲究,比如采用恒温晶振等。

上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2014-11-28 00:13
显然楼主不是要精确定时,只是个5分钟左右延时。这个当然用定时器做,像2楼说的,设一个10mS的中断来计数。不过既然用32位机,当然用一个长整形变量,范围足够你用了
点赞  2014-12-4 00:45
可以考虑采用RTC或者定时器来实现。
TM4C129含有RTC外设,可以直接使用。另外采用定时器中断也可以的。
点赞  2014-12-22 18:45
我也是这个问题
点赞  2016-7-30 17:47
我也是这个问题我也是这个问题我也是这个问题我也是这个问题我也是这个问题我也是这个问题
点赞  2016-7-30 17:47
用定时器和中断吧
点赞  2016-8-2 09:35
这么长时间用延时好浪费CPU资源
点赞  2016-8-2 09:35
引用: ljj3166 发表于 2014-11-27 22:24
版主所言甚是
单机设备考虑成本功耗等因素,使用外置RTC确实比较过分,多是选择使用MCU片上的RTC
不过 ...

RTC在休眠模式下消耗的资源是很少的,但是需要实时性很强的控制的话还是考虑定时器和中断吧
点赞  2016-8-2 09:38
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复