Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 
 

80 wiersze
2.5 KiB

/************************************************************************
  * Copyright(c) 2023 Levetop Semiconductor Co.,Led. All rights reserved.
  * @file     uart.h
  * @author   UartTFT Application Team
  * @version  V1.0.0
  * @date     2023-02-24
  * @brief     
*************************************************************************/
#ifndef __UART_H__
#define __UART_H__
#include "type.h"
#include "sys.h"
#include "stdio.h"
#include "memmap.h"
#include "uart_drv.h"
#include "module_select.h"
extern uint8_t page_refreshing;
extern uint8_t Rx_Buffer_long[];
extern uint16_t Rx_Count_long;
extern uint16_t Rx_Num;
uint16_t CRC16(uint8_t *puchMsg, uint16_t usDataLen);
void Uart_Init(uint32_t pclk, uint32_t bound);
void SendData_SCI3(uint8_t data);
void SCI3_IRQHandler(void);
void SCI1_Init(uint32_t pclk, uint32_t bound,uint8_t parity);	
void LT_SingleByteToPc(uint8_t val);
void LT_ClearRxBuf(void);
void LT_SendData_CRC_Frame(uint8_t *buf, uint8_t len);
void LT_SendFlashData_CRC_Frame(uint8_t *buf, uint16_t len);
void LT_SendData_CRC_NoFrame(uint8_t *buf, uint8_t len);
void Main_From_UartRxBuff(void);
void SendData_SCI1(uint8_t data);
/* MODBUS: variables sent and received by the host*/
extern volatile uint8_t tx_en_flag;
extern volatile uint8_t tx_repeat_flag;
extern volatile uint8_t tx_repeat_cnt;
typedef struct
{
	uint8_t Flag;	  // Valid flag bit is 0xA5
	uint8_t Sla_Add;  // Modbus slave node
	uint8_t CMD;	  // Modbus read and write instructions
	uint16_t REG_Add; // Modbus slave register address
	uint8_t Len;	  // read and write data length(Bytes)
	uint16_t Var_Add; // Modbus host variable address
	uint16_t Timeout; // Maximum response time
	uint8_t RP_Cnt;	  // Maximum number of retransmissions
	uint8_t Mode;	  // Instruction execution mode
	uint16_t Opt_Add; // Parameters corresponding to instruction execution mode
} USART_TX_INFO;
extern volatile USART_TX_INFO gUsartTx;			// For serial port reception
extern volatile uint8_t Master_mode03_flag[];	// Customized variables
extern volatile uint8_t Master_mode03_Var[];	// Customized variables
void Uart_cmd_Send(void);
#if (UARTBUS_OPTION == 3 || UARTBUS_OPTION == 4)
#define Hid_SIZE (4096 + 20)
extern uint8_t Hid_Rx_Buffer_long[Hid_SIZE];
extern uint16_t Hid_Rx_Count_long;
extern uint16_t Hid_Rx_Num;
extern uint16_t Hid_Respond_Num;
extern uint16_t Hid_Respond_Count;
extern uint8_t Hid_receive_flag;
extern uint16_t Hid_receive_num ;
extern uint16_t Hid_receive_count;
void Hid_Main_From_UartRxBuff(void);
#endif
#endif