摘要:
**PIO**** 外设的编程模型与通用处理器存在共性:均通过顺序执行预编写的程序实现功能,且可通过 ****DMA**** / 中断系统完成数据交互、通过读写控制寄存器实现状态控制。**但与通用处理器不同,PIO 是专为输入输出场景设计的硬件子系统,因此具备时序确定性强、操作精度高的特点,且与 GPIO、DMA 等固定功能硬件深度绑定。 阅读全文
**PIO**** 外设的编程模型与通用处理器存在共性:均通过顺序执行预编写的程序实现功能,且可通过 ****DMA**** / 中断系统完成数据交互、通过读写控制寄存器实现状态控制。**但与通用处理器不同,PIO 是专为输入输出场景设计的硬件子系统,因此具备时序确定性强、操作精度高的特点,且与 GPIO、DMA 等固定功能硬件深度绑定。 阅读全文
posted @ 2026-09-01 14:28
FreakStudio
阅读(27)
评论(0)
推荐(0)
摘要:
我们不难看到,对于树莓派 Pico 板载的 RP2040 来说,其通信外设资源非常有限,当我们需要使用的通信外设数量大于树莓派 Pico 具有的通信外设(例如需要四个 UART)或者我们需要的通信协议树莓派 Pico 上硬件不支持时(例如 VGA 视频输出),我们除了使用 GPIO 软件模拟实现通信接口外,还可以选用 PIO 可编程输入输出接口。 阅读全文
我们不难看到,对于树莓派 Pico 板载的 RP2040 来说,其通信外设资源非常有限,当我们需要使用的通信外设数量大于树莓派 Pico 具有的通信外设(例如需要四个 UART)或者我们需要的通信协议树莓派 Pico 上硬件不支持时(例如 VGA 视频输出),我们除了使用 GPIO 软件模拟实现通信接口外,还可以选用 PIO 可编程输入输出接口。 阅读全文
posted @ 2026-09-01 10:55
FreakStudio
阅读(23)
评论(0)
推荐(0)

蜂鸣器(Buzzer)是一种用于产生声音的电子元件,广泛应用于各种设备中以发出警告声、提示音或其他声音效果。根据工作原理不同,蜂鸣器主要有以下几种类型:
RGB LED(Red, Green, Blue 发光二极管)是一种通过红、绿、蓝三种不同颜色的 LED 组合而成的发光器件,通过调节这三种颜色的亮度,可以生成各种颜色的光;RGB LED 广泛应用于显示屏、装饰照明和指示灯等场合。
以下实验中所有代码开源在我们提供的资料包中 `elegance-devkit v1\Demo\26 PWM_LED` 文件夹找到。
这里,我们使用 `PWM` 信号来控制板载 `LED` 呼吸灯并打印 `PWM` 占空比
这里,我们需要将`**风雅一号板-通用兼容扩展板**`插入到`**风雅一号板-LCD屏幕人机交互板**`上,并且打开 `SWITCH2` 拨码开关上 `RE-CLK`、`RE-DT` 和 `RE-SW`,实物连接图如下所示:
使用定时器最大的便利在于允许我们在特定的时间点或时间间隔执行某些任务,我们可以将其看作与主程序中 while 循环不同的执行流:
简单来说,树莓派 Pico 中具有以下定时单元:
* 1 个 64 位单独递增的通用定时器,频率为 1MHz
* 8 个 16 位可编程 PWM 定时器,所有引脚都可产生 PWM
* 1 个 Systick 系统滴答定时器
* 1 个向下计数的看门狗定时器
* 1 个 RTC 实时时钟
* PIO 状态机内部一个可生成中断的 32 位定时器,频率等于系统时钟频率
* DMA 内部有四个内部起搏计时器(pacing timers),可定期触发传输
时钟是树莓派 Pico 所有硬件(包括定时器)运行的 “基础节拍”:不同外设需要不同频率的时钟来工作,Pico 的时钟系统分为两步工作:
1. **获取时钟源**:从多个稳定的 “基础时钟源”(如晶振、振荡器)获取原始时钟信号;
2. **时钟分配**:将原始时钟信号经过 “分频(降低频率)、使能(开关控制)” 后,分配给不同的外设(如定时器、UART、ADC)。
浙公网安备 33010602011771号