HAL_I2C_Mem_Write(&hi2c1 ,0x78,0x40,I2C_MEMADD_SIZE_8BIT,&data,1,0x100); } ①屏幕初始化部分 网上有各种各样的初始化代码,这个一个是匹配我手上的oled屏幕的配置,如果驱动不成功,可以试一下其他的初始化代码。 void WriteCmd() { OLED_WR_CMD(0xAE);//--turn off oled panel OLED_WR_CMD...
HAL_GPIO_WritePin(IIC_Type_t->GPIOx_SCL,IIC_Type_t->GPIO_SCL,GPIO_PIN_SET);//设置SCL为高电平}else{ HAL_GPIO_WritePin(IIC_Type_t->GPIOx_SCL,IIC_Type_t->GPIO_SCL,GPIO_PIN_RESET);//设置SCL为低电平} }//设置SDA电平staticvoidIIC_SDA(conststructIIC_Type*IIC_Type_t,intn){if(n==...
STM32 使用硬件IIC驱动0.96寸4针IOLED显示器(HAL库) 1 新建cubemax工程 1.1 配置系统时钟RCC 1.2 配置引脚 1.3 导出工程 略... 2 代码 2.1 OLED_IIC_Config.h /** * *** * * @file OLED_IIC_Config.h * @author zxr * @brief IIC和OLED基础配置头文件 * * *** *...
/// 设置IIC的SDA引脚为输入 void SDA_SET_IN(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; GPIO_InitStruct.Pin = IIC_SDA_Pin; GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); } void IIC_Start(void) { SD...
HAL_UART_Transmit(&huart1, temp,1,0xff);return(ch); }/*USER CODE END 0*//** * @brief The application entry point. * @retval int*/intmain(void) {/*USER CODE BEGIN 1*/floatpitch, roll, yaw;//欧拉角shortaacx, aacy, aacz;//加速度传感器原始数据shortgyrox, gyroy, gyroz;//陀...
关于这份代码起因是用HAL库的IIC代码可能是由于我自己的能力不够,始终没有办法驱动我手上的一块OLED屏幕,于是我就利用HAL库写了一份代码,可以很好的驱动起来;后来我的手上又有了一块MPU6050,同样也是使用IIC通信的,这时我想到把两者同时利用起来,但是由于我写的烂代码的很难同时驱动两个,于是就有了下面这些具有一...
1、STM32CubeMX 6.11.1 2、keil 5.38a 3、IIC接口的OLED,主控芯片是SSD1315 二、配置 1、硬件...
STM32(HAL库)软件IIC驱动OLED 1、简介 本文通过STM32F103C8T6单片机(HAL库)通过软件IIC方式对OLED进行驱动。 2、CubeMX初始化配置 2.1 基础配置 2.1.1 SYS配置 2.1.2 RCC配置 2.2 软件IIC引脚配置 2.3 项目生成 3、KEIL端程序整合 3.1 OLED驱动添加
这篇文章将带大家学习如何编写OLED显示屏的驱动程序。这里我使用的是HAL库的硬件IIC,OLED屏幕使用的是SSD1306的。 这里需要参考SSD1306的数据手册来编写驱动程序。 手册位置: 一、OLED的器件地址 OLED的器件地址由8个位组成,分别是011110SA0 R/W#。 数据手册有这样一段话: ...
STM32 IIC通信; CubeMX配置, HAL库, IAR或者Keil编程CubeMX系列使用经验分享 zhangminmin 2022-02-21 06:49:52 基于STM32和HAL库创建一个IIC设备 使用面向对象的编程思想封装IIC驱动,将IIC的属性和操作封装成一个库,在需要创建一个IIC设备时只需要实例化一个IIC对象即可,本文是基于STM32和HAL库做进一步封装的...