Timer-定时
RP2040 由 Raspberry Pi 设计,具有双核 Arm Cortex-M0+ 处理器和 264KB 内部 RAM,并支持高达 16MB 的片外闪存。 广泛的灵活 I/O 选项包括 I2C、SPI 和独特的可编程 I/O (PIO)。
本实例将演示如何使用Timer的定时功能。
1、Timer介绍
系统计时器旨在为软件提供全局时基。 RP2040 具有许多其他可编程计数器资源,可以提供定期中断或触发 DMA 传输。
- PWM包含8个16 位可编程计数器,以最高系统速度运行,可以生成中断,并且可以通过 DMA 连续重新编程,或触发 DMA 传输到其他外设。
- 8个PIO 状态机可以以系统速度对32位值进行计数,并产生中断。
- DMA有四个内部起搏定时器,它们以固定的时间间隔触发传输。
- 每个Cortex-M0+内核都有一个标准的24位SysTick计时器,用于计算微秒滴答或系统时钟。
Raspberry Pi Pico SDK提供对计时器硬件的中级访问。它使用硬件计时器提供更高级别的功能。RP2040 上的定时器外设支持以下功能:
- 单 64位计数器,每微秒递增一次
- 锁存计数器的两级读取,用于通过 32 位总线进行无竞争读取
- 四个闹钟(Alarm):计数器低32位匹配,匹配时 IRQ。
默认情况下,定时器使用从clk_ref 派生的看门狗中生成的一微
|