MS-DTU/MS-DTU-V1/User/hal_interface.h

57 lines
1.3 KiB
C
Raw Normal View History

2025-04-03 14:18:58 +08:00
// <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 Fetch_ResetFlags();
#endif