Added files for I2C
This commit is contained in:
@@ -13,9 +13,16 @@
|
||||
|
||||
//Universal structs and defines ---------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
enum class AF_Mask : uint8_t{
|
||||
AF0,
|
||||
AF1,
|
||||
AF2,
|
||||
AF3,
|
||||
AF4,
|
||||
AF5,
|
||||
AF6,
|
||||
AF7
|
||||
};
|
||||
|
||||
//---------------------------------------------------------
|
||||
|
||||
|
||||
8
SHAL/Include/Peripheral/I2C/Reg/SHAL_I2C_REG.h
Normal file
8
SHAL/Include/Peripheral/I2C/Reg/SHAL_I2C_REG.h
Normal file
@@ -0,0 +1,8 @@
|
||||
//
|
||||
// Created by Luca on 9/9/2025.
|
||||
//
|
||||
|
||||
#ifndef SHMINGO_HAL_SHAL_I2C_REG_H
|
||||
#define SHMINGO_HAL_SHAL_I2C_REG_H
|
||||
|
||||
#endif //SHMINGO_HAL_SHAL_I2C_REG_H
|
||||
20
SHAL/Include/Peripheral/I2C/Reg/SHAL_I2C_REG_F072xB.h
Normal file
20
SHAL/Include/Peripheral/I2C/Reg/SHAL_I2C_REG_F072xB.h
Normal file
@@ -0,0 +1,20 @@
|
||||
//
|
||||
// Created by Luca on 9/9/2025.
|
||||
//
|
||||
|
||||
#ifndef SHMINGO_HAL_SHAL_I2C_REG_F072XB_H
|
||||
#define SHMINGO_HAL_SHAL_I2C_REG_F072XB_H
|
||||
|
||||
#include "SHAL_CORE.h"
|
||||
|
||||
enum class I2C_Pair : uint8_t{
|
||||
//I2C_1
|
||||
SCL1B6_SDA1B7, //AF1
|
||||
SCL1B8_SDA1B9, //AF1
|
||||
|
||||
//I2C_2
|
||||
SCL2B10_SDA2B11, //AF1
|
||||
SCL2B13_SDA2B14, //AF5
|
||||
};
|
||||
|
||||
#endif //SHMINGO_HAL_SHAL_I2C_REG_F072XB_H
|
||||
25
SHAL/Include/Peripheral/I2C/Reg/SHAL_I2C_TYPES.h
Normal file
25
SHAL/Include/Peripheral/I2C/Reg/SHAL_I2C_TYPES.h
Normal file
@@ -0,0 +1,25 @@
|
||||
//
|
||||
// Created by Luca on 9/9/2025.
|
||||
//
|
||||
|
||||
#ifndef SHMINGO_HAL_SHAL_I2C_TYPES_H
|
||||
#define SHMINGO_HAL_SHAL_I2C_TYPES_H
|
||||
|
||||
#include "SHAL_CORE.h"
|
||||
#include "SHAL_GPIO_REG.h"
|
||||
|
||||
//Information necessary for I2C
|
||||
struct SHAL_I2C_Pair {
|
||||
I2C_TypeDef* I2CReg;
|
||||
GPIO_Key SCL_Key;
|
||||
GPIO_Key SDA_Key;
|
||||
AF_Mask SCL_Mask;
|
||||
AF_Mask SDA_Mask;
|
||||
};
|
||||
|
||||
struct SHAL_I2C_Enable_REG{
|
||||
volatile uint32_t* reg;
|
||||
uint32_t mask;
|
||||
};
|
||||
|
||||
#endif //SHMINGO_HAL_SHAL_I2C_TYPES_H
|
||||
8
SHAL/Include/Peripheral/I2C/SHAL_I2C.h
Normal file
8
SHAL/Include/Peripheral/I2C/SHAL_I2C.h
Normal file
@@ -0,0 +1,8 @@
|
||||
//
|
||||
// Created by Luca on 9/9/2025.
|
||||
//
|
||||
|
||||
#ifndef SHMINGO_HAL_SHAL_I2C_H
|
||||
#define SHMINGO_HAL_SHAL_I2C_H
|
||||
|
||||
#endif //SHMINGO_HAL_SHAL_I2C_H
|
||||
@@ -8,20 +8,10 @@
|
||||
#include "SHAL_CORE.h"
|
||||
#include "SHAL_GPIO_REG.h"
|
||||
|
||||
enum class AF_Mask : uint8_t{
|
||||
AF0,
|
||||
AF1,
|
||||
AF2,
|
||||
AF3,
|
||||
AF4,
|
||||
AF5,
|
||||
AF6,
|
||||
AF7
|
||||
};
|
||||
|
||||
|
||||
//Represents a pair of pins usable for USART Tx + Rx in combination, and their alternate function mapping
|
||||
struct SHAL_UART_Pair{
|
||||
|
||||
USART_TypeDef* USARTReg;
|
||||
GPIO_Key TxKey;
|
||||
GPIO_Key RxKey;
|
||||
|
||||
Reference in New Issue
Block a user