单片机实验2
一、IIC总线协议1.简介定义是一种广泛用于嵌入式系统的同步、串行、半双工通信协议用于在同一块电路板上的集成电路之间进行通信。I2C总线是一种物理通信架构用于连接多个设备实现设备之间的数据传输。I2C协议是一套规则定义了IIC总线上数据通信的过程包括如何启动通信、传输数据、应答信号、结束通信等。特点1.双线通信2.同步通信3.串行数据传输4.半双工传输5.主从架构6.支持多主多从7.从机地址唯一性8.速度灵活2.协议规则只能由主机产生a.起始信号SCL线高电平的时候SDA线产生下降沿b.终止信号SCL高电平的时候SDA线产生上升沿。主机和从机都能产生:a.应答信号:时钟线SCL高电平期间SDA低电b.非应答信号SCL高电平期间SDA高电平。总线空闲SCL和SDA一直为高电平数据有效在时钟线高电平期间只能读数据数据线电平不能变低电平期间可以写入数据数据线电平才能变数据的传输单元IIC线以字节为单位进行传输顺序为高位开始传输由主机发从机地址为7位左移1位加上数据传输方向位0写 1读3.数据手册从机地址计算公式精度选择指令通信方式主机先写发送设备地址写方向 寄存器/命令字节Command从机应答ACK。主机再读重新发起起始条件或重复起始发送设备地址读方向从机应答后返回 16 位数据MSB 在前。带校验数据之后跟随 CRC8用于检查读数据的完整性。终止主机接收 CRC8 后应答ACK最后以停止条件P结束。采集时间4.温湿度数据读取ioc配置二、SPI协议1.简介定义SPI通信是一种同步通信根据时钟信号设备得以在正确的时机发送和接收数据从而确保数据传输的有效性以及数据传输的速度。时钟信号由主设备产生通过SCK引脚输出主从设备的通信便根据SCK上的时钟信号进行数据收发。边沿触发总线接口 ( 引脚 ) SCK 、 MOSI master out slave in、 MISO master in slave out、 CS CS信号线进行从机的选择遵循一主多从或者一主一从的结构数据帧长度 8bit 或 16bit 数据传输的格式 MSB 或 LSB。 MSB表示先发送最高位LSB表示发送最低位。控制器可以自由配置先发高位还是低位指定当前要和哪一个设备通信只唤醒选中的那一个其他设备保持沉默不抢数据SPI 分离 GPIO 片选接法SCK、MOSI、MISO直接连通 MCU 硬件 SPI 外设引脚与从设备对应引脚属于 SPI 硬件专用功能脚。CS 片选不使用 SPI 外设自带 CS 引脚而是单独拿出一个普通的通用 GPIO 引脚软件控制高低电平来选中 / 释放从设备。优点一个 SPI 总线挂载多个从机时只需多分配几个普通 GPIO 做各自 CS大部分 MCU 硬件 SPI 的内置 NSS 引脚功能受限软件 GPIO 控制 CS 逻辑更可控适配绝大多数 SPI 传感器。缺点需要额外占用 一个普通 GPIO 引脚SPI 硬件自带 CS 引脚接法MCU 硬件 SPI 模块自带专用 CS 引脚直接连接到从设备 CS 脚由 SPI 硬件外设自动控制片选电平无需软件手动操作 GPIO。优点节省普通 GPIO 资源硬件自动管理 CS 时序发送数据时自动拉低、传输结束自动拉高简化代码适合高速连续传输。缺点一个 SPI 外设通常只有 1 个硬件 CS 脚只能挂载单个从设备时钟极性CPOLClock Polarity,简称CPOL,就是时钟极性,当主从设备之间没有数据传输的时候SCK时钟线的电平状态即空闲状态。当CPOL1时则SCK线空闲状态下是高电平当CPOLO时则SCK线空闲状态下是低电平。时钟相位CPHAClock Phase,简称CPHA,就是时钟相位。CPHA实际指的就是数据的采样时刻CPHA0时,则表示数据的采样是从时钟的第一个边沿CPHA1时则表示数据的采样是从时钟的第二个边沿。2.回环测试三、Modbus TCP 协议控制外设1.整体帧结构ADU 7 字节 MBAP 报文头 PDU功能码 数据一帧完整 Modbus TCP 由 7 字节 MBAP 头 至少 1 字节 PDU 功能码 组成a.MBAP 头部 7 字节固定结构字段长度作用说明事务处理标识符2 字节报文 ID客户端自增用于请求 - 应答配对服务器原样返回不参与运算协议标识符2 字节固定00 00代表 Modbus 协议长度2 字节后面所有字节总长度单元标识 PDU即 N2用于分包解析单元标识符1 字节等效 RTU 的从站地址以太网靠 IP 区分设备此字段可忽略常用默认值 01b.PDU 协议数据单元和 RTU 核心一致由1 字节功能码 N 字节数据组成读写线圈、寄存器的指令逻辑完全复用 Modbus RTU。对比 RTURTU 帧 从站地址 PDU CRC16 校验Modbus TCP无 CRC 校验。示例字节偏移内容名称详细说明0~100 01事务处理标识符 (Transaction ID)相当于请求的 “流水号”。客户端发的包 ID 是 0x0001服务器将来回复时必须带上同样的 0x0001这样单片机才能把 “回复” 和 “刚才的请求” 对上号。2~300 00协议标识符 (Protocol ID)固定为 0x0000代表这是 Modbus TCP 协议。如果收到非 0000 的值说明数据包不合法。4~500 06长度域 (Length)告诉服务器后面还有 6 个字节的数据需要读。后面 6 个字节就是 [01 03 00 00 00 01]。这一点极其关键单片机会根据这个数字去计算还要收多少包才算完整。601单元标识符 (Unit ID)相当于 Modbus RTU 里面的 “从机地址”。这里写 0x01代表告诉第 1 号设备“这包指令是发给你的”。703功能码 (Function Code)0x03 代表 “读保持寄存器”。告诉从机我要读取数据。8~900 00起始地址 (Starting Address)告诉从机“从你的第 0x0000 号寄存器开始读。”10~1100 01寄存器数量 (Quantity of Registers)告诉从机“我一共要读 1 个寄存器1 个寄存器占 2 个字节。”2.实验现象

相关新闻

C++23 <stacktrace>库实战:跨平台调试与异常处理新利器

C++23 <stacktrace>库实战:跨平台调试与异常处理新利器

1. 项目概述:为什么我们需要一个标准化的栈踪迹库?调试,大概是每个C开发者又爱又恨的环节。爱的是,当程序在你面前崩溃,而你通过蛛丝马迹最终定位到那个深藏不露的bug时,那种成就感无与伦比;恨的…

2026/10/13 1:15:45 阅读更多 →
Spring框架@RequestAttribute注解详解与应用实践

Spring框架@RequestAttribute注解详解与应用实践

1. RequestAttribute 注解深度解析在Spring框架中,RequestAttribute注解是一个相对小众但非常实用的注解。它主要用于从请求作用域(request scope)中获取预先存在的属性值。与大家更熟悉的RequestParam不同,RequestAttribute不是用来获取请求参数的&…

2026/10/13 1:59:22 阅读更多 →
Langchain.js框架学习与实践指南

Langchain.js框架学习与实践指南

1. Langchain.js学习笔记概述最近在系统学习Langchain.js框架,整理了一份详细的学习笔记。Langchain.js作为当前最热门的AI应用开发框架之一,能够帮助开发者快速构建基于大语言模型的应用程序。这套笔记主要基于《Langchain.js入门和实战》课程内容&…

2026/10/13 2:35:43 阅读更多 →

最新新闻

小型超市仓库管理系统

小型超市仓库管理系统

小型超市仓库管理系统选题背景与意义 随着我国城镇化进程的不断推进以及居民消费水平的持续提升,小型超市作为连接城市社区与消费者的重要商业节点,在日常生活中的作用日益凸显。尤其是在一二线城市周边的居民区、城乡结合部及中小城镇,小型超…

2026/10/14 0:02:42 阅读更多 →
小区物业管理系统

小区物业管理系统

小区物业管理系统选题背景与意义 随着我国城镇化进程的不断加快,城市住宅小区的数量持续增长,居民对居住环境品质的要求日益提高。现代社区不仅承担着基本的居住功能,更逐渐演变为集生活、休闲、服务于一体的综合性空间。在此背景下&#xff…

2026/10/14 0:02:42 阅读更多 →
IBM Verify Identity Access 修复 22 个漏洞:两个 9.8 严重 RCE 无需认证

IBM Verify Identity Access 修复 22 个漏洞:两个 9.8 严重 RCE 无需认证

一次补丁,二十二道口子被同时缝上。真正让人睡不着的,是其中两道连“敲门”都省了:攻击者不必拥有账号,不必骗用户点链接,也不必在边界外反复试探,只要目标还跑着受影响的 IBM Verify Identity Access 或 I…

2026/10/14 0:02:42 阅读更多 →
Caffe LISTFILE.txt生成与校验实战指南

Caffe LISTFILE.txt生成与校验实战指南

1. 项目概述:为什么一张LISTFILE.txt能决定训练成败在C Caffe框架下做图像分类或目标检测,你有没有遇到过这样的情况:模型跑起来了,loss也在降,但准确率卡在60%不上不下,反复调参、换网络结构、增大数据量都…

2026/10/14 0:02:42 阅读更多 →
Exchange 管理中心突发故障:微软确认“内部服务器错误”,管理员一度集体打不开后台

Exchange 管理中心突发故障:微软确认“内部服务器错误”,管理员一度集体打不开后台

你正想给员工重置一个邮箱密码,点击熟悉的 Exchange 管理中心网址,屏幕上却弹出一行冷冰冰的“内部服务器错误”——门户直接把你挡在了门外。2026年10月中旬,一场编号为 EX1500900 的突发访问故障悄然袭来,不少负责 Microsoft 36…

2026/10/14 0:02:42 阅读更多 →
等保2.0落地指南:从定级备案到整改自查的完整路线图

等保2.0落地指南:从定级备案到整改自查的完整路线图

简介:一份面向企业网络安全负责人、系统集成商及安全厂家的等保2.0三级基本要求深度解读资料,重点对照等级保护1.0梳理技术要求变化,特别剖析了安全通信网络、安全区域边界、安全计算环境等新增架构,以及合规分数由60分提升至75分…

2026/10/14 0:01:41 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →