104 lines
2.8 KiB
C
104 lines
2.8 KiB
C
/********************************** (C) COPYRIGHT *******************************
|
|
* File Name : main.c
|
|
* Author : WCH
|
|
* Version : V1.1
|
|
* Date : 2020/08/06
|
|
* Description : 外设从机应用主函数及任务系统初始化
|
|
*********************************************************************************
|
|
* Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
|
|
* Attention: This software (modified or not) and binary are used for
|
|
* microcontroller manufactured by Nanjing Qinheng Microelectronics.
|
|
*******************************************************************************/
|
|
|
|
/******************************************************************************/
|
|
/* 头文件包含 */
|
|
#include "CONFIG.h"
|
|
#include "HAL.h"
|
|
#include "gattprofile.h"
|
|
#include "peripheral.h"
|
|
|
|
/*********************************************************************
|
|
* GLOBAL TYPEDEFS
|
|
*/
|
|
__attribute__((aligned(4))) uint32_t MEM_BUF[BLE_MEMHEAP_SIZE / 4];
|
|
|
|
#if(defined(BLE_MAC)) && (BLE_MAC == TRUE)
|
|
const uint8_t MacAddr[6] = {0x84, 0xC2, 0xE4, 0x03, 0x02, 0x02};
|
|
#endif
|
|
|
|
/*********************************************************************
|
|
* @fn Main_Circulation
|
|
*
|
|
* @brief 主循环
|
|
*
|
|
* @return none
|
|
*/
|
|
__HIGH_CODE
|
|
__attribute__((noinline))
|
|
void Main_Circulation()
|
|
{
|
|
while(1)
|
|
{
|
|
TMOS_SystemProcess();
|
|
}
|
|
}
|
|
|
|
/*********************************************************************
|
|
* @fn main
|
|
*
|
|
* @brief 主函数
|
|
*
|
|
* @return none
|
|
*/
|
|
int main(void)
|
|
{
|
|
#if(defined(DCDC_ENABLE)) && (DCDC_ENABLE == TRUE)
|
|
PWR_DCDCCfg(ENABLE);
|
|
#endif
|
|
SetSysClock(CLK_SOURCE_PLL_60MHz);
|
|
#if(defined(HAL_SLEEP)) && (HAL_SLEEP == TRUE)
|
|
GPIOA_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PU);
|
|
GPIOB_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PU);
|
|
#endif
|
|
|
|
// 12V_EN
|
|
GPIOA_ResetBits(GPIO_Pin_13);
|
|
GPIOA_ModeCfg(GPIO_Pin_13, GPIO_ModeOut_PP_5mA);
|
|
|
|
// EMV_CTRL
|
|
GPIOB_ResetBits(GPIO_Pin_13);
|
|
GPIOB_ModeCfg(GPIO_Pin_13, GPIO_ModeIN_PD);
|
|
|
|
// LED
|
|
GPIOA_ResetBits(GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_15);
|
|
GPIOA_ModeCfg(GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_15, GPIO_ModeIN_PD);
|
|
|
|
// KEY
|
|
GPIOB_SetBits(GPIO_Pin_14);
|
|
// 由外部上拉电阻了
|
|
GPIOB_ModeCfg(GPIO_Pin_14, GPIO_ModeIN_Floating);
|
|
|
|
// ADC_VBAT
|
|
// GPIOAGPPCfg(ENABLE, RB_PIN_PA4_15_DIS);
|
|
// R16_PIN_ANALOG_IE != RB_PIN_PA4_15_DIS;
|
|
|
|
// R32_PIN_CONFIG2
|
|
|
|
// GPIOA_ResetBits(GPIO_Pin_1);
|
|
GPIOA_ModeCfg(GPIO_Pin_14, GPIO_ModeIN_Floating);
|
|
|
|
#ifdef DEBUG
|
|
GPIOB_SetBits(bTXD0);
|
|
GPIOB_ModeCfg(bTXD0, GPIO_ModeOut_PP_5mA);
|
|
UART0_DefInit();
|
|
#endif
|
|
PRINT("%s\n", VER_LIB);
|
|
CH59x_BLEInit();
|
|
HAL_Init();
|
|
GAPRole_PeripheralInit();
|
|
Peripheral_Init();
|
|
Main_Circulation();
|
|
}
|
|
|
|
/******************************** endfile @ main ******************************/
|