首页/新闻资讯/正文详情

ARM学习笔记(8)

发布时间:2026/9/24 10:21:56 来源:云帆数科 栏目:资讯中心
ARM学习笔记(8)
今天整理 i2c 的笔记总线这个东西看着简单把时序捋清楚也就通了大半。I2C 是什么I2C 是两根线的串行通信总线一根 SCL 时钟线、一根 SDA 数据线。靠地址寻址从机地址是 7 位最多能挂 127 个从机。起始信号之后发的第一个字节很有讲究高 7 位是设备地址低 1 位是数据流向。最低位是 0 表示主机写数据给从机是 1 表示从机读数据给主机。比如笔记里记的 0x10 展开成二进制就是 0001 0001 。I2C 的通信速率分几档100 kHz、400 kHz、1.x M、3.x M用得最多的是标准 100k 和快速 400k。I2C 时序时序核心就是 SCL 和 SDA 两条线的电平配合分四步- 起始信号SCL 为高电平时SDA 从高变低出现下降沿- 数据传输SCL 高电平期间SDA 电平保持稳定接收方在这个窗口采样SCL 低电平期间SDA 可以随意改变发送方趁这段时间发数据- 应答信号第 9 个时钟周期接收方向发送方回复应答——低电平是 ACK高电平是 NACK- 结束信号SCL 为高电平时SDA 从低变高出现上升沿把收发两端和电平对上写驱动时思路就顺了// 起始信号SCL 高电平时SDA 高-低static void i2c_start(void){SDA 1; SCL 1;SDA 0; // 下降沿SCL 0;}// 结束信号SCL 高电平时SDA 低-高static void i2c_stop(void){SDA 0; SCL 1;SDA 1; // 上升沿}// 发一个字节SCL 低电平时放数据高电平时采样static void i2c_write_byte(unsigned char data){for (int i 0; i 8; i){SCL 0;SDA (data 0x80) ? 1 : 0; // 先发高位data 1;SCL 1; // 接收方在高电平采样}}寄存器访问外设的寄存器映射在地址空间里从 0xFF 一路排到 0x00 每个寄存器对应一块存储单元。读写的时候按地址去操作寄存器位就行这也是 I2C 最常见的应用场景——挂个传感器、EEPROM 之类就是往它寄存器地址里读写数据。

相关推荐

【Springboot毕设全套源码+文档】基于Java+spring boot的智慧医疗平台设计与实现(丰富项目+远程调试+讲解+定制)
【Springboot毕设全套源码+文档】基于Java+spring boot的智慧医疗平台设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… · 2026/9/24 10:21:30

【JAVA毕设源码分享】基于spring boot的智慧医疗平台设计与实现(程序+文档+代码讲解+一条龙定制)
【JAVA毕设源码分享】基于spring boot的智慧医疗平台设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… · 2026/9/24 10:21:30

二代豆包手机发布之后,属于AI mini主机的时代来了?
二代豆包手机发布之后,属于AI mini主机的时代来了?

作者:Evin编辑:刘致呈审核:徐徐出品:互联网江湖二代豆包手机发售后,个人AI设备讨论逐渐升温。手机作为个人AI终端地位没有争议,用户习惯和厂商布局都在成熟。但更值得观察的是AI主机赛道——从商业化落地看… · 2026/9/24 10:21:24

Vivado 2023.1补丁安装全攻略:从下载到验证的实操指南
Vivado 2023.1补丁安装全攻略:从下载到验证的实操指南

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

飞轮储能辅助火电机组一次调频:建模、控制与容量优化复现
飞轮储能辅助火电机组一次调频:建模、控制与容量优化复现

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

泰科纳气泡图软件:图纸更新,可以自动版本比对,不用重新标注!
泰科纳气泡图软件:图纸更新,可以自动版本比对,不用重新标注!

产品研发阶段图纸迭代频繁,每一次图纸改版,质检团队都要重新标注气泡、重新整理检测项目。微小改动,也要整张图纸重新核对,大量重复工作,拖慢样品验证进度。很多气泡工具没有版本对比功能,图纸一改&#xf… · 2026/9/24 10:50:16

第九章 · 代理 — 明星不出面,经纪人全搞定
第九章 · 代理 — 明星不出面,经纪人全搞定

这一章,她学会了"代理":正主不露面,中间挡一层。起因,是她迷上了一个所有事都走经纪人的爱豆。晚上八点,沙发 “我跟你讲,我这个爱豆,微博从来不自己发,全是经纪人发的。”… · 2026/9/24 10:50:10

Noctalia 贡献者指南深度解析:设计原则、技术栈、源码布局与调试实战
Noctalia 贡献者指南深度解析:设计原则、技术栈、源码布局与调试实战

桌面应用 【免费下载链接】noctalia A sleek, customizable desktop shell crafted for Wayland. 项目地址: https://gitcode.com/gh_mirrors/no/noctalia 点击查看 免费下载 Noctalia 是一款面向 Wayland 的轻量可定制桌面 Shell(项目 README&#xff… · 2026/9/24 10:50:04

汽车售后索赔怎么上升?常规/异常两个走法+三级机制讲透
汽车售后索赔怎么上升?常规/异常两个走法+三级机制讲透

汽车售后索赔怎么上升?常规/异常两个走法三级机制讲透本文节选自新书 《汽车Tier1供应商售后全生命周期管理》第5章 核心活动:索赔管理(5.3 上升机制)。作者基于一线 SQE(供应商质量工程师)视角的实战总结… · 2026/9/24 10:49:58

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码