97 lines
3.4 KiB
C
97 lines
3.4 KiB
C
/*************************************************************************************************
|
||
**Filename: app_gpio.c
|
||
**Version :
|
||
**Author :
|
||
**Date :
|
||
**Description:
|
||
**
|
||
*************************************************************************************************/
|
||
#include "app_gpio.h"
|
||
#include "mcu_bsp.h"
|
||
|
||
/*********************************************************************
|
||
* Extern Function declared ('extern')
|
||
*/
|
||
void GPIO_callback(void);
|
||
/*************************************************************************************************
|
||
* Function Name:
|
||
* Description :
|
||
* Arguments :
|
||
* Return Value :
|
||
*************************************************************************************************/
|
||
void LED_IO_Config(void)
|
||
{
|
||
PIN_Set_GPIO(U32BIT(LED_PIN),PIN_SEL_GPIO); //引脚设置成普通IO口
|
||
GPIO_Set_Output(U32BIT(LED_PIN)); //设置引脚为输出模式
|
||
GPIO_Pin_Set(U32BIT(LED_PIN));
|
||
}
|
||
/*************************************************************************************************
|
||
* Function Name:
|
||
* Description :
|
||
* Arguments :
|
||
* Return Value :
|
||
*************************************************************************************************/
|
||
void IIC_IO_Config(void)
|
||
{
|
||
i2c_Init(I2C0,U32BIT(I2C0_SCLK),U32BIT(I2C0_SDA)); //lsm6d IIC IO初始化
|
||
i2c_Init(I2C1,U32BIT(I2C1_SCLK),U32BIT(I2C1_SDA)); //lis2d IIC IO初始化
|
||
}
|
||
/*************************************************************************************************
|
||
* Function Name:
|
||
* Description :
|
||
* Arguments :
|
||
* Return Value :
|
||
*************************************************************************************************/
|
||
void Ctr_IO_Config(void)
|
||
{
|
||
//lsm6d 供电使能 IO
|
||
PIN_Set_GPIO(U32BIT(PEN_PIN),PIN_SEL_GPIO); //引脚设置成普通IO口
|
||
GPIO_Set_Output(U32BIT(PEN_PIN)); //设置引脚为输出模式
|
||
GPIO_Pin_Set(U32BIT(PEN_PIN)); //Power Disable
|
||
|
||
//lsm6d CS IO口
|
||
PIN_Set_GPIO(U32BIT(CS_PIN),PIN_SEL_GPIO); //引脚设置成普通IO口
|
||
GPIO_Set_Output(U32BIT(CS_PIN)); //设置引脚为输出模式
|
||
GPIO_Pin_Set(U32BIT(CS_PIN)); //CS设置为高,使能IIC通讯
|
||
|
||
//lsm6d SA0 IO口
|
||
PIN_Set_GPIO(U32BIT(SA0_PIN),PIN_SEL_GPIO); //引脚设置成普通IO口
|
||
GPIO_Set_Output(U32BIT(SA0_PIN)); //设置引脚为输出模式
|
||
GPIO_Pin_Clear(U32BIT(SA0_PIN)); //SA0设置为低,则设备的地址LSB为0
|
||
|
||
//电池采样控制引脚
|
||
PIN_Set_GPIO(U32BIT(CEN_PIN),PIN_SEL_GPIO); //引脚设置成普通IO口
|
||
GPIO_Set_Output(U32BIT(CEN_PIN)); //设置引脚为输出模式
|
||
CEN_ENABLE();
|
||
|
||
}
|
||
/*************************************************************************************************
|
||
* Function Name:
|
||
* Description :
|
||
* Arguments :
|
||
* Return Value :
|
||
*************************************************************************************************/
|
||
void INT_IO_Config(void)
|
||
{
|
||
//lis2dh 中断1 IO口
|
||
PIN_Set_GPIO(U32BIT(LIS2D_INT1),PIN_SEL_GPIO);
|
||
GPIO_Set_Input(U32BIT(LIS2D_INT1),0); //设置为输入 不取反
|
||
PIN_Pullup_Enable(T_QFN_48, U32BIT(LIS2D_INT1)); //关闭上拉输入
|
||
GPIO_Input_Disable(U32BIT(LIS2D_INT1));
|
||
io_irq_disable(U32BIT(LIS2D_INT1)); //关闭IO口中断功能
|
||
|
||
//lis2dh 中断2 IO口
|
||
PIN_Set_GPIO(U32BIT(LIS2D_INT2),PIN_SEL_GPIO);
|
||
GPIO_Set_Input(U32BIT(LIS2D_INT2),U32BIT(LIS2D_INT2)); //设置为输入取反
|
||
PIN_Pullup_Enable(T_QFN_48, U32BIT(LIS2D_INT2)); //上拉输入
|
||
GPIO_Input_Enable(U32BIT(LIS2D_INT2));
|
||
io_irq_enable(U32BIT(LIS2D_INT2),GPIO_callback); //使能IO口中断功能
|
||
}
|
||
|
||
/*************************************************************************************************/
|
||
|
||
|
||
|
||
|
||
|