最近在学嵌入式,接触到这三个概念一直很混淆,现在理解清楚了及时总结一下方便以后复习。
一、时钟
时钟有三种:
-
片上时钟(On-chip Clock):
- RC振荡器:使用电阻和电容生成时钟信号。
- 特点:成本低,适合简单应用,但精度较低。
- 可通过调整元件参数进行微调。
- 部分微控制器允许外部RC电路连接以提高灵活性。
- RC振荡器:使用电阻和电容生成时钟信号。
-
晶体或谐振器(Crystal and Resonator):
- 使用石英晶体振荡器产生高精度时钟信号。
- 特点:
- 精度高,适合需要精确计时的应用(如通信协议)。
- 成本较低,广泛使用。
-
TTL信号直接注入:
- 使用外部信号源(如信号发生器)直接提供时钟信号。
说句人话就是晶振和TTL只能用一个,晶振是产生固定的(由晶振的物理特性决定具体是多少),TTL是可以产生变化的。
二、定时器
由于时钟定下来就定死了(虽然TTL能一直变,但是一直变时钟太麻烦了,所有都得跟着变),所以就由定时器去根据时钟产生更多不同的时间。所以定时器是依赖时钟的!!!
使用案例就是:
-
生成时间延迟:
- 在设定时间后触发事件,例如打开/关闭LED。
-
周期性任务:
- 通过周期性中断实现,例如定时采集传感器数据。
-
PWM信号生成:
- 用于控制电机速度或调节LED亮度。
三、计数器
计数器就好理解了,计数器就是单纯计数的,各种数:
-
外部信号计数:
- 例如记录设备中按钮的按下次数。
-
事件频率测量:
- 通过计数外部脉冲信号的数量,计算输入信号的频率。
-
编码器读取:
- 在电机控制中,用于读取旋转编码器的脉冲信号。