PASII/CandeII_1.4/App/app_gpio.c

97 lines
3.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*************************************************************************************************
**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口中断功能
}
/*************************************************************************************************/