社区
单片机/工控
帖子详情
STM32的硬件I2C的收发
leaf666666
2017-07-19 09:29:20
STM32的硬件I2C的接口怎么在同一接口上进行数据的接收和发送?主机可以收发,从机也可以收发在同一接串口上?
...全文
704
7
打赏
收藏
STM32的硬件I2C的收发
STM32的硬件I2C的接口怎么在同一接口上进行数据的接收和发送?主机可以收发,从机也可以收发在同一接串口上?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
李伯特
2017-08-20
打赏
举报
回复
以上是I2C协议的时序图,I2C串行总线一般有两根信号线,一根是双向(收发一体)的数据线SDA,另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。
I2C是一种主从式协议,总线上允许连接多个微处理器以及各种外围设备,为了保证数据可靠地传送,任一时刻总线只能由某一台主机控制,各微处理器应该在总线空闲时发送启动数据,为了妥善解决多台微处理器同时发送启动数据的传送(总线控制权)冲突,以及决定由哪一台微处理器控制总线的问题,I2C总线允许连接不同传送速率的设备。多台设备之间时钟信号的同步过程称为同步化。I2C总线在开始条件后的首字节决定哪个被控器将被主控器选择,例外的是“通用访问”地址,它可以在所有期间寻址。当主控器输出一地址时,系统中的每一器件都将开始条件后的前7位地址和自己的地址进行比较。如果相同,该器件即认为自己被主控器寻址,而作为被控接收器或被控发送器则取决于R/W位。
tianxj001
2017-08-10
打赏
举报
回复
补充一下,等待接受的任何一方,在等待时刻,必须释放总线控制权,让发送数据方可以把数据放到IIC数据线上。 如果遇忙,转错误处理,一般是等待,并等所有芯片完全释放总线后,重启通信
tianxj001
2017-08-10
打赏
举报
回复
问的好像是硬件IIC,估计你对整个IIC原理不怎么清楚吧?IIC应答双方分为主从,SMART发起总线申请,然后发送slave芯片地址,slave芯片回答ACK,实现握手,然后继续接受指令-ACK-执行动作,或者回复数据-主机ACK。所谓回复数据,那就是slave芯片把数据放到总线上,有marst芯片接受了。这就是一个典型主从通信的IIC时序
qq_38857833
2017-07-22
打赏
举报
回复
I2C是有模式选择的,可以通过模式选择分时发送
kalwen
2017-07-21
打赏
举报
回复
I2C怎么又成串口了?
of123
2017-07-21
打赏
举报
回复
I2C 的传输,只能由主机发起,由主机控制。 不过,你可以通过主机的轮询机制来实现从机发送某些信息的功能。
Acuity.
2017-07-19
打赏
举报
回复
没看明白问题描述
STM32
硬件
中断
收发
I2C
数据
stm32
使用
硬件
中断读写
i2c
设备,给出详细代码,实际使用ok
STM32
F103
硬件
I2C
主机
收发
数据,亲测可用
STM32
F103
硬件
I2C
主机轮询
收发
数据,经过在开发板
STM32
F103C8T6中测试,并使用串口打印接收和发送的数据,数据正确且能连续接收和发送数据。使用的是标准库实现的
I2C
1总线通信,适合初学者;但是前提是需要熟悉
I2C
通信的基本原理和信号的产生,以及数据是怎样传输的。
stm32
_
i2c
+dma
收发
_AT24WC.rar
stm32
f0
i2c
实例 dma demo读取外部flash,亲测可用 金典实例。
STM32
系列ARM Cortex-M3微控制器原理与实践_清晰版
第1章ARM及Cortex-M3处理器概述 1.1ARM处理器系列 1.1.1命名规则 1.1.2ARM处理器系列 1.2ARMCortex-M3处理器 1.2.1处理器组件 1.2.2Cortex-M3的层次和实现选项 1.2.3处理器内核 1.2.4嵌套向量中断控制器(NVIC) 1.2.5总线矩阵 1.2.6集成调试 1.2.7可选组件 1.2.8Cortex-M3处理器应用 1.3ARMCortex-M3指令集 1.4ARMCortex-M3的优势 第2章
STM32
系列微控制器 2.1
STM32
系列微控制器简介 2.1.1
STM32
微控制器的主要优点 2.1.2
STM32
微控制器的应用 2.2
STM32
F101xx系列微控制器 2.2.1特点 2.2.2总体结构 2.3
STM32
F103xx系列微控制器 2.3.1特点 2.3.2总体结构 第3章
STM32
系列微控制器存储器与外设 3.1存储器和总线的结构 3.1.1系统结构 3.1.2存储器结构 3.1.3存储器映射 3.1.4启动配置 3.2电源控制 3.2.1电源供应 3.2.2电源供应管理 3.2.3低功耗模式 3.2.4电源控制寄存器 3.3复位和时钟控制 3.3.1复位 3.3.2时钟 3.3.3RCC寄存器描述 3.4通用I/O和复用I/O(GPIO和AFIO) 3.4.1GPIO功能描述 3.4.2GPIO寄存器描述 3.4.3复用功能I/O和调试配置(AFIO) 3.4.4AFIO寄存器描述 3.5中断和事件 3.5.1嵌套向量中断控制器(NVIC) 3.5.2外部中断/事件控制器(EXTI) 3.5.3EXTI寄存器 3.6DMA控制器 3.6.1简介 3.6.2主要特性 3.6.3功能描述 3.6.4DMA寄存器 3.7实时时钟(RTC) 3.7.1简介 3.7.2主要特性 3.7.3功能描述 3.7.4RTC寄存器描述 3.8备份寄存器(BKP) 3.8.1简介 3.8.2主要特性 3.8.3干扰检测 3.8.4RTC校验 3.8.5BKP寄存器描述 3.9独立的看门狗 3.9.1简介 3.9.2IWDG寄存器描述 3.10窗口看门狗(WWDG) 3.10.1简介 3.10.2主要特性 3.10.3功能描述 3.10.4如何编程看门狗的超时时间 3.10.5调试模式 3.10.6寄存器描述 3.11高级控制定时器 3.11.1简介 3.11.2主要特性 3.11.3框图 3.11.4功能描述 3.11.5TIMI寄存器描述 3.12通用定时器(TIMx) 3.12.1简介 3.12.2主要特性 3.12.3框图 3.12.4功能描述 3.12.5TIMx寄存器描述 3.13控制器局域网(bxCAN) 3.13.1简介 3.13.2主要特性 3.13.3总体描述 3.13.4运行模式 3.13.5功能描述 3.13.6中断 3.13.7寄存器访问保护 3.13.8CAN寄存器描述 3.14内部集成电路(
I2C
)接口 3.14.1简介 3.14.2主要特性 3.14.3总体描述 3.14.4功能描述 3.14.5中断请求 3.14.6
I2C
调试模式 3.14.7
I2C
寄存器描述 3.15串行外设接FI(SPI) 3.15.1简介 3.15.2主要特性 3.15.3功能描述 3.15.4SPI寄存器描述 3.16通用同步异步
收发
机(USART) 3.16.1简介 3.16.2主要特性 3.16.3总体描述 3.16.4中断请求 3.16.5USART寄存器描述 3.17USB全速设备接口 3.17.1概述 3.17.2主要特性 3.17.3结构框图 3.17.4功能描述 3.17.5编程中需要考虑的问题 3.17.6USB寄存器描述 3.18模/数转换器(ADC) 3.18.1概述 3.18.2主要特性 3.18.3引脚描述 3.18.4功能描述 3.18.5校准 3.18.6数据对齐 3.18.7基于通道的可编程的采样时间 3.18.8外部触发转换 3.18.9DMA请求 3.18.10双ADC模式 3.18.11温度传感器 3.18.12中断 3.18.13ADC寄存器描述 3.19调试支持(DBG) 3.19.1概述 3.19.2相关的ARM文档 3.19.3SWJ调试端口(串行线和JTAG) 3.19.4引脚分布和调试端口引脚 3.19.5
STM32
F10xJTAGTAP连接 3.19.6ID编码和锁定机制 3.19.7JTAG调试端口 3.19.8SW调试端口 第4章
STM32
固件库 4.1
STM32
固件库的定义规则 4.1.1固件库命名规则 4.1.2代码标准 4.2
STM32
库的层次结构 4.2.1固件包描述 4.2.2固件库文件描述 4.3
STM32
库的使用 第5章
STM32
系列微控制器开发工具与应用 5.1KeilMDK介绍 5.1.1开发过程及集成开发环境简介 5.1.2工程管理 5.1.3编写源程序 5.1.4编译程序 5.1.5调试程序 5.2IAREWARM介绍 5.2.1EWARM集成开发环境及配套仿真器 5.2.2在EWARM中生成一个新项目 5.2.3编译和链接应用程序 5.2.4用J-LINK调试应用程序 5.3
STM32
-SK仿真评估板 5.3.1评估板规格说明 5.3.2测试程序 5.3.3关于仿真评估板的几个问题 5.4
STM32
-DK开发板 5.4.1开发板规格说明 5.4.2开发板实例程序 5.4.3关于STARM的常见问题 5.5mx-Pro量产编程器使用简介 5.5.1编程文件管理 5.5.2芯片烧写 5.6应用实例:基于
STM32
的数据采集器 5.6.1
硬件
设计 5.6.2软件设计 参考文献
stm32
单片机开发工程及相关总结
我用的是
stm32
103c8t6芯片,在大牛帮助下一点点从一窍不通到做完项目,走了不少弯路,现在把我的工程贴上,希望能给做
stm32
的人一点帮助。 项目主要用到adc采集电压、采集温度、串口依照协议
收发
数据、
硬件
i2c
做主设备与其他板子
i2c
通信。
单片机/工控
27,375
社区成员
28,769
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章