OLED液晶屏采用i2c通信方式,根据芯片手册说明,从设备地址为 0x3C。 主要代码分析 这部分代码为i2c初始化的代码。首先用 I2cIoInit() 函数将GPIO0_PC1复用为I2C1_SDA_M1,GPIO0_PC2复用为I2C1_SCL_M1。最后调用 LzI2cInit()函数初始化I2C1端口。 if(I2cIoInit(m_i2cBus) != LZ_HARDWARE_SUCCESS) { printf...
I2C_GetFlagStatus(): 获取状态标志位后需要手动清除标志位 I2C_GenerateSTART(): //产生起始信号 I2C_GenerateSTOP(): //产生停止信号 I2C_CheckEvent() : //获取事件状态 I2C_Cmd(): //I2C使能 I2C_Send7bitAddress(): //发送设备地址 I2C_SendData() I2C_ReceiveData() I2C_AcknowledgeConfig() : //...
I2C_Init(I2C_Mode_I2C,400000, I2C_DutyCycle_16_9, I2C_Ack_Enable, I2C_AckAddr_7bit,0x42);//使用IIC外设,时钟频率设置为400Kbit/s,时钟占空比设置为Tlow:Thigh=16:9,7位地址,设置主机地址OLED_Init();//OLED初始化charData ='!';for(uint8_t i=1;i<5;i++) {for(uint8_t j=1;j<17...
voidOLED_Init(void)//OLED屏幕按照手册进行初始化{ IIC_Init();//端口初始化OLED_WriteCommand(0xAE);//关闭显示OLED_WriteCommand(0xD5);//设置显示时钟分频比/振荡器频率OLED_WriteCommand(0x80); OLED_WriteCommand(0xA8);//设置多路复用率OLED_WriteCommand(0x3F); OLED_WriteCommand(0xD3);//设置显...
i2c_master_gpio_init();//IIC初始化 1. 使用ESP8266SDK提供的IIC库实现的写命令函数,写数据函数: AI检测代码解析 void OLED_WrCmd(uint8 WrCmd) { i2c_master_start(); i2c_master_writeByte(0x78); i2c_master_getAck(); i2c_master_writeByte(0x00); ...
XR806硬件上支持SPI,I2C等其他外设接口,且DDR和FLASH,满足常见应用场景的开发,适合开发者进行方案评估、DIY或小规模产品研发使用。本篇文章,将使用到I2C接口,去控制OLED屏幕的显示。 OLED屏幕规格: 0.96英寸 主控SSD1306 I2C接口 地址 0x3C XR806外设:I2C1 ...
浅论I2C驱动ssd1306 OLED显示屏示例程序演示 1.0、OLED 有机发光二极管(OrganicLight-Emitting Diode,OLED),又称为有机电激光显示、有机发光半导体(OrganicElectroluminesence Display,OLED),是指有机半导体材料和发光材料在电场驱动下,通过载流子注入和复合导致发光的现象。本篇通过0.96寸OLED包采用I2C软串口示例程序演示...
Zero i2c oled使用指南 一、硬件连接# 一般市面上买到的单色oled屏幕模块一般都是同时支持spi和i2c接口的,而默认一般都是spi接口模式,需要根据说明书调整模模块上电阻的位置来转换到i2c模式。我手中这个模块一般比较常见,分辨率是128*64,需要焊接R1和R4,注意下方那个电阻位置要短接。
voidSsd1306TestTask(void*arg){(void)arg;//先初始化引脚IoTGpioInit(HI_IO_NAME_GPIO_13);IoTGpioInit(HI_IO_NAME_GPIO_14);//将引脚功能设置为I2C引脚hi_io_set_func(HI_IO_NAME_GPIO_13,HI_IO_FUNC_GPIO_13_I2C0_SDA);hi_io_set_func(HI_IO_NAME_GPIO_14,HI_IO_FUNC_GPIO_14_I2C0_SCL...
I2C_HandleTypeDef hi2c1; void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_I2C1_Init(void); int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_I2C1_Init(); while (1) { // 主循环 ...