像写Windows程序那样写单片机程序之多任务定时器

本文介绍了如何设计一个单片机多任务定时器,通过避免重复编码和提高代码结构,节省开发时间。作者引用了定时器在操作系统、多媒体和网络中的重要性,提出了一种利用定时中断处理多个不同时间间隔任务的方法,通过定时器中断逐次减少计数器,判断任务是否到期。文中还展示了具体实现的代码片段,讨论了实现的优缺点和适用场景。
摘要由CSDN通过智能技术生成

    最近失业在家心情郁闷,想想又很久没更新了,把这个相对比较“复杂”的多任务定时器写写吧,之前在csdn的帖子里(单片机C语言程序该这样写!不是教科书上教的那样!)就是用的这个定时器来支持我的论点的。又经过了一段时间的使用锤炼,基本可以拿出来献丑一下了。

  定时器究竟有多重要?之前我也没有什么直观的感觉,似乎也就那么回事。不就一个中断吗,还能如何?自从我看了《C语言嵌入式系统编程修炼之道》这篇文章,才知道自己之前多幼稚。我引用一下文章里关于定时器重要性的描述:

  

(1)没有定时器,一个操作系统将无法进行时间片的轮转,于是无法进行多任务的调度,于是便不再成其为一个多任务操作系统;  

(2)没有定时器,一个多媒体播放软件将无法运作,因为它不知道何时应该切换到下一帧画面;  

(3)没有定时器,一个网络协议将无法运转,因为其无法获知何时包传输超时并重传之,无法在特定的时间完成特定的任务。

因此,没有定时器将意味着没有操作系统、没有网络、没有多媒体,这将是怎样的黑暗?

所以,合理并灵活地使用各种定时器,是对一个软件人的最基本需求! 

 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值