| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 10,5 IIC总线 -> 正文阅读 |
|
[嵌入式]10,5 IIC总线 |
概念 I2C(IIC) 时序 1,起始信号 备注:起始信号和终止信号都是由主机产生的,起始信号产生之后,总线处于占用状态, 终止信号产生之后,总线处于空闲状态 起始信号:在SCL为高电平期间,SDA(数据线)从高电平到低电平的变化(下降沿) 2,停止信号 停止信号:在SCL为高电平期间,SDA(数据线)从低电平到高电平的变化(上升沿) 3,数据传输 IIC总线传输时,时钟信号在高电平期间,数据线上的数据必须保持稳定(接收器可以从总线上读取数据) 时钟信号在低电平期间,数据线上的数据允许发生变化(发送器可以向数据线上写数据) 4,应答信号和非应答信号 每一个字节必须保证是8位的长度,数据传送时,先发送高位,在发送低位,一帧数据=8位数据位+1位应答位=9位 发送器在发送完8位的数据位之后,接收器必须在第9个时钟周期,返回一个应答信号(0),或者非应答信号(1) 5,寻址 IIC总线上传输数据是广义的,既可以是地址信号,也可以是数据信号 主机在起始信号产生之后,必须要传送一个7位的从机地址,第8位是数据传输的方向位 框图 协议 主要代码 extern void printf(const char* fmt, ...); void i2c_init(void) void i2c_start(void) void i2c_stop(void) ?? ?I2C_SDA_H; void i2c_write_byte(unsigned char dat) ?? ?} unsigned char i2c_read_byte(unsigned char ack) ?? ??? ?I2C_SCL_H; unsigned char i2c_wait_ack(void) void i2c_ack(void)
void i2c_nack(void) ? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 21:16:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |