57 lines
1.3 KiB
C
57 lines
1.3 KiB
C
|
|
// <20><>ģ<EFBFBD><C4A3>ΪӲ<CEAA><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľӿڲ㣬<DAB2><E3A3AC><EFBFBD><EFBFBD>HAL<41><4C>LL<4C><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>
|
|||
|
|
#ifndef __HAL_INTERFACE_H
|
|||
|
|
#define __HAL_INTERFACE_H
|
|||
|
|
|
|||
|
|
#include "stm32l4xx_hal.h"
|
|||
|
|
#include "type.h"
|
|||
|
|
|
|||
|
|
// <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define PRINT_DEBUG 1
|
|||
|
|
|
|||
|
|
#if PRINT_DEBUG
|
|||
|
|
#define PRINTF printf
|
|||
|
|
#else
|
|||
|
|
#define PRINTF NO_PRINTF
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#define NO_PRINTF(format, ...) {}
|
|||
|
|
|
|||
|
|
// <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|||
|
|
#define GetTickCount() HAL_GetTick()
|
|||
|
|
u32 GetDelayTick(u32 ms);
|
|||
|
|
u8 IsTickOut(u32 OutTick);
|
|||
|
|
void delay_ms(u32 ms);
|
|||
|
|
void delay_us(uint16_t us);
|
|||
|
|
|
|||
|
|
// ʵ<>ִ<EFBFBD>Bootloader<65><72>ת<EFBFBD><D7AA>App
|
|||
|
|
void JumpToEntry(uint32_t addr);
|
|||
|
|
// ʵ<>ִ<EFBFBD>App<70><70>ת<EFBFBD><D7AA>Bootloader
|
|||
|
|
void JumpToLoader();
|
|||
|
|
|
|||
|
|
typedef struct USART_Handle
|
|||
|
|
{
|
|||
|
|
USART_TypeDef *Instance;
|
|||
|
|
volatile uint16_t TxXferCount;
|
|||
|
|
volatile uint8_t BusyTx; // <20><><EFBFBD><EFBFBD>æ
|
|||
|
|
volatile uint8_t ITx; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>жϷ<D0B6>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|||
|
|
uint8_t *pTxBuffPtr;
|
|||
|
|
void (*TxISR)(struct USART_Handle *huart);
|
|||
|
|
void (*RxISR)(struct USART_Handle *huart);
|
|||
|
|
} USART_Handle;
|
|||
|
|
|
|||
|
|
extern USART_Handle huart1, huart2, huart3, hlpuart1;
|
|||
|
|
|
|||
|
|
// ʵ<>ִ<EFBFBD><D6B4>ڷ<EFBFBD><DAB7><EFBFBD>
|
|||
|
|
void UART_Transmit(USART_Handle *uart, uint8_t *buf, uint16_t len);
|
|||
|
|
// ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD>жϷ<D0B6>ʽ<EFBFBD><CABD><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD>
|
|||
|
|
uint8_t UART_Transmit_IT(USART_Handle *huart, uint8_t *pData, uint16_t Size);
|
|||
|
|
// Ӧ<>ó<EFBFBD><C3B3><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>жϴ<D0B6><CFB4><EFBFBD>
|
|||
|
|
void APP_USART_IRQHandler(USART_Handle *usart);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
extern volatile uint32_t SYS_RSTSTS;
|
|||
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void Get_ResetFlags();
|
|||
|
|
|
|||
|
|
#endif
|