历史上的今天
今天是:2025年01月16日(星期四)
2021年01月16日 | 快速学Arm(37)--定时器和计数器(1)
2021-01-16 来源:eefocus
定时器和计算器本来没有什么区别,只是用途不同而已.定时器/计算器注意的用途如下:
_ 记录外部事件的数量.
_ 产生时间基准,各种时标间隔,实现定时机制.
LPC2300系列ARM拥有4个32位可编程定时器/计算器.每一个定时器/计算器都包括一个32位的预分频器.这4个定时器/计算器均具有匹配,捕获功能.
定时器/计算器的基本功能包括:计算,匹配,捕获.三大基本功能中,计算功能是匹配和捕获功能的基础.
定时器/计数器的预分频:
数据-->预分频计数器-->计数器
计数先由预分频计数器进行计数,计数到指定的数量向计算器进位,这样定时器/计算器的计数范围大大的增加了.
计数外部脉冲:
工作在计数器模式时,可对外部脉冲信号进行计数.此外,用户可以选择是在输入脉冲的上升沿计数还是下降沿计数或者是边沿计数.所谓边沿计数是指外部脉冲的上升沿和下降沿到来是计数器都进行加1计数.
计算器在PCLK时钟的上升沿采样外部脉冲信号,连续采样两次,在这两次采样的时间间隔内,只能判断出一个边沿类型.所以,如果这段时间内,外部脉冲信号如果有2个以上的边沿,将会导致计数出错.而当外部脉冲信号的评论等于Fpclk/2时,两次连续采样的时间间隔内正好有一个边沿到达,外部脉冲频率大于若再大于Fpclk/2,将会出现2个边沿到达从而导致计数出错.
所谓匹配就是相等的意思,也就是说定时器/计数器的当前计数值等于用户设定的值"匹配值".我们事先设定一个值,当计数到达这个值时,我们认为就是匹配,匹配后将触发一个事件.使用匹配功能之前我们需要指定匹配时的定时器/计数器是继续计数,复位或者还是停止工作.
LPC2300系列ARM定时器/计数器还具备匹配输出功能.匹配时,可令指定的匹配输出脚输出低电平/高电平,或者是电平翻转.注意,同一路匹配输出对应的引脚可能有几个,当这些引脚都同时用作匹配输出引脚时,他们同时有效.例如,当P1.28和P3.25同时选择为同一匹配输出是,P1.28和P3.25同时有效.
匹配时,用户可以选择是否产生中断.匹配时的三类触发动作之间是相互独立的.
定时器/计数器运行时,在捕获通道输入一个信号,触发动作,使此时刻的定时器/计数器值负责到特定寄存器,这样的过程称为捕获.我们可以把捕获理解为照相,捕获的触发信号类似于快门,当按下快门时,照相机完成摄像.类似的,当一个信号到来时,我们把定时器/计数器中的值获得出来.用户可以设置触发捕获信号的类型,捕获通道上,只有所设置类型的信号才能够触发捕获,这样就避免了误操作.此外,需要说明的是,用户也可以选择让该信号触发捕获中断.
触发捕获事件的信号有三种类型:上升沿捕获,下降沿捕获,边沿捕获.
注意:同一捕获通道对应引脚可能有几个,当选择多个引脚用作捕获通道时,仅序号最低的引脚有效.
史海拾趣
|
在程序的前面用 m_hled=CreateFile(_T(\"CIS1:\"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0);//打开驱动 ret = DeviceIoControl(m_hled,CAM_IOCTL_SAMSUNG_PREVIEW_START,NULL,NULL,NULL,NULL,NULL,NULL); 在开发板上LCD已经实时显 ...… 查看全部问答> |
|
其实从事什么行业不重要,重要的是你能否成为这个行业的精英!! 如果这个问题解决了, 那你的人生已经成功了一半。记住先解决目标: 因为你不知道自己努力的方向,加油是没有用的。人的潜能是无限的, 但人的精力是有限的,不可能所有的事 ...… 查看全部问答> |
|
如题“ 求友善之臂SBC2410光盘资料包含vivi等内核源码” 在线等待,急用........ 哪个兄弟有, 恳请您给我发一个 ,在下不胜感激, 资料内容比较大,所以请您发到我的邮箱:804763993@qq.com 请注明您的eeworld号 我给你再追加100分 谢谢.....… 查看全部问答> |
|
Microsoft (R) Windows Debugger Version 6.11.0001.404 X86 Copyright (c) Microsoft Corporation. All rights reserved. Opened \\\\.\\pipe\\com_1 Waiting to reconnect... Connected to Windows XP 2600 x86 compatible target at (Wed ...… 查看全部问答> |
|
我用c#在2440上面编写应用程序,开发速度快~ 但是c#怎么碰到底层硬件,怎样直接控制2440的GPIO, evc当中有个内存映射的东西,但是在c#下面怎么搞?? 网上查了下,c#的都是LED的那个,但问题是 GPIO的话是不是得先要写个GPIO驱动的DLL,然后再去createfi ...… 查看全部问答> |
|
最近将wince6从 R2升级到了R3, 发现ie在打开网页后出现Data Abort. 网页还是能打开。但是CPU占用率变化很大。经常上升到%100. 从MS的官方论坛发现了打了R3 09年12月份的补丁是必然会出现Data Abort的, 但是我安装的是R3没有添加任何补丁的也会出现 ...… 查看全部问答> |
|
设备名称:离心机 使用单片机控制板通过485控制变频器(RTU 9600) 现在遇到一个问题,马达的外壳与地线连接时通信容易中断,而且温控传感器信号受干扰。(变频器与离心机分别用过两个插头供电) 现在特郁闷,这东东有时正常工作,有时不行,有时半 ...… 查看全部问答> |
|
我用的是CC2530 Development Kit的开发板套件,在套件里,有个CC2531 USB Dongle,将这个USB Dongle插到电脑上的时候,提示无法识别,参照文档看的时候,上面有说要装个驱动,但是我搜了好久,也没发现它要装什么样的驱动才可以识别,哪位大侠可以 ...… 查看全部问答> |




