自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(288)
  • 收藏
  • 关注

原创 课时08 嵌入式技术应用设计实训 | 综合实训01:电子时钟

一句话概述:前面七课每课只讲一个知识点,这次把它们串成一个能用的小作品——8 位数码管电子时钟。它自己走时(软件计时,不用 RTC:TIM2 每秒中断一次 → 进位链),年月日时分秒六项全部可调(4 个按键:KEY0 选字段、WK_UP 加、KEY1 减、KEY2 确定),闰年和大小月都算对(2 月 29 日、4 月 30 日、跨月跨年自动进位),正在编辑的字段闪烁提示,串口每秒打印一行方便验收。做完这个,你就第一次完整经历了"需求 → 设计 → 编码 → 测试"的工程过程。

2026-10-17 19:52:36 708

原创 课时07 嵌入式技术应用设计实训 | 数码管显示:动态扫描

一句话概述:前面六课,控制一个简单外设(LED、蜂鸣器、按键等)用一根(或两根)引脚就够了;到数码管就不行了——8 位数码管要显示 8 位不同的数字,理论上要 8 段 × 8 位 = 64 根线。本课用两片小芯片把线数压到 6 根:74HC595 串行转并行,用 3 根线把 8 位段码"送"进去;74HC138 3 根线译码,一次选中 8 位里的一位。既然一次只能点亮一位,那就让 8 位轮流亮——一位亮 2ms,8 位一轮 16ms(62.5Hz),人眼视觉暂留就看成"一直亮着",这就是动态扫描。本课还顺手

2026-10-12 10:17:10 1014

原创 82 极物科技 | KNX调试 - 常见报文异常案例分析

报文追踪把“看不见的总线”变成“看得见的证据”:每一次收发都有记录、每一次异常都有据可查。本文围绕报文追踪的接收链路、发送链路、容量管理与过滤机制展开,逐项说明其实现方式与排障用法。一句话概述:本文是五个真实形态的报文异常案例复盘——每个案例都按"现象→追踪定位→根因→解决"四段展开,可直接当排障手册用。

2026-10-11 18:34:37 361

原创 81 极物科技 | KNX调试 - 个体地址过滤与报文隔离

工程品质是 KNX 国际标准三十年立足全球的根基,而可观测性是品质的前提。报文追踪把“看不见的总线”变成“看得见的证据”:每一次收发都有记录、每一次异常都有据可查。本文围绕报文追踪的接收链路、发送链路、容量管理与过滤机制展开,逐项说明其实现方式与排障用法。一句话概述:本文回答"调试一个设备时怎么把其他设备的报文隔离开"——个体地址过滤是追踪降噪的最后一招,让目标设备的报文从噪声海里浮出来。

2026-10-11 18:32:38 214

原创 课时06 嵌入式技术应用设计实训 | ADC 模拟量采集

一句话概述:从“单片机怎么读懂电压”入手,讲清 12 位 ADC 的 0~4095、×3300/4096 的换算与 0.8mV 分辨率;把 ADC 初始化的五步写进 main.c(ADC 时钟 6 分频 → 开时钟 → PB1 配模拟输入 → 配参数 → 校准),采样三步(配通道 / 启动 / 等转换完成)也看得见。两个现象都用 printf:数字电压表(原始值 + 电压 + 百分比)与电压柱(20 格柱条 + 超限提示)。

2026-10-11 18:29:37 536

原创 80 极物科技 | KNX报文追踪 - 容量管理与记录定位

工程品质是 KNX 国际标准三十年立足全球的根基,而可观测性是品质的前提。报文追踪把“看不见的总线”变成“看得见的证据”:每一次收发都有记录、每一次异常都有据可查。本文围绕报文追踪的接收链路、发送链路、容量管理与过滤机制展开,逐项说明其实现方式与排障用法。一句话概述:本文回答"追踪记录怎么管、几百条记录里怎么秒找到目标报文"——容量管理与筛选定位是追踪效率的放大器。

2026-10-10 12:10:10 172

原创 79 极物科技 | KNX报文追踪 - 接收与发送链路解析

工程品质是 KNX 国际标准三十年立足全球的根基,而可观测性是品质的前提。报文追踪把“看不见的总线”变成“看得见的证据”:每一次收发都有记录、每一次异常都有据可查。本文围绕报文追踪的接收链路、发送链路、容量管理与过滤机制展开,逐项说明其实现方式与排障用法。一句话概述:本文深入RX/TX双链路的记录机制与淘汰策略,并给出"按方向定位问题"的完整方法论与三个实战案例。

2026-10-10 12:08:13 544

原创 78 极物科技 | KNX报文追踪 - 功能总览与使用指南

工程品质是 KNX 国际标准三十年立足全球的根基,而可观测性是品质的前提。报文追踪把“看不见的总线”变成“看得见的证据”:每一次收发都有记录、每一次异常都有据可查。本文围绕报文追踪的接收链路、发送链路、容量管理与过滤机制展开,逐项说明其实现方式与排障用法。一句话概述:本文介绍极物主机内置的"总线行车记录仪"——RX/TX双向报文追踪,远程就能看清总线上每一帧的来龙去脉,是报文追踪与调试集群(73~78)的支柱页。

2026-10-10 12:06:24 427

原创 课时05 嵌入式技术应用设计实训 | PWM 输出:频率与占空比

一句话概述:从“为什么灯的亮度能连续可调”入手,把 PWM 两个关键量讲透——频率由 arr/psc 决定、亮度(占空比)由 CCR 决定;TIM3 完全重映射到 PC6(正好是板载 DS6),既能看呼吸灯,又能把示波器探头夹上去量周期、频率与占空比。两个模式共用一个 APP_MODE 宏:模式 1 输出 1kHz 固定方波给示波器量,模式 2 让 CCR 来回变化做呼吸灯。

2026-10-10 12:00:42 656 1

原创 课时04 嵌入式技术应用设计实训 | 定时器:定时中断

一句话概述:从“延时不准、还占着 CPU”入手,把 TIM3 这条链路整条写在 main.c 里(开时钟 → 配 arr/psc → 开中断通道 → 启动),讲清定时时间怎么算(Tout=(arr+1)×(psc+1)/Ft,TIM3 的 Ft = 72MHz);中断入口与回调沿用课时02/03 的套路,中断里只加一个 volatile 计秒变量、翻一个灯,主循环照跑 LED 花样并用课时03 的 printf 打印秒数。

2026-10-06 15:59:12 1107

原创 77 极物科技 | KNX场景 - 智能主机联动与远程执行

KNX 的场景机制浓缩了国际标准“去中心化”的设计精髓——几十台设备的复杂联动被压缩成总线上一个 1 字节的场景号,即使主机离线,总线设备依然能自主完成场景切换。总线场景之外,主机侧还提供更灵活的场景编排能力,两者可以并存互补。本文围绕场景号、场景值与触发方式,说明两套场景引擎的协作机制。一句话概述:本文回答"场景除了面板按键还能被什么触发、断网了场景还能不能用"——联动通道与双通道执行是智能场景的可靠性设计核心。

2026-10-06 15:53:58 452

原创 76 极物科技 | KNX场景 - 双引擎场景协作机制

总线场景之外,主机侧还提供更灵活的场景编排能力,两者可以并存互补。本文围绕场景号、场景值与触发方式,说明两套场景引擎的协作机制。一句话概述:本文回答"什么时候用KNX原生场景、什么时候用主机场景、两个引擎同台怎么不打架"。

2026-10-06 15:51:59 501

原创 75 极物科技 | KNX场景控制 - 场景触发与场景值机制

KNX 的场景机制浓缩了国际标准“去中心化”的设计精髓——几十台设备的复杂联动被压缩成总线上一个 1 字节的场景号,即使主机离线,总线设备依然能自主完成场景切换。总线场景之外,主机侧还提供更灵活的场景编排能力,两者可以并存互补。本文围绕场景号、场景值与触发方式,说明两套场景引擎的协作机制。一句话概述:本文从总线报文层面拆解"场景"——一个1字节的场景号如何让几十台设备瞬间各就各位。

2026-10-06 15:49:44 211

原创 74 极物科技 | DALI转KNX - 双向联动与状态同步实战

两套标准在工程中常常并存:KNX 负责系统级联动,DALI 负责灯具级精细调光,融合的关键在于组地址映射与状态同步。本文从双总线融合架构出发,说明地址映射规则、双向联动链路与状态同步的实现方式。一句话概述:本文用三个实战案例打通双总线联动的"最后一公里"——KNX面板控DALI灯、DALI灯状态回显KNX面板、传感器跨总线自动化。

2026-10-05 15:22:15 274

原创 73 极物科技 | DALI转KNX - 网关配置与组地址映射

两套标准在工程中常常并存:KNX 负责系统级联动,DALI 负责灯具级精细调光,融合的关键在于组地址映射与状态同步。本文从双总线融合架构出发,说明地址映射规则、双向联动链路与状态同步的实现方式。一句话概述:本文回答"DALI的灯怎么映射成KNX组地址"——映射规则设计得好,ETS面板、极物主机、第三方系统三方都能无歧义地控制同一盏灯。

2026-10-05 15:20:32 438

原创 72 极物科技 | DALI转KNX - 双总线融合架构总览

两套标准在工程中常常并存:KNX 负责系统级联动,DALI 负责灯具级精细调光,融合的关键在于组地址映射与状态同步。本文从双总线融合架构出发,说明地址映射规则、双向联动链路与状态同步的实现方式。一句话概述:本文回答"为什么一个工程要同时跑KNX和DALI、两套总线怎么融合"——极物主机原生双总线能力让KNX的强项(面板/遮阳/暖通)与DALI的强项(灯具级精细控制)在同一个系统里各司其职。

2026-10-05 15:18:56 526

原创 71 极物科技 | KNX设备 - 状态上报与在线监控机制

本文回答"第三方系统如何可靠地掌握全部KNX设备的最新状态与在线情况"——状态上报的时机、全量同步的入口、在线判定的依据一次讲清。

2026-10-05 15:15:37 431

原创 70 极物科技 | KNX未知设备 - 自动识别与管理机制

一句话概述:本文回答"总线上冒出主机不认识的报文怎么办"——未知设备机制保证任何未映射的组地址报文都不会被静默丢弃,而是被捕获、归类、待补录。

2026-10-05 15:14:13 462

原创 课时03 嵌入式技术应用设计实训 | 串口通信:USART 收发二进制 与 printf

一句话概述:从“串口是几根线、字怎么发出去”入手,把 USART1 的初始化一步步写在 main.c 里(开时钟 → PA9/PA10 复用 → 115200-8-N-1 → 中断),再用一个 APP_MODE 宏切换两种现象:模式 1 用 printf 打印调试信息,模式 2 收 2 字节二进制命令帧控制 8 个 LED;并把厂家例程“printf 走裸寄存器、回显走 HAL”的两条发送路收拢成唯一的 uart_send()。

2026-10-05 15:05:41 976

原创 课时02 嵌入式技术应用设计实训 | GPIO 输入与外部中断:按键

一句话概述:从“读一个引脚的电平”入手,先弄清板载 4 个按键(KEY0/KEY1/KEY2/WK_UP)按下时分别是低电平还是高电平、为什么必须配上拉或下拉;再把它们配成外部中断(EXTI)+ NVIC,写出中断入口与回调,实现“按任意一个键,8 个 LED 在全亮与全灭之间翻转一次”。重点讲清“引脚号 → EXTI 线号 → NVIC 通道号”三段绑定,以及“中断里不能延时、消抖改用时间戳锁定”。课堂练习 4 条,大作业把“一键翻转全部”扩成“4 个键各管一个灯、按一下亮再按一下灭”。

2026-10-04 15:54:52 557 1

原创 课时01 嵌入式技术应用设计实训 | GPIO 输出:跑马灯与蜂鸣器

一句话概述:从 GPIO 的“开时钟 → 配推挽 → 写电平”三步入手,把 PC0~PC7(板载 DS0~DS7)配成推挽输出点亮 8 个 LED;同一份 main.c 里用 DEMO_MODE 宏切换五种现象——全亮、间隔亮、跑马灯、全亮全灭交替四种灯效,外加一种只响蜂鸣器,蜂鸣器只在第 5 种现象里响,其余现象全程静音;节奏全靠软件延时排出来,不涉及定时器与中断。

2026-10-02 23:02:22 619

原创 课时00 嵌入式技术应用设计实训 | 开发环境搭建与开发板认识

一句话概述:开课第一课,不写新代码:装齐 Keil MDK5 与 STM32F1 器件包、ST-Link 驱动、VS Code、Git,认清正点原子 STM32F103 Nano V1.3 的供电口、下载口与复位键,再打开仓库里的跑马灯实验案例,跑通"编译 → 下载 → 复位看现象"整条链路,为后面每一课打好底座。

2026-10-02 18:44:06 798

原创 33 嵌入式操作系统 | 模块七验收:端到端一键验收 + 项目答辩

一句话概述:这节课不写新功能,只做两件事——① 用 acceptance.sh 一键把整条链路重跑一遍,逐项打勾(本节实测 27 项全通过);② 按《验收清单》自评、按《答辩提纲》演练 5 分钟讲解。学完这节,你手上有一个能演示、能交付、能自愈的小系统。

2026-10-02 13:51:48 175

原创 32 嵌入式操作系统 | 可靠性:故障注入 + systemd 让网关自愈

一句话概述:先故意搞破坏——往串口灌半帧、坏 CRC、未知类型、LEN 超限、垃圾字节、两帧粘一起,往 TCP 灌坏长度前缀、错帧头、突发 3000 字节,看网关是不是"四条防线都守住了";再用 systemd 把网关做成服务,kill -9 掉它,2 秒后自己起来(NRestarts 从 0 变 1)——这就是"能长期无人值守"的最后一块拼图。

2026-10-02 13:51:01 409

原创 31 嵌入式操作系统 | 网关产品化:配置从 uci 读 + 状态用 ubus 暴露

一句话概述:让网关从"能跑的实验程序"变成"能交付的产品"——① 所有参数搬进配置文件 /etc/config/device(改配置不用重新编译);② 注册 ubus 对象 device,一条 ubus call device status 就能被别的程序(脚本、界面、系统服务)查询到 JSON 状态。

2026-10-02 13:49:51 370

原创 30 嵌入式操作系统 | 上位机界面:Flask 网页显示 + 控制闭环

一句话概述:写网页上位机——Flask 起一个页面,后台线程收网关的 UDP 上报(灯/风扇/温度/在线),按钮走 TCP 给网关发命令。做完这件事,用鼠标就能控制那个"串口设备",而且 Windows 宿主机浏览器里也能操作。

2026-10-01 21:22:31 550

原创 29 嵌入式操作系统 | 网关维护状态表 + 每 2 秒上报(含设备在线判定)

一句话概述:网关不再"收到就转发",而是把设备状态记进一张表,然后每 2 秒自己组一帧 0x81(帧尾多一个"在线"字节)UDP 上报给固定目标;设备超过 3 秒没上报就标成离线。下课时你能看到:灯 亮 | 风扇 2 档 | 25.0 ℃ | 在线 → 关掉设备 → 离线 → 设备回来 → 在线。

2026-10-01 21:20:57 193

原创 28 嵌入式操作系统 | 网关加 TCP 命令通道:粘包/半包怎么切

一句话概述:上一节网关用 UDP 讲通了"中间人";这一节加上真上位机该用的 TCP 通道,并解决网络编程里最经典的坑——粘包(两帧一起来)和半包(一帧分两次来)。做法只有一句:先发 2 字节长度,再发这一帧;谁收到谁按长度切。

2026-10-01 21:19:37 245

原创 27 嵌入式操作系统 | C 网关:串口 ⇄ UDP 转发(先用 UDP 当上位机替身)

一句话概述:写项目里的"中间人"——C 网关。它一头打开串口 /tmp/ttyV0(设备那边),一头开一个 UDP 口(上位机那边),把上位机的命令原样写进串口、把设备的状态帧转回上位机。下课时你会看到:一条 UDP 命令 → 网关照转 → 设备面板的灯亮了 → 状态又回到上位机。

2026-10-01 21:18:22 218

原创 26 嵌入式操作系统 | 设备面板接串口:命令行一帧点亮它

一句话概述:在课时 25 的面板上只加三件事——① 用 pyserial 打开 /tmp/ttyV1;② 用 QTimer 每 50 毫秒轮询一次串口(不用线程);③ 把收到的帧解析成动作并回一帧状态。做完之后,命令行发一帧 55 AA 01 01 01 E0 50,面板上的灯就真的亮了。

2026-10-01 21:16:54 360

原创 25 嵌入式操作系统 | 设备面板:用 Qt 控件把“设备“画出来(本节不接串口)

一句话概述:用 PyQt5 的控件和布局把"设备面板"搭出来(LED 圆点 / 风扇档位 / 温度 / 日志),学会"信号 → 槽":点按钮就调用你写的函数。学生只填 3 个槽函数、约 15 行;本节完全不上串口,下课前人人能做出"点按钮 → 灯变绿 + 日志一行"。

2026-09-29 11:36:03 331

原创 24 嵌入式操作系统 | 项目启动与环境准备(PyQt5 / Flask 两个“最小可跑“)

一句话概述:先用 20 分钟把项目讲清楚(三个程序、三层架构、一套帧协议),然后动手把环境跑起来:一条 apt 命令装好 PyQt5/pyserial/Flask,跑出一个 Qt 窗口和一个网页,把虚拟串口准备好,把《协议契约》填好——这节课只要"能跑",不写业务代码。

2026-09-29 11:33:37 265

原创 23 嵌入式操作系统 | 用 uloop 打开串口:定时采集 + 事件驱动收响应

一句话概述:把上一课"命令行手工发帧"的流程写成程序:先用阻塞版把 Modbus 读通(一问一答、sleep 干等),再改造成 uloop 版——uloop_fd_add 监听串口可读事件收响应、uloop_timeout 定时发请求并做响应超时保护,全程不阻塞;最后关掉从机验证"超时也不卡死"。

2026-09-29 11:32:46 630

原创 22 嵌入式操作系统 | 串口命令行调试(socat / stty / printf / hexdump)

一句话概述:一行 C 代码都不写,全部用命令行把串口调通:用 socat 造一对虚拟串口,用 stty 查看/设置串口参数,用 printf 发数据、hexdump 收数据,再用 exec 3<> 双工打开串口,手工完成一次 Modbus RTU 读写并用 crc_check.py 核对 CRC 与温度;最后故意制造故障,练排查能力。

2026-09-29 11:31:09 289

原创 21 嵌入式操作系统 | JSON 与 json-c:生成与解析

一句话概述:从上一课 ubus 打出的 JSON 讲起,一条命令一步地学 JSON:先看懂格式,再用 json-c 生成一份多传感器数据写成文件,接着解析字符串和文件,最后用 Python 的 json 标准库反向校验,配套课堂练习与课后作业。本节目标能看懂 JSON 的结构(对象、数组、键值对),知道它比自定义文本好在哪里会用 json-c 生成 JSON(对象/数组/字符串/数字/布尔)并写入文件会用 json-c 解析 JSON(从字符串、从文件),取出字段打印出来

2026-09-29 11:30:06 166

原创 22 嵌入式操作系统 | 串口命令行调试(socat / stty / printf / hexdump)

一句话概述:一行 C 代码都不写,全部用命令行把串口调通:用 socat 造一对虚拟串口,用 stty 查看/设置串口参数,用 printf 发数据、hexdump 收数据,再用 exec 3<> 双工打开串口,手工完成一次 Modbus RTU 读写并用 crc_check.py 核对 CRC 与温度;最后故意制造故障,练排查能力。

2026-09-28 12:51:54 159

原创 21 嵌入式操作系统 | JSON 与 json-c:生成与解析

一句话概述:从上一课 ubus 打出的 JSON 讲起,一条命令一步地学 JSON:先看懂格式,再用 json-c 生成一份多传感器数据写成文件,接着解析字符串和文件,最后用 Python 的 json 标准库反向校验,配套课堂练习与课后作业。

2026-09-28 12:50:45 188

原创 20 嵌入式操作系统 | ubus:把自己的程序状态暴露出去

一句话概述:讲清 ubus 的对象/方法模型:先启动 ubusd,再写一个注册 sensordata 对象的 C 程序,把运行状态(设备名、运行时长、被查询次数、传感器读数)用 blobmsg 返回去,最后用 ubus list 和 ubus call 一条命令一条命令地查询,配套课堂练习与课后作业。

2026-09-28 12:48:34 409

原创 19 嵌入式操作系统 | uci 配置读写(命令行 + libuci)

一句话概述:直接用 /etc/config(libuci 的默认目录,和 OpenWrt 一样)来学 uci:先建一个串口配置文件,再一条命令一步地 set、show、commit、get、delete 看结果,最后用 libuci 在 C 程序里读了 5 个串口参数、改掉波特率并写回文件,配套课堂练习与课后作业。

2026-09-28 12:46:45 340

原创 18 嵌入式操作系统 | uloop 定时器:周期任务与网络上报

一句话概述:讲清 uloop 的定时器用法:uloop_timeout_set 排一次、回调里再排一次就是周期任务;用"1 秒心跳 + 3 秒采集并 UDP 上报"的程序把定时器和网络收发放进同一个事件循环,一步一步给出命令与运行现象,配套课堂练习与课后作业。

2026-09-28 12:45:59 305

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除