69 lines
1.9 KiB
C
69 lines
1.9 KiB
C
#include "../main/SystemInclude.h"
|
|
|
|
/*****GPIO初始化*****/
|
|
void SystemGPIOInit(void)
|
|
{
|
|
GPIO_InitTypeDef GPIO_InitStruct;
|
|
|
|
GPIO_InitStruct.Pin = GPIO_PIN_All;
|
|
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
|
GPIO_InitStruct.Current = GPIO_CURRENT_2mA;
|
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
|
GPIO_InitStruct.SchmittTrigger = ENABLE;
|
|
GPIO_InitStruct.Alternate = GPIOx_AF_GPIO; // // AF为普通IO
|
|
LHL_GPIO_Init(pGPIO0, &GPIO_InitStruct);
|
|
LHL_GPIO_Init(pGPIO1, &GPIO_InitStruct);
|
|
|
|
GPIO_InitStruct.Pin &= ~(GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 | GPIO_PIN_4); //避开XIN XOUT SWDIO SWCLK
|
|
LHL_GPIO_Init(pGPIO2, &GPIO_InitStruct);
|
|
|
|
// TEST_PIN_OUT();
|
|
// SET_PIN(GPIO1, GPIO_PIN_7);
|
|
////
|
|
// TDU_SET_PIN_OUT();
|
|
// CLR_TDU_SET_PIN();
|
|
//// SET_TDU_SET_PIN();
|
|
//
|
|
// HEATING_PIN_OUT();
|
|
// CLR_HEATING_PIN();
|
|
//// SET_HEATING_PIN();
|
|
//
|
|
// HP_CON_PIN_OUT();
|
|
//// CLR_HP_CON_PIN();
|
|
// SET_HP_CON_PIN();
|
|
}
|
|
|
|
/*****输出*****/
|
|
void EnableOutput(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinPos)
|
|
{
|
|
GPIOx->OE |= 1<<GPIO_PinPos;
|
|
GPIOx->IE &= ~(1<<GPIO_PinPos);
|
|
// 设置端口电流驱动能力
|
|
GPIOx->DR &= ~(3u << (GPIO_PinPos * 2));
|
|
GPIOx->DR |= ((uint32_t)GPIO_CURRENT_2mA << (GPIO_PinPos * 2));
|
|
|
|
// 推挽输出设定
|
|
GPIOx->OD &= ~(1u << GPIO_PinPos);
|
|
// // 开漏输出设定
|
|
// GPIOx->OD |= (1u << GPIO_PinPos);
|
|
}
|
|
/*****输入*****/
|
|
void EnableInput(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinPos)
|
|
{
|
|
GPIOx->OE &= ~(1u << GPIO_PinPos);
|
|
GPIOx->IE |= (1u << GPIO_PinPos);
|
|
}
|
|
/*****上拉*****/
|
|
void EnablePullUp(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinPos)
|
|
{
|
|
GPIOx->PDE &= ~(1u << GPIO_PinPos);
|
|
GPIOx->PUE |= (1u << GPIO_PinPos);
|
|
}
|
|
/*****下拉*****/
|
|
void EnablePullDown(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinPos)
|
|
{
|
|
GPIOx->PUE &= ~(1u << GPIO_PinPos);
|
|
GPIOx->PDE |= (1u << GPIO_PinPos);
|
|
}
|
|
|