当前位置: 首页 > news >正文

一些思路(电表)

## 多通道电流采集系统 — 完整知识点 + 手把手教学

---

# 第一部分:你需要掌握的知识点清单

## 一、C语言(单片机端)

### 1. 基础语法

| 知识点 | 说明 | 代码示例 |
|--------|------|----------|
| **变量类型** | uint8_t(0~255)、uint16_t(0~65535)、uint32_t、float | `uint16_t adc_val = 0;` |
| **数组** | 连续存储多个同类型数据 | `uint16_t buf[300];` |
| **for循环** | 重复执行 | `for(int i=0; i<10; i++){}` |
| **if判断** | 条件分支 | `if(x == 1){}else{}` |
| **switch** | 多分支选择 | `switch(cmd){case 0x01: ...}` |
| **#define宏** | 定义常量 | `#define CH_NUM 6` |
| **static变量** | 函数内变量保持值不丢失 | `static int count = 0;` |
| **extern变量** | 声明其他文件的全局变量 | `extern uint8_t flag;` |
| **指针** | 存储地址的变量 | `uint16_t *p = &buf[0];` |
| **结构体** | 打包多个变量 | `struct{int a; int b;} data;` |
| **typedef** | 给类型起别名 | `typedef struct{} MyStruct;` |
| **位运算** | &、\|、>>、<< | `val >> 8` 取高字节 |

### 2. 单片机专用知识

| 知识点 | 说明 |
|--------|------|
| **GPIO** | 引脚输入/输出控制 |
| **ADC** | 模拟量转数字量(12位=0~4095) |
| **DMA** | 直接内存访问,自动搬运数据,不占CPU |
| **串口/UART** | 异步串行通信 |
| **中断** | 硬件事件触发CPU暂停当前任务去处理 |
| **定时器/SysTick** | 系统滴答定时器,`HAL_GetTick()`返回毫秒数 |
| **HAL库** | ST官方硬件抽象层,封装寄存器操作 |

### 3. 算法知识

| 知识点 | 说明 |
|--------|------|
| **滑动平均滤波** | 保存最近N个值取平均,滤除噪声 |
| **校验和** | 数据累加取低8位,验证传输正确性 |
| **状态机** | 根据当前状态决定下一步行为(串口接收用) |
| **ADC转电压** | V = ADC值 × Vref / 分辨率 |
| **大端序** | 高字节在前,低字节在后(网络序) |

---

## 二、Python(上位机端)

| 知识点 | 说明 | 代码示例 |
|--------|------|----------|
| **class类** | 封装数据和方法 | `class Monitor:` |
| **__init__** | 构造函数,创建对象时自动调用 | `def __init__(self):` |
| **self** | 指向实例本身 | `self.var = 0` |
| **tkinter** | Python自带GUI库 | `tk.Tk()` 创建窗口 |
| **Label/Button** | 标签、按钮控件 | `ttk.Label(root, text="hi")` |
| **pack/grid** | 布局管理器 | `.pack(side=tk.LEFT)` |
| **serial库** | 串口通信 | `serial.Serial('COM3', 115200)` |
| **decode** | 字节转字符串 | `data.decode('utf-8')` |
| **split** | 字符串分割 | `"a b c".split()` → `['a','b','c']` |
| **列表推导式** | 简洁创建列表 | `[x for x in list if condition]` |
| **deque** | 双端队列,自动淘汰旧数据 | `deque(m

http://www.zskr.cn/news/1484837.html

相关文章:

  • 从抓包到内核参数:手把手教你定位F5负载均衡后HTTP请求神秘RST的根因
  • 2026 安徽淮南市(全区域服务)彩钢瓦修缮公司 TOP4 权威推荐 + 避坑指南 - 本地便民网
  • 德令哈居民搬家实操指南:全国低价寄件大小件物流快递搬家分类寄送,告别偏远物流高价坑 - 时讯资讯
  • 2026年烟台CPPM报名费用资料怎么核对?众智商学院官网400冯老师课程班期 - 众智商学院官方
  • GCC版本升级踩坑实录:从‘unrecognized command line option’到成功编译的完整避坑指南
  • 如何选郑州黄金回收店?2026年6月推荐五家对比卖金安全评测价格选择指南 - 品牌推荐
  • 2026年众智商学院PMP报名材料加微信怎么准备?官网400冯老师PMI英文申请咨询 - 众智商学院职业教育
  • 不止OBD4:通过SE16N查T077S表,深入理解SAP总账科目组的字段状态控制逻辑
  • 2026年石家庄搬家公司哪家好?5家专业服务推荐 - 本地品牌推荐
  • ROS中使用命令行实现topic和service 通信
  • 从监控服务器到第一个被监控设备:Zabbix 5.0安装后的快速上手指南
  • 深度实操指南:mattpocock/skills 从安装、核心技能到职场全场景落地
  • 第【6】期--基于凸优化的多UAV-ISAC系统联合位置部署和功率分配研究-maltab完整代码+报告
  • 2026年无锡过程能力CPK六西格玛众智商学院资料领取试听课报名费用班期咨询官网400冯老师 - 众智商学院官方
  • NSK SFT2006-3 重载滚珠丝杠详解
  • 用Python和Matplotlib可视化理解向量场:从曲线积分到环量通量(附完整代码)
  • AT24C02应用避坑指南:I2C通信那些容易忽略的时序细节与地址配置
  • 从双击文件夹到数据落盘:一篇说清 IO、存储、硬盘和文件系
  • 玩转SSD1306的8种扫描模式:用Arduino实现OLED动画和特效显示
  • 2026年最新许昌市黄金回收店铺TOP5排行榜 黄金+白银+铂金+K金回收门店指南及联系方式电话推荐 - 大熊猫898989
  • C++面向对象程序设计之继承与封装
  • 告别谷歌WebRTC编译噩梦:用MetaRTC在树莓派上5分钟搭建低延迟视频通话
  • YOLOv5模型瘦身与加速实战:巧用depth/width_multiple和训练技巧
  • MATLAB一键运行的UDP收发工具(带可视化操作界面)
  • 手把手教你用HTML+CSS复刻一个简约风个人主页(附完整源码与素材)
  • 别只盯着TVS管!低成本过8KV ESD,我是这样优化PCB布局与地平面的
  • 第50篇 k8s之系列总结 + 项目演示与后续扩展
  • 不只是滤镜:手把手教你用OpenCV导向滤波实现简易版“人像背景虚化”效果
  • 基于PSO优化的BP神经网络风电短期功率预测MATLAB工具包
  • STM32F103C8T6搭配W5500模块,手把手教你实现Modbus TCP从站(附完整代码)