131 lines
4.8 KiB
C
131 lines
4.8 KiB
C
#ifndef _MCU_BSP_I2C_H_
|
|
#define _MCU_BSP_I2C_H_
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
#include <stddef.h>
|
|
|
|
#include "cpu.h"
|
|
#include "os.h"
|
|
#include "bsp_int.h"
|
|
#include "bsp_sys.h"
|
|
#include "lib_def.h"
|
|
|
|
#include "driverlib/sysctl.h"
|
|
#include "driverlib/gpio.h"
|
|
#include "driverlib/pin_map.h"
|
|
#include "driverlib/i2c.h"
|
|
#include "driverlib/interrupt.h"
|
|
|
|
#include "inc/hw_memmap.h"
|
|
#include "inc/hw_i2c.h"
|
|
#include "inc/hw_ints.h"
|
|
|
|
#define MCU_BSP_I2C_ALL_NUM 8
|
|
|
|
#define MCU_BSP_I2C_SPEED100000 100000
|
|
#define MCU_BSP_I2C_SPEED400000 400000
|
|
|
|
#define MCU_BSP_I2C_MASTER 0
|
|
#define MCU_BSP_I2C_SLAVE 1
|
|
|
|
#define MCU_BSP_I2C_OFF 0
|
|
#define MCU_BSP_I2C_ON 1
|
|
|
|
#define MCU_BSP_I2C_WRITE_ENABLE 1
|
|
#define MCU_BSP_I2C_WRITE_DISABLE 0
|
|
|
|
#define MCU_BSP_I2C_READ_DISABLE 0
|
|
#define MCU_BSP_I2C_READ_ENABLE 1
|
|
|
|
/* IIC硬件上的配置 */
|
|
#define MCU_BSP_I2C0 0
|
|
#define MCU_BSP_I2C0_SCL_PIN_CONF GPIO_PB2_I2C0SCL
|
|
#define MCU_BSP_I2C0_SDA_PIN_CONF GPIO_PB3_I2C0SDA
|
|
#define MCU_BSP_I2C0_SCL_GPIO_CLK SYSCTL_PERIPH_GPIOB
|
|
#define MCU_BSP_I2C0_SCL_GPIO GPIO_PORTB_BASE
|
|
#define MCU_BSP_I2C0_SCL_GPIO_PIN GPIO_PIN_2
|
|
#define MCU_BSP_I2C0_SDA_GPIO_CLK SYSCTL_PERIPH_GPIOB
|
|
#define MCU_BSP_I2C0_SDA_GPIO GPIO_PORTB_BASE
|
|
#define MCU_BSP_I2C0_SDA_GPIO_PIN GPIO_PIN_3
|
|
|
|
#define MCU_BSP_I2C1 1
|
|
#define MCU_BSP_I2C1_SCL_PIN_CONF GPIO_PG0_I2C1SCL
|
|
#define MCU_BSP_I2C1_SDA_PIN_CONF GPIO_PG1_I2C1SDA
|
|
#define MCU_BSP_I2C1_SCL_GPIO_CLK SYSCTL_PERIPH_GPIOG
|
|
#define MCU_BSP_I2C1_SCL_GPIO GPIO_PORTG_BASE
|
|
#define MCU_BSP_I2C1_SCL_GPIO_PIN GPIO_PIN_0
|
|
#define MCU_BSP_I2C1_SDA_GPIO_CLK SYSCTL_PERIPH_GPIOG
|
|
#define MCU_BSP_I2C1_SDA_GPIO GPIO_PORTG_BASE
|
|
#define MCU_BSP_I2C1_SDA_GPIO_PIN GPIO_PIN_1
|
|
|
|
#define MCU_BSP_I2C2 2
|
|
#define MCU_BSP_I2C2_SCL_PIN_CONF GPIO_PL1_I2C2SCL
|
|
#define MCU_BSP_I2C2_SDA_PIN_CONF GPIO_PL0_I2C2SDA
|
|
#define MCU_BSP_I2C2_SCL_GPIO_CLK SYSCTL_PERIPH_GPIOL
|
|
#define MCU_BSP_I2C2_SCL_GPIO GPIO_PORTL_BASE
|
|
#define MCU_BSP_I2C2_SCL_GPIO_PIN GPIO_PIN_1
|
|
#define MCU_BSP_I2C2_SDA_GPIO_CLK SYSCTL_PERIPH_GPIOL
|
|
#define MCU_BSP_I2C2_SDA_GPIO GPIO_PORTL_BASE
|
|
#define MCU_BSP_I2C2_SDA_GPIO_PIN GPIO_PIN_0
|
|
|
|
#define MCU_BSP_I2C3 3
|
|
#define MCU_BSP_I2C3_SCL_PIN_CONF GPIO_PK4_I2C3SCL
|
|
#define MCU_BSP_I2C3_SDA_PIN_CONF GPIO_PK5_I2C3SDA
|
|
#define MCU_BSP_I2C3_SCL_GPIO_CLK SYSCTL_PERIPH_GPIOK
|
|
#define MCU_BSP_I2C3_SCL_GPIO GPIO_PORTK_BASE
|
|
#define MCU_BSP_I2C3_SCL_GPIO_PIN GPIO_PIN_4
|
|
#define MCU_BSP_I2C3_SDA_GPIO_CLK SYSCTL_PERIPH_GPIOK
|
|
#define MCU_BSP_I2C3_SDA_GPIO GPIO_PORTK_BASE
|
|
#define MCU_BSP_I2C3_SDA_GPIO_PIN GPIO_PIN_5
|
|
|
|
#define MCU_BSP_I2C4 4
|
|
#define MCU_BSP_I2C4_SCL_PIN_CONF GPIO_PK6_I2C4SCL
|
|
#define MCU_BSP_I2C4_SDA_PIN_CONF GPIO_PK7_I2C4SDA
|
|
#define MCU_BSP_I2C4_SCL_GPIO_CLK SYSCTL_PERIPH_GPIOK
|
|
#define MCU_BSP_I2C4_SCL_GPIO GPIO_PORTK_BASE
|
|
#define MCU_BSP_I2C4_SCL_GPIO_PIN GPIO_PIN_6
|
|
#define MCU_BSP_I2C4_SDA_GPIO_CLK SYSCTL_PERIPH_GPIOK
|
|
#define MCU_BSP_I2C4_SDA_GPIO GPIO_PORTK_BASE
|
|
#define MCU_BSP_I2C4_SDA_GPIO_PIN GPIO_PIN_7
|
|
|
|
#define MCU_BSP_I2C5 5
|
|
#define MCU_BSP_I2C5_SCL_PIN_CONF GPIO_PB0_I2C5SCL
|
|
#define MCU_BSP_I2C5_SDA_PIN_CONF GPIO_PB1_I2C5SDA
|
|
#define MCU_BSP_I2C5_SCL_GPIO_CLK SYSCTL_PERIPH_GPIOB
|
|
#define MCU_BSP_I2C5_SCL_GPIO GPIO_PORTB_BASE
|
|
#define MCU_BSP_I2C5_SCL_GPIO_PIN GPIO_PIN_0
|
|
#define MCU_BSP_I2C5_SDA_GPIO_CLK SYSCTL_PERIPH_GPIOB
|
|
#define MCU_BSP_I2C5_SDA_GPIO GPIO_PORTB_BASE
|
|
#define MCU_BSP_I2C5_SDA_GPIO_PIN GPIO_PIN_1
|
|
|
|
#define MCU_BSP_I2C6 6
|
|
#define MCU_BSP_I2C6_SCL_PIN_CONF GPIO_PA6_I2C6SCL
|
|
#define MCU_BSP_I2C6_SDA_PIN_CONF GPIO_PA7_I2C6SDA
|
|
#define MCU_BSP_I2C6_SCL_GPIO_CLK SYSCTL_PERIPH_GPIOA
|
|
#define MCU_BSP_I2C6_SCL_GPIO GPIO_PORTA_BASE
|
|
#define MCU_BSP_I2C6_SCL_GPIO_PIN GPIO_PIN_6
|
|
#define MCU_BSP_I2C6_SDA_GPIO_CLK SYSCTL_PERIPH_GPIOA
|
|
#define MCU_BSP_I2C6_SDA_GPIO GPIO_PORTA_BASE
|
|
#define MCU_BSP_I2C6_SDA_GPIO_PIN GPIO_PIN_7
|
|
|
|
#define MCU_BSP_I2C7 7
|
|
#define MCU_BSP_I2C7_SCL_PIN_CONF GPIO_PD0_I2C7SCL
|
|
#define MCU_BSP_I2C7_SDA_PIN_CONF GPIO_PD1_I2C7SDA
|
|
#define MCU_BSP_I2C7_SCL_GPIO_CLK SYSCTL_PERIPH_GPIOD
|
|
#define MCU_BSP_I2C7_SCL_GPIO GPIO_PORTD_BASE
|
|
#define MCU_BSP_I2C7_SCL_GPIO_PIN GPIO_PIN_0
|
|
#define MCU_BSP_I2C7_SDA_GPIO_CLK SYSCTL_PERIPH_GPIOD
|
|
#define MCU_BSP_I2C7_SDA_GPIO GPIO_PORTD_BASE
|
|
#define MCU_BSP_I2C7_SDA_GPIO_PIN GPIO_PIN_1
|
|
|
|
int McuBspI2cInit(uint8_t I2cId, uint32_t I2cSpeed, uint8_t I2cMode, uint8_t SlaveAddress);
|
|
int McuBspI2cSendData(uint8_t I2cId, uint8_t SlaveAddress,
|
|
uint8_t *SendData, uint32_t SendLen);
|
|
int McuBspI2cRecvData(uint8_t I2cId, uint8_t SlaveAddress,
|
|
uint8_t *RecvData, uint32_t RecvLen);
|
|
/* 修改IIC配置 */
|
|
int McuBspI2cModifyConf(uint8_t I2cId, uint32_t I2cSpeed, uint8_t I2cMode, uint8_t SlaveAddress);
|
|
|
|
#endif
|