完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 birdinskyd***sy 于 2015-9-7 13:26 编辑 开篇先感谢一下各位烧友的支持,不管是轻轻地你来了,你挥一挥衣袖,带走一片云彩的,还是没带走云彩的,留下片云彩的,没留下云彩的,都要感谢。 白驹过隙:出自《庄子·知北游》,本义指白色的骏马在缝隙前飞快地越过,比喻时间过得很快,光阴易逝。 时间是宝贵的,需要珍惜,励志的话也不多说了,来这里的童鞋都是惜时如金的,虽然金价已经大跌,并且跌了好久了,可是再跌,也是爹,不好不好,拜金主义要不得。 有的童鞋冥冥中已经感到,今天说的和时间有关,对了,很容易想到,timer!!! 定时器做为单片机开发中最基本的一个驱动,为系统提供了许多方便的操作和精确的时间节拍。QN902x拥有4个定时器,其中TIMER0/1为32位的定时器,TIMER2/3为16位定时器。定时器有定时、计数、捕获、比较等等功能。 定时器是神马?定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的是单片机外部发生的事情(接受的是外部脉冲),而定时器则是由单片机自身提供的一个非常稳定的计数器,这个稳定的计数器就是单片机上连接的晶振部件;经常玩单片机的童鞋对晶振不陌生,一般有两条腿儿,有11.0592M的,有8M的,有12M的,12M晶振经过12分频之后提供给单片机的1MHZ的稳定脉冲;晶振的频率是非常准确的,所以单片机的计数脉冲之间的时间间隔也是非常准确的,这个准确的时间间隔是1微秒。我们的板子上没有见到那俩腿儿的晶振,估计很小且做到里边了。 单片机是活在时间里的,貌似是废话,应该是活在稳定的时间间隔里的,天朝上国古时候曾用过日晷(guǐ),就是石头圆盘上刻上圆圈,圆心插根筷子,圆周等分若干份,放在太阳底下,看筷子的影子的位置计时;阴天了就用铜壶滴漏,四个桶,上边有仨桶,逐级往下滴水,最下的桶里有个竖放的尺,尺上刻了100个刻度,随着水的滴落,尺往上浮,看刻度计时,晴天雨天昼夜可用,就是不精准,因为水的重力势能影响,桶里的水满的时候滴的快,少的滴的慢。番邦外国呢有沙漏,大家熟悉得很,不说了。 理想状况下,筷子的影子每过一格,或者尺子每上升一格,时间是一样一样的,或者说,我们在筷子移动N格,或者尺子上升N格之后,去做某件事,就相当于在指定时间后去做某件事。 随着时间的流逝,我们发现了晶振这东,晶体振荡器,用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十,就是数了一百万下,或快或慢五十下。高级的精度更高,其实核心就是从一块石英晶体(纯净的SiO[sub]2[/sub],沙子的主要成分)上按一定方位角切下薄片,切法不同频率不同。 晶振的作用是为系统提供基本的时钟信号。当然晶振工作还要什么锁相环电路之类配合,太远了不管了。这下可比看筷子看尺子下精准多了。 单片机的世界里从此有了等长且精准的时间间隔,有人说还有LC、RC震荡电路也可稳定震荡呢,这个我不懂了,不敢瞎说,晶振就挺好的了,呵呵。有了这些基本的时间刻度,我们就可以干好些事儿了,可以计时,可以计数,童鞋们表误会,我没说timer是晶振,我是说一下单片机里基本时间刻度的由来,timer是直接利用这些刻度的机制之一,作为节拍器,得有极强的时间感,不然乱拍一气就瞎了。希望说的这些有助于理解timer了。 官网是个高大上的东,还得看下官网的timer驱动(http://wiki.t-firefly.com/index.php/FireBLE/Timer_driver) 前边提了,QN902x拥有4个定时器,其中TIMER0/1为32位的定时器,TIMER2/3为16位定时器。定时器有定时、计数、捕获、比较等等功能。大的给拆成小的,整的给拆成零的,复杂的给拆成简单的,从大处着眼,从小处着手,这是我碰到新鲜货的应对策略。 咱一个一个看,系统初始化、GPIO初始化以及定时器引脚配置,定时器的IO初始化,这一步地球人都知道,到时候按官网初即可。我们先找个简单的下手,看下官网示例的这部分, 先不看那么多,就看一个,第一个timer,用术语说就是------timer0,在指定时间到达后,干一件事情,循环往复, timer_init(QN_TIMER0, led0_link);时间到后触发led0_link这个函数, timer_config(QN_TIMER0, TIMER_PSCAL_DIV, TIMER_COUNT_US(1000, TIMER_PSCAL_DIV));间隔1000uS, timer_enable(QN_TIMER0, MASK_ENABLE);timer0,你可以干活儿了。 接下来,上代码,按照惯例,还是从高大上的地方copy一份, 打开一看,我发现真是太贴心了,基本上都写好了, |
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
1031 浏览 0 评论
【KV260视觉入门套件试用体验】四、KV260 视觉入门套件和固件更新
1605 浏览 0 评论
【KV260视觉入门套件试用体验】Vitis AI Library体验之OCR识别
1203 浏览 0 评论
【KV260视觉入门套件试用体验】Vitis AI 通过迁移学习训练自定义模型
1701 浏览 0 评论
【KV260视觉入门套件试用体验】KV260系列之Petalinux镜像+Resnet 50探索
1367 浏览 0 评论
【AMD KV260视觉入门开发套件试用】4、简单几步体验ubuntu 20.04.3 LTS运行人员检测应用
1656浏览 1评论
2265浏览 1评论
【KV260视觉入门套件试用体验】老刘记事儿KV260初体验之Micro-SD选型提速研究(三)
893浏览 1评论
【KV260视觉入门套件试用体验】KV260部署yolov3实现车辆和行人检测
2561浏览 1评论
【KV260视觉入门套件试用体验】基于KV260的人脸识别的实现与展示
895浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 00:40 , Processed in 0.630717 second(s), Total 42, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号