草庐IT

ESP32 IDF iic通信( 已验证) C语言

关于iic原理建议B站自己看视频去,然后本文主要实现了esp32的初始化,写地址,写数据,读数据的功能,从机的代码因为展示不需要,没写.园子里面有个兄弟写了iic的代码.但是里面有点毒,多发了次地址验证,所以才有这篇文章;代码注释比较多,愿君少走弯路❀以下是头文件主要参数代码:#include"driver/i2c.h"#include"freertos/portmacro.h"#defineI2C_NUMI2C_NUM_0#defineI2C_MATER_READ(0x1)//主机进行读操作,从机进行写操作#defineI2C_MATER_WRITE(0x0)//主机进行写操作,从机进行读操

FPGA实现IIC接口(2)-EEPROM芯片写数据

目录1.单次随机写数据1.1简介1.2代码1.3Modelsim仿真1.4逻辑分析仪上板验证2.页写2.1简介2.1代码2.3Modelsim仿真2.4逻辑分析仪上板验证1.单次随机写数据1.1简介在黑金ax301开发板上使用IIC在EEPROM24LC04芯片上写数据。fpga型号:EP4CE6F17C8开发工具:Quartusll13.0+Modelsim10.1c系统时钟:50MHZIIC时钟:250KHZ两个模块:IIC驱动模块和IIC顶层模块使用的ip核:pll单次随机写数据时序图如下:过程如下:(1)主机产生并发送起始信号到从机,将控制命令写入从机设备,读写控制位设置为低电平,表示

【【IIC模块Verilog实现---用IIC协议从FPGA端读取E2PROM】】

IIC模块Verilog实现–用IIC协议从FPGA端读取E2PROM下面是design设计I2C_dri.vmoduleIIC_CONTROL#(parameterSLAVE_ADDR=7'b1010000,//E2PROM从机地址parameterCLK_FREQ=26'd50_000_000,//50MHz的时钟频率parameterI2C_FREQ=18'd250_000//SCL的时钟频率)(inputclk,inputrst_n,//----------------------------------------------//input[15:0]i2c_addr,//地址inp

FPGA实现IIC接口(1)-EEPROM芯片读取数据

目录1.单次随机读数据1.1简介1.2代码1.3Modelsim仿真1.4逻辑分析仪上板验证2.顺序读数据2.1简介2.2代码2.3Modelsim仿真​2.4逻辑分析仪上板验证 1.单次随机读数据1.1简介在黑金ax301开发板上使用IIC读取EEPROM24LC04的数据。fpga型号:EP4CE6F17C8开发工具:Quartusll13.0+Modelsim10.1c系统时钟:50MHZIIC时钟:250KHZ两个模块:IIC驱动模块和IIC顶层模块使用的ip核:pll单次随机读时序图如下:过程如下:(1)主机产生并发送起始信号到从机,将控制命令写入从机设备,读写控制位设置为低电平,表

ZYNQ AXI4总线访问DDR3实现图像数据乒乓存储与显示

目录前言一、添加端口二、添加局部变量三、例化读写FIFO四、内部变量修改,设置一次读写进行多少次突发操作五、写地址六、读地址七、状态机1.写状态机2.读状态机总结前言在AlteraFPGA进行图像处理时,我们采用的存储芯片为SDRAM,当时参照正点原子的例程是封装SDRAM控制器,然后像操作FIFO一样去控制SDRAM。现在换了ZYNQ的板子后,由于DDR3是挂载在PS端的,Xilinx官方提供了视频接口的IP,但是IP这东西像个小黑盒子一样,在开发过程中遇到了问题,极其不易排查,所以我就在官方的AXI4—FULL接口代码上稍做修改,实现像以前一样像操作FIFO一样去操作PS端的DDR3。一、

STM32—IIC详解入门(oled屏显示字)

目录一、IIC协议二、IIC构成三、IIC特点    四、IIC传输数据过程的三种信号起始信号终止信号应答信号五、IIC发送/接收一个字节数据六、OLED屏七、用到的函数八、配置九、main代码详细注释(oled显示字)一、IIC协议        IIC全称Inter-IntegratedCircuit(集成电路总线),由PHILIPS公司在80年代开发的两线式串行总线,用于连接微控制器及其外围设备。IIC属于半双工同步通信方式。二、IIC构成        IIC串行总线有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。两条线都接上拉电阻,以确保总线空闲时刻为高电平,其中时钟信

HarmonyOS开发:基于IIC的OLED多种显示

HarmonyOS开发:基于IIC的OLED多种显示引言软硬件准备硬件软件功能介绍功能开发创建工程并获取源码确定项目结构实现流程开启I2C功能选择IIC引脚重要程序介绍实现效果总结引言本文主要介绍如何在OpenHarmony3.2的基础上开发IIC接口的OLED显示屏的不同显示效果。目前网络上有关鸿蒙嵌入式方面的参考文章比较少,大多为HarmonyOS1.0的版本(其中就有作者的一篇)

iic学习笔记

一、简介由飞利浦主导开发的片间互联协议。iic通信使用三线(sdascl以及gnd,不包括电源线),极大程度上减少了对ic的io口的占用。同时iic支持多主机以及多从机,方便了程序的设计。二、协议层简介在iic总线上scl的电平决定了整条iic总线的有效性。当scl出于高电平时,主机与从机可以侦测sda数据的变化,sda上的数据有效。当scl出于低电平时sda线无效,目标准备读取下一位数据。在iic总线上,一共有四种状态:起始,0/应答,1/非应答,结束在scl线处于高电平的状态下,这四种状态对应的sda的状态分别是:起始:sda产生下降沿0/ack:sda处于低电平1/nack:sda处于高

使用C++编写STM32软件IIC

最近在重构自己的平衡车代码,里面需要用到MPU6050的DMP,从中读取四元数进行欧拉角解算,但是看着软件IIC的代码实在是很变扭,因为之前不会C++,所以如果需要调用多个IIC设备,那么使用的时候就需要重复的去进行软件IIC底层代码的初始化,非常的麻烦,而且需要调整各个引脚,在学习过C++之后,发现类实在是太好用了,那么我就在想能不能通过类把软件IIC的底层进行封装,实现和arduino一样的编程效果,使用的时候只需要放入软件IIC的SCL和SDA对应的GPIO即可。1.环境软件环境:keilCubeMX硬件环境:STM32F103C8T6MPU6050使用引脚:PB8–>SCLPB9–>S

FPGA——AXI4总线详解

目录AXI4总线1、什么是AXI2、AXI4协议的优势AXI4的工作模式AXI4读操作:AXI4写操作AXI4和AXI4-Lite、AXI4-Stream接口信号握手信号AXI相关术语AXI4总线1、什么是AXI   AXI(AdvancedeXtensibleInterface高级可扩展总线)是一种总线协议   AXI4包含3种类型的接口:1)AXI4:主要面向高性能地址映射通信的需求;(突发数据)(地址映射模式)2)AXI4-Lite:是一个轻量级的,适用于吞吐量较小的地址映射通信总线;(无突发)(地址映射模式)3)AXI4-Stream:面向高速流数据传输(流模式)2、AXI4协议的优势