gateway_mcu/CH32V303-FreeRTOS/App/hardwareDriver/Inc/HD_UART.h

104 lines
2.6 KiB
C
Raw Normal View History

#ifndef HARDWARE_RS485_UART_H_
#define HARDWARE_RS485_UART_H_
#include "ch32v30x.h"
// #define uart4_enable
#define J1_USART UART6
#define J2_USART UART7
#define J3_USART USART2
#define J4_USART UART8
#define J5_0_USART USART3
#define Upward_USART UART5
/* <20><><EFBFBD><EFBFBD>6 PE5 */
#define J1_DE_PROT GPIOE
#define J1_DE_PIN GPIO_Pin_5
/* <20><><EFBFBD><EFBFBD>7 PE6 */
#define J2_DE_PROT GPIOE
#define J2_DE_PIN GPIO_Pin_6
/* <20><><EFBFBD><EFBFBD>2 PA1 */
#define J3_DE_PROT GPIOA
#define J3_DE_PIN GPIO_Pin_1
/* <20><><EFBFBD><EFBFBD>8 PE5 */
#define J4_DE_PROT GPIOB
#define J4_DE_PIN GPIO_Pin_0
/* <20><><EFBFBD><EFBFBD>3 <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> */
/*
| A - B - C - YX |
| 0 - 0 - 0 - J0 |
| 0 - 0 - 1 - J5 |
| 0 - 1 - 0 - J6 |
| 0 - 1 - 1 - J7 |
| 1 - 0 - 0 - J8 |
| 1 - 0 - 1 - J9 |
*/
#define J5_0_DE_PROT GPIOD
#define J5_0_DE_PIN GPIO_Pin_8
#define J5_0_A_PROT GPIOD
#define J5_0_A_PIN GPIO_Pin_9
#define J5_0_B_PROT GPIOD
#define J5_0_B_PIN GPIO_Pin_10
#define J5_0_C_PROT GPIOD
#define J5_0_C_PIN GPIO_Pin_11
#define write485 Bit_SET
#define read485 Bit_RESET
/* J1_UART6 */
void J1_485_Init(uint32_t baud);
#define readJ1_485 GPIO_WriteBit(J1_DE_PROT, J1_DE_PIN, read485);
#define writeJ1_485 GPIO_WriteBit(J1_DE_PROT, J1_DE_PIN, write485);
/* J2_UART7 */
void J2_485_Init(uint32_t baud);
#define readJ2_485 GPIO_WriteBit(J2_DE_PROT, J2_DE_PIN, read485);
#define writeJ2_485 GPIO_WriteBit(J2_DE_PROT, J2_DE_PIN, write485);
/* J3_USART2 */
void J3_485_Init(uint32_t baud);
#define readJ3_485 GPIO_WriteBit(J3_DE_PROT, J3_DE_PIN, read485);
#define writeJ3_485 GPIO_WriteBit(J3_DE_PROT, J3_DE_PIN, write485);
/* J4_UART8 */
void J4_485_Init(uint32_t baud);
#define readJ4_485 GPIO_WriteBit(J4_DE_PROT, J4_DE_PIN, read485);
#define writeJ4_485 GPIO_WriteBit(J4_DE_PROT, J4_DE_PIN, write485);
/* J0-5_USART3 */
void J5_0_485_Init(uint32_t baud);
#define readJ5_0_485 GPIO_WriteBit(J5_0_DE_PROT, J5_0_DE_PIN, read485);
#define writeJ5_0_485 GPIO_WriteBit(J5_0_DE_PROT, J5_0_DE_PIN, write485);
void USART_CONNET_J0(void);
void USART_CONNET_J5(void);
void USART_CONNET_J6(void);
void USART_CONNET_J7(void);
void USART_CONNET_J8(void);
void USART_CONNET_J9(void);
#ifdef uart4_enable
/* LORA_UART4 */
void LORA_UART4_Init(uint32_t baud);
#endif
/* Upward_UART5 */
void Upward_UART5_Init(uint32_t baud);
extern void J3_Interrupt();
extern void J5_0_Interrupt();
extern void Upward_Interrupt();
extern void J1_Interrupt();
extern void J2_Interrupt();
extern void J4_Interrupt();
void USARTx_SendByte(USART_TypeDef* pUSARTx, uint8_t data);
void USARTx_SendStr_Len(USART_TypeDef* pUSARTx, char *str, int len);
#endif /* HARDWARE_RS485_UART_H_ */