69 lines
1.8 KiB
C
69 lines
1.8 KiB
C
#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
|