草庐IT

0.96寸 IIC OLED移植中景园驱动屏幕左边有白边

移植中景园的OLED代码屏幕最左边有一条白边,不美观。解决方法:首先找到清屏代码,将其中的0x02改成0x00,就可以从x的第0列开始清屏。然后找到位置设置的代码,将其中的(x+2)改成x,让设置的x列从0开始。这样就解决了白边的问题。

STM32之模拟IIC总线控制SHT20温湿度芯片

一、IIC总线概述1、IIC总线介绍I2C(Inter-IntegratedCircuit)总线产生于在80年代,由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,最初为音频和视频设备开发。I2C总线两线制包括:串行数据SDA(SerialData)、串行时钟SCL(SerialClock)。时钟线必须由主机(通常为微控制器)控制,主机产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。I2C总线上有主机(MCU)和从机(片外外设,如AT24C02)之分,可以有多个主机和多个从机。从机永远不会主动给主机发送数据。器件发送数据到总线上,则定义为发送器,器件接收数

基于HAL库实现STM32硬件IIC读写MPU6050

一、接口介绍1.1HAL_I2C_Mem_Write()参数1:I2C句柄,如&hi2c1;参数2:从机设备地址(呼叫),如陀螺仪,写为0xD0(...0);参数3:从机寄存器地址(具体的读写位置);参数4:从机寄存器地址长度,I2C_MEMADD_SIZE_8BIT或I2C_MEMADD_SIZE_16BIT;参数5:发送的数据的起始地址(写入什么);参数6:传输数据的大小如1代表1字节;参数7:操作超时时间如0x10...。1.2HAL_I2C_Mem_Read()参数2:如陀螺仪,读为0xD1(...1);参数5:读到哪里二、实验代码(注释很重要)uint8_tSenddata0x00=

(九)零基础学懂 IIC 协议——EEPROM 读写测试

文章目录(九)零基础学懂IIC协议——EEPROM读写测试0致读者1实验任务2`EEPROM`简介3`IIC`协议简介3.1物理层3.2协议层3.3IIC器件地址3.4存储地址3.5IIC写时序3.6IIC读时序4程序设计4.1整体模块设计4.2IIC驱动模块设计4.2.1功能讲解4.2.2波形图绘制4.2.3编写代码4.3EEPROM读写模块4.3.1功能讲解4.3.2波形图绘制4.3.3编写代码4.4EEPROM读写测试结果显示模块4.4.1功能讲解4.4.2波形图绘制4.4.3编写代码4.5顶层模块设计4.5.1功能讲解4.5.2编写代码5仿真验证5.1编写TestBench5.2代码仿

stm32硬件实现IIC

#include"Driver_IIC.h"#include"Delay.h"/***IIC默认地工作于从模式。*生成起始条件后自动地从从模式切换到主模式,*当仲裁丢失或产生停止信号时,从主模式切换到从模式。***从模式用于接收数据;主模式用于发送数据。*//***初始化*/voidDriver_IIC_Init(void){/*1.时钟控制使能IIC和GPIOB*/RCC->APB1ENR|=RCC_APB1ENR_I2C2EN;RCC->APB2ENR|=RCC_APB2ENR_IOPBEN;/*2.配置PB10、PB11为复用开漏*///PB10和PB11引脚为I2C2GPIOB->CR

stm32硬件实现IIC

#include"Driver_IIC.h"#include"Delay.h"/***IIC默认地工作于从模式。*生成起始条件后自动地从从模式切换到主模式,*当仲裁丢失或产生停止信号时,从主模式切换到从模式。***从模式用于接收数据;主模式用于发送数据。*//***初始化*/voidDriver_IIC_Init(void){/*1.时钟控制使能IIC和GPIOB*/RCC->APB1ENR|=RCC_APB1ENR_I2C2EN;RCC->APB2ENR|=RCC_APB2ENR_IOPBEN;/*2.配置PB10、PB11为复用开漏*///PB10和PB11引脚为I2C2GPIOB->CR

FPGA IIC的状态机实现

IIC协议的简单介绍1.IIC通讯设备的链接图注:一个IIC总线可以挂载多个设备,一个IIC总线有两条线,一个是数据线,一个是时钟线。主机通过访问不同的从机地址来进行不同设备之间的通信。细节请自己百度,这里不做过多介绍。2.IIC协议的时序2.1整体时序图注:图片纯手画,有些丑,不喜勿喷。由图中可以看出,整体的时序图由A,B,C,D分割。下面我将详细介绍这四部分。A:表示空闲状态,此时SCL和SDA都为高电平。B:表示开始状态,当SCL为高电平时,SDA出现下降沿之后,表示进入了开始状态,数据将要发送或者接受。C:表示数据读写状态,其中的一段时序波形如下图所示:D:表示结束状态,当SCL为高电

STM32 第19讲 IIC(协议简介/读取驱动AT24C02/实验)

文章目录IIC总线协议介绍IIC总线结构图IIC协议IIC读写通讯过程24C02简介24C02读写时序图写时序图读时序实验实现功能实验原理流程图代码IIC底层驱动代码24C02驱动代码main.cIIC总线协议介绍IIC:InterIntegratedCircuit,集成电路总线,是一种同步串行半双工通信协议IIC总线结构图①总线由数据线SDA和时钟线SCL构成的串行总线,数据线用来传输数据,时钟线用来同步数据收发。②总线上每一个器件都有一个唯一的地址识别,所以我们只需要知道器件的地址,根据时序就可以实现微控制器与器件之间的通信。③数据线SDA和时钟线SCL都是双向线路,都通过一个电流源或上拉

常用通讯协议(UART、RS232、RS485、IIC、SPI)简单介绍

常用通讯协议随笔这里主要对工作学习中常见常用的通信协议进行一个整理,在需要的时候可以进行回顾,内容主要根据创客学院,所做的学习笔记加上一些比较好理解的话语,内容如有错误还请各大佬批评指正。通讯基础并行通讯:数据线有8条,就代表总线传输数据时一次可传输8位数据;串行通讯:数据线只有一条,需要一个一个位逐次传输;UART即通用异步收发器,是一种通用的串行,异步通讯总线;总线有两天数据线,可以实现全双工的发送和接收;在嵌入式系统中常用与主机与辅助设备之间的通信波特率:用于描述UART通信时的通信速度,其单位为bps(bitpersecond)即每秒钟传送的bit的数量;起始位(必须有):为低电平,代

常用通讯协议(UART、RS232、RS485、IIC、SPI)简单介绍

常用通讯协议随笔这里主要对工作学习中常见常用的通信协议进行一个整理,在需要的时候可以进行回顾,内容主要根据创客学院,所做的学习笔记加上一些比较好理解的话语,内容如有错误还请各大佬批评指正。通讯基础并行通讯:数据线有8条,就代表总线传输数据时一次可传输8位数据;串行通讯:数据线只有一条,需要一个一个位逐次传输;UART即通用异步收发器,是一种通用的串行,异步通讯总线;总线有两天数据线,可以实现全双工的发送和接收;在嵌入式系统中常用与主机与辅助设备之间的通信波特率:用于描述UART通信时的通信速度,其单位为bps(bitpersecond)即每秒钟传送的bit的数量;起始位(必须有):为低电平,代