桌面智慧屏-嵌入式Linux项目实战 手把手教你_哔哩哔哩_bilibili
LED 控制与引脚编号计算
Section titled “LED 控制与引脚编号计算”板载 LED 连接至 TL3 的 PB11 引脚。通过计算引脚编号即可控制。
引脚编号计算公式
Section titled “引脚编号计算公式”字母对应值:A=0, B=1, C=2, D=3, E=4, F=5
计算公式:编号 = (字母值 * 32) + 引脚号
| 引脚 | 计算过程 | 结果 |
|---|---|---|
| PB2 | (1 * 32) + 2 | 34 |
| PB11 | (1 * 32) + 11 | 43 |
使用编号(如 43)在代码中控制对应引脚。
LED 与按键的输入输出控制
Section titled “LED 与按键的输入输出控制”LED 状态控制
Section titled “LED 状态控制”通过向引脚写入 1 或 0 来控制 LED 的亮灭状态:
- 输出
1:关闭 LED。 - 输出
0:点亮 LED。
按键输入配置
Section titled “按键输入配置”按键连接至 PD10 引脚,根据引脚计算公式,其编号为:
- 计算:(3 * 32) + 10 = 106
- 操作:需将该引脚配置为“输入模式”以读取按键状态。
-
如果提示设备或资源忙,意味着已经导出成功。
-
可以看到
SYS class GPIO。 -
验证步骤:
- 输出一个低电平 (
echo 0 > /sys/class/gpio/gpio34/value). - 使用
aplay命令播放音频文件 (aplay /usr/res/music/audio_start.wav)。
- 输出一个低电平 (
功放与录音测试
Section titled “功放与录音测试”先使能功放芯片,再用指令验证音频模板和牙伸器电路。
用指令查看生卡录音,发现卡0为录音生卡。
arecord 0 0 -d 10 -f cd -r 14000 -c 1 test.wav| 参数 | 说明 |
|---|---|
| 0 / 0 | 生卡0 和设备0 |
| -d 10 | 默认录音时长,10秒 |
| -f cd | 音频格式,16位小端格式 |
| -r 14000 | 采样率,14kHz |
| -c 1 | 声道数,单声道 |
麦克风录音与音频播放
Section titled “麦克风录音与音频播放”板卡麦克风位于桶下方孔位。
- 嘴巴靠近麦克风位置,对着它说话。
- 录音完成后,按 Ctrl + C 停止。
- 用
ls查看生成的音频文件。
使用 aplay test.wav 播放录音文件。
联网验证与问题排查
Section titled “联网验证与问题排查”除了内置应用验证,还可使用 ping 命令测试联网成功:
ping www.baidu.com有返回即联网成功。
故障排查步骤
Section titled “故障排查步骤”若不通,按以下顺序检查硬件:
-
检查 MantaY5M5 供电:
- 3.3V 供电。
- 检查供电及相关引脚虚焊。
-
检查 SDI 部分行间:
- 检查线路焊接,逐条确认无虚焊。
Linux 系统基础与特性
Section titled “Linux 系统基础与特性”Linux 既支持图形化操作,也提供高效的命令行交互,本课程侧重于如何在 Linux 环境下利用命令行进行开发。
Linux 与 Windows 的核心区别
Section titled “Linux 与 Windows 的核心区别”- 免费性:Linux 是免费的,无需支付授权费用。
- 自由度:Linux 是开源的,用户可以自由查看并修改系统源码,这使得它在服务器及嵌入式设备中被广泛应用。
Linux 与 RTOS 的区别
Section titled “Linux 与 RTOS 的区别”- RTOS(实时操作系统):如 FreeRTOS,侧重于实时任务调度和确定性响应,适合资源受限的嵌入式场景。
- Linux 的优势:
- 高权限开发:在 Linux 上开发拥有更高的系统权限,便于直接操控底层硬件。
- 生态广泛:由于其开源和高权限特性,绝大多数服务器和嵌入式设备均基于 Linux 开发。
- 学习必要性:尽管已掌握 RTOS,学习 Linux 能提供更强大的开发环境和更广阔的硬件控制能力。
Linux 与 RTOS 的硬件适用性对比
Section titled “Linux 与 RTOS 的硬件适用性对比”- FreeRTOS 的应用场景:
- 适用于资源极度受限的嵌入式系统(如 MCU,例如 STM32)。
- 硬件资源特征:Flash 容量仅为几百 KB,内存空间有限。
- 局限性:由于资源限制,无法运行 Linux 内核,必须使用 RTOS 进行任务调度。
- Linux 的应用场景:
- 适用于资源相对充足、需要复杂任务管理或高性能处理的系统。
- 当硬件资源足以支撑 Linux 内核运行时,Linux 提供了比 RTOS 更强大的生态、驱动支持和开发灵活性。