softiic.h 1#ifndef __SOFTI2C_H_2#define__SOFTI2C_H_34#include"main.h"5//使用IICX PD6,PC167#defineSDA_IN() {GPIOC->MODER &= ~(3 << 1 * 2);GPIOC->MODER = (0 << 1 * 2);}8#defineSDA_OUT() {GPIOC->MODER &= ~(3 << 1 * 2);GPIOC->MODER = (1 << 1 * 2)...
void (*IIC_Start)(const struct IIC_Type*); //IIC_Start void (*IIC_Stop)(const struct IIC_Type*); //IIC_Stop uint8_t (*IIC_Wait_Ack)(const struct IIC_Type*); //IIC_Wait_ack,返回wait失败或是成功 void (*IIC_Ack)(const struct IIC_Type*); //IIC_Ack,IIC发送ACK信号void (*IIC...
使用HAL_I2C_Mem_Write等于先使用HAL_I2C_Master_Transmit传输第一个寄存器地址,再用HAL_I2C_Master_Transmit传输写入第一个寄存器的数据。可以传输多个数据 代码语言:javascript 复制 voidSingle_WriteI2C(uint8_t REG_Address,uint8_t REG_data){uint8_t TxData[2]={REG_Address,REG_data};while(HAL_I2C_Mas...
HAL_I2C_Slave_Receive_IT(&hi2c1, I2CBuf_RxData, sizeof(I2CBuf_RxData)); // 启动中断接收 在...
目前IICOLED屏幕是初学者常用的外设,本文将介绍STM32F407(所有STM32都大同小异)方面的oled驱动,下一篇文章将会介绍linux的IIC驱动。 OLED启动主要分为以下几步: ①屏幕初始化 ②开启屏幕显示 ③清屏(不清屏的话屏幕将会出现一片雪花) ④发送要显示的字符串、数字、汉字等 ...
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驱动添加
}while(HAL_I2C_Master_Transmit_IT(&hi2c2 ,0x0b,&BUFF[0],1)!= HAL_OK){} //IIC主机发送函数,主要IIC配置好了,这个可以添加到main函数里面测试 关于STM32CubeMx的HAL库IIC收发有几种函数,用户可以根据自己不同的需求进行选择,以下就是主要的几个HAL库IIC收发函数: ...
void C_scl_h(iic_class *pin){ HAL_GPIO_WritePin(pin->SCL,pin->scl_pin,1); } //拉低SCL引脚的电平 void C_scl_l(iic_class *pin){ HAL_GPIO_WritePin(pin->SCL,pin->scl_pin,0); } //拉高SDA引脚的电平 void C_sda_h(iic_class *pin){ ...
STM32CubeMX | STM32使用HAL库驱动SD2405时钟芯片(模拟IIC) 头文件 #ifndef SD2405_H__ #define SD2405_H__ #include "main.h" #include "delay.h" #define IIC_SCL PBout(13) #define IIC_SDA PBout(14) #define READ_SDA PBin(14)