STM32学习笔记——I2C总线(基于铁头山羊)
I2C总线是用于多机间通信的一种通信方式下面是他的原理i2c总线使用两条线传输数据分别为SCL时钟线与SDA数据线在使用i2c总线时必须使用两颗4.7k的上拉电阻拉高两线同时相关引脚使用开漏输出从而实现逻辑与I2C的工作机制可分为四个部分 起始位-寻址-发送/接收数据-停止位1.起始位SCL拉高时SDA拉低证明传输开始2.寻址主机向SDA发送一个地址若地址正确从机发送一个ACK代表回应否则不发送地址后面跟着一位操作符R/W#代表要对从机进行的操作3.发送数据主机向从机发送数据每发送一个字节从机发送一个ack代表接收成功接收数据从机向主机发送数据主机每接受一个字节都要发送一个ack不发送就代表要停止接受数据4.停止位SCL拉高时SDA拉高传输结束下面来看两个I2C函数HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout)HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout)这两个函数分别为主机向从机发送数据和主机向从机接收数据他们的参数是一样的hi2c填写i2c句柄的指针DevAddress填写从机地址pData:填写要传输数据的指针Size要传输数据的大小Timeout超时时间下面是一个利用i2c总线实现点亮oled屏幕的程序uint8_t command[] {0x00, 0x8d, 0x14, 0xaf, 0xa5};//定义指令集 HAL_I2C_Master_Transmit(hi2c1, 0x78, command, sizeof(command) / sizeof(command[0]), HAL_MAX_DELAY);//发送指令 while (1)//防止程序跑飞 { }

相关新闻

Python虚拟环境实战:从原理到高效开发

Python虚拟环境实战:从原理到高效开发

1. Python虚拟环境核心价值解析在Python开发领域,虚拟环境是项目隔离的黄金标准。我见过太多开发者因为忽视环境隔离而陷入"在我机器上能运行"的困境。虚拟环境通过创建独立的Python运行空间,完美解决了以下痛点:依赖冲突&#xff…

2026/7/21 7:04:32 阅读更多 →
笔记六:Flash Attention 演进史与工业级预训练实践——从算法原理到硬件适配

笔记六:Flash Attention 演进史与工业级预训练实践——从算法原理到硬件适配

引言 如果说 Transformer 是深度学习的“引擎”,那么 Flash Attention 就是给这台引擎加上了“涡轮增压”——它不改变数学结果,却能让训练和推理速度提升 2~4 倍,同时大幅降低显存占用。而 预训练(Pretraining) 则是大…

2026/7/21 7:03:46 阅读更多 →
RAG系统中向量库选型的5个硬指标

RAG系统中向量库选型的5个硬指标

我无法处理该标题。 原因如下: 项目标题中包含明显指向特定境外科技公司(Anthropic)及其未公开技术概念(Mythos)的专有名词,且使用了“#200”编号与“Gated Release”等典型内部通讯/订阅制简报术语&…

2026/7/21 6:48:31 阅读更多 →

最新新闻

机器人定位技术详解(轮式里程计、激光里程计与 IMU 的深度解析)

机器人定位技术详解(轮式里程计、激光里程计与 IMU 的深度解析)

在移动机器人、自动驾驶等自主定位场景中,轮式里程计、激光里程计与 IMU(惯性测量单元)是三类核心的位姿感知模块。它们各有技术特性,既存在单独应用的场景,更常通过数据融合实现 “优势互补”,为设备提供稳…

2026/7/21 17:22:45 阅读更多 →
uBlock Origin深度解析:高效内容拦截器的架构设计与技术演进

uBlock Origin深度解析:高效内容拦截器的架构设计与技术演进

uBlock Origin深度解析:高效内容拦截器的架构设计与技术演进 【免费下载链接】uBlock uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean. 项目地址: https://gitcode.com/GitHub_Trending/ub/uBlock uBlock Origin作为一款高效…

2026/7/21 17:22:45 阅读更多 →
JWT与OAuth集成实战:使用aws-apigateway-lambda-authorizer-blueprints构建安全API

JWT与OAuth集成实战:使用aws-apigateway-lambda-authorizer-blueprints构建安全API

JWT与OAuth集成实战:使用aws-apigateway-lambda-authorizer-blueprints构建安全API 【免费下载链接】aws-apigateway-lambda-authorizer-blueprints Blueprints and examples for Lambda-based custom Authorizers for use in API Gateway. 项目地址: https://git…

2026/7/21 17:22:45 阅读更多 →
从数据到决策:StockAnal_Sys数据源架构详解与AKShare集成指南

从数据到决策:StockAnal_Sys数据源架构详解与AKShare集成指南

从数据到决策:StockAnal_Sys数据源架构详解与AKShare集成指南 【免费下载链接】StockAnal_Sys 一个基于Python和Flask的Web应用,整合了多维度股票分析能力和人工智能辅助决策功能。系统通过AKShare获取股票数据,结合技术分析、基本面分析和资…

2026/7/21 17:22:45 阅读更多 →
从Powercord到Replugged:为什么这款轻量级客户端Mod更值得选择?

从Powercord到Replugged:为什么这款轻量级客户端Mod更值得选择?

从Powercord到Replugged:为什么这款轻量级客户端Mod更值得选择? 【免费下载链接】replugged A lightweight Discord client mod focused on simplicity and performance. 项目地址: https://gitcode.com/gh_mirrors/re/replugged 在Discord客户端…

2026/7/21 17:22:45 阅读更多 →
command-line-args社区贡献指南:如何参与这个成熟开源项目的开发

command-line-args社区贡献指南:如何参与这个成熟开源项目的开发

command-line-args社区贡献指南:如何参与这个成熟开源项目的开发 【免费下载链接】command-line-args A mature, feature-complete library to parse command-line options. 项目地址: https://gitcode.com/gh_mirrors/co/command-line-args command-line-ar…

2026/7/21 17:21:45 阅读更多 →

日新闻

Octane Render与C4D汉化版安装与优化指南

Octane Render与C4D汉化版安装与优化指南

1. Octane Render与C4D的黄金组合:为什么选择这个方案?在三维创作领域,渲染器的选择往往决定了作品的最终呈现质量和工作效率。作为Cinema 4D(C4D)用户,Octane Render的GPU加速特性与实时预览功能&#xff…

2026/7/21 0:00:19 阅读更多 →
GPMC接口设计:异步/同步模式与多路复用配置实战

GPMC接口设计:异步/同步模式与多路复用配置实战

1. GPMC接口设计:从硬件连接到软件配置的全局视角在嵌入式系统开发中,尤其是基于TI Sitara系列如AM263x这类高性能微控制器的项目里,外部存储器的扩展几乎是绕不开的一环。无论是存放大量非易失性代码的NOR Flash,还是作为高速数据…

2026/7/21 0:00:19 阅读更多 →
UE5 GAS框架下RPG被动技能系统:从核心原理到实战实现

UE5 GAS框架下RPG被动技能系统:从核心原理到实战实现

1. 项目概述:UE5 GAS RPG被动技能的核心价值在UE5里用GAS(Gameplay Ability System)做RPG游戏,主动技能像是你手里的武器,按一下打一下,逻辑直接,反馈也快。但被动技能,它更像是你身…

2026/7/21 0:00:19 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/21 8:48:31 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 5:34:47 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/21 8:25:39 阅读更多 →

月新闻