重构BSP架构

This commit is contained in:
2026-05-24 16:29:34 +08:00
parent e0d75f4eb2
commit 15fd21eba6
66 changed files with 5320 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
#ifndef __BSP_H__
#define __BSP_H__
/* 板级BSP头文件 */
#include "Board.h"
/* SHELL头文件 */
#include "LetterShell.h"
/* BSP版本 */
#define VERSION_0 0
#define VERSION_1 1
#define VERSION_2 2
/* RTOS宏开关 */
#ifdef USE_RTOS
#ifdef USE_THREADX
#include "tx_api.h"
#endif
#endif
/* BOOL类型定义 */
typedef enum {
false = 0,
true = 1,
} bool_t;
//System
void BspInit(void);
void BspExtraInit(void);
void SystemStart(void);
void BspSystemReboot(void);
//GPIO
//数组信号输出开关
#define DO_ON 0
#define DO_OFF 1
//LED灯开关
#define LED_ON 0
#define LED_OFF 1
void SystemGpioInit(void);
void GpioConfig(GPIO_TypeDef *GpioX, uint16_t GpioPinX,GPIOMode_TypeDef GpioMode, GPIOSpeed_TypeDef GpioSpeed);
void GpioSetSts(GPIO_TypeDef *GpioX, uint16_t GpioPinX, uint8_t Status);
uint8_t GpioGetSts(GPIO_TypeDef *GpioX, uint16_t GpioPinX);
void LedToggle(uint8_t Chnl);
void LedOff(uint8_t Chnl);
void LedOn(uint8_t Chnl);
//System Delay
void SystemDelayConfig(void);
uint32_t SystemGetDwtCnt(void);
void SystemDelayUs(uint32_t Us);
void SystemDelayMs(uint32_t Ms);
//Interrupt
void SystemInterruptInit(void);
void InterruptRegister(uint32_t Irqn, void(*Func)(uint32_t));
void InterruptSetLevel(uint32_t Vector, uint8_t NvicPrePriority, uint8_t NvicSubPriority);
void InterruptDisable(uint32_t Vector);
//Usart
void SystemUsartInit(void);
void UsartSendChar(uint32_t ComId,uint8_t Data);
void UsartSendStr(uint32_t ComId,uint8_t* Data, uint64_t Len);
uint8_t UsartReceiveChar(uint32_t ComId);
void UsartStdConfig(uint32_t ComId, uint32_t baud);
void UsartAdvConfig(uint32_t ComId, uint32_t baud, uint8_t DataBits, uint8_t StopBits, uint8_t Parity);
#endif