#ifndef _I2C_H_#define_I2C_H_#include"REG52.h"#defineu8 unsigned char#defineu16 unsigned int#defineu32 unsigned intsbit OLED_SCL=P1^0;//SCLsbit OLED_SDA=P1^1;//SDA//---OLED端口定义---#defineOLED_SCL_Clr() OLED_SCL=0#defineOLED_SCL_Set() OLED_SCL=1#defineOLED_SDA_Clr() OLED...
#define OLED_SCL_Clr() GPIO_ResetBits(GPIOA,GPIO_Pin_0) //CLK SCL 置0 #define OLED_SCL_Set() GPIO_SetBits(GPIOA,GPIO_Pin_0) #define OLED_SDA_Clr() GPIO_ResetBits(GPIOA,GPIO_Pin_1) //MOSI SDA 置0 #define OLED_SDA_Set() GPIO_SetBits(GPIOA,GPIO_Pin_1) #define OLED_RES_...
//#define OLED_SCLK_Clr() (GPIOA->PBC = GPIO_PIN_4)//SCL //#define OLED_SCLK_Set() ...
在SCL高电平期间,拉低SDA,则产生起始条件,在下一个SCL低电平期间,传输数据 结束条件: 当SCL高电平期间,拉高SDA则产生结束条件 发送数据,接收数据: 在SCL低电平期间可以任意调整SDA的高低电平,在SCL高电平期间,接收方读取SDA的电平,从而读取到接收方的数据 发送应答,接收应答: 发送完成一个数据后,在SCL低电平期间,...
OLED_SCL_Clr();//将时钟信号设置为低电平 if(dat&0x80)//将dat的8位从最高位依次写入 { OLED_...
为使OLED工作,其时钟引脚SCL是与P1相连,数据引脚DIN则与P6相连。相应的高低电平输出语句则定义为: #define OLED_SCLK_Clr() GPIOSetBitValue(LPC_GPIO_PORT->PIN0, 1, 0 ); //10 SCL #define OLED_SCLK_Set() GPIOSetBitValue(LPC_GPIO_PORT->PIN0, 1, 1 ); ...
(); } //写入一个字节 void Send_Byte(u8 dat) { u8 i; for(i=0;i<8;i++) { OLED_SCL_Clr();//将时钟信号设置为低电平 if(dat&0x80)//将dat的8位从最高位依次写入 { OLED_SDA_Set(); } else { OLED_SDA_Clr(); } IIC_delay(); OLED_SCL_Set(); IIC_delay(); OLED_SCL_Clr...
OLED_SCLK_Clr(); } /*** //IIC Stop 结束信号:SCL高电平时,SDA由低电平到高电平跳变,结束传送数据。 ***/ void OLED_IIC_Stop() { OLED_SCLK_Set() ; // OLED_SCLK_Clr(); OLED_SDIN_Clr(); OLED_SDIN_Set(); } void OLED_IIC_Wait...
#defineOLED_SCLK_Clr()HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_RESET)//GPIO_ResetBits(GPIOB,GPIO_Pin_10)//SCL #defineOLED_SCLK_Set()HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_SET)//GPIO_SetBits(GPIOB,GPIO_Pin_10)
OLED_SCLK_Clr(); Delay_Us(2); } } 复制代码 由于开发板的工作主频高达816MHz,因此在引脚输出信号时,一定要加适当的延时,否则会影响显示输出。 两种显示字模的结构如下: unsignedchar F6x8[][6] = { 0x00,0x00, 0x00, 0x00, 0x00, 0x00,// sp ...