rs_232.h
来自「AMLOGIC DPF source code」· C头文件 代码 · 共 102 行
H
102 行
/*****************************************************************
* Description: RS_232.c
*
* Author: Amlogic Software
* Created: 11/11/2006
**
*****************************************************************/
//#define FEC_UART
//#define MIO_UART
#define RX_BUF_SIZE 512
//#define TX_BUF_SIZE 8
typedef struct rs232_control
{
unsigned long rx_read_cnt;
unsigned long tx_write_cnt;
unsigned char *rx_read_ptr;
unsigned char *rx_write_ptr;
unsigned char rx_wrap_flag;
unsigned char arc_busy_flag;
// unsigned long rx_read_cnt;
// unsigned long tx_write_cnt;
unsigned char rx_buf[RX_BUF_SIZE];
// unsigned char tx_buf[TX_BUF_SIZE];
} rs232_control_t;
extern rs232_control_t rs232_ctl;
#define BAUD_RATE_300 1
#define BAUD_RATE_600 2
#define BAUD_RATE_1200 3
#define BAUD_RATE_2400 4
#define BAUD_RATE_4800 5
#define BAUD_RATE_9600 6
#define BAUD_RATE_19200 7
#define BAUD_RATE_38400 8
#define BAUD_RATE_57600 9
#define BAUD_RATE_115200 10
#define DATA_BITS_5 1
#define DATA_BITS_6 2
#define DATA_BITS_7 3
#define DATA_BITS_8 4
#define PARITY_NO_CHECK 1
#define PARITY_EVEN_CHECK 2
#define PARITY_ODD_CHECK 3
#define STOP_BITS_1 1
#define STOP_BITS_2 2
/****************************************************************************************************************
* Name : rs232_init
* Function : init RS232 port with specific settings
* Input : baud_rate, options = BAUD_RATE_300, BAUD_RATE_600, BAUD_RATE_1200, BAUD_RATE_2400, BAUD_RATE_4800
* BAUD_RATE_9600, BAUD_RATE_19200, BAUD_RATE_38400,BAUD_RATE_57600, BAUD_RATE_115200
* data_bits, options = DATA_BITS_5, DATA_BITS_6, DATA_BITS_7, DATA_BITS_8
* parity, options = PARITY_NO_CHECK, PARITY_EVEN_CHECK, PARITY_ODD_CHECK
* stop_bits, options = STOP_BITS_1, STOP_BITS_2
* Output : none
* return : 1 = succeed
* -1 = failed
****************************************************************************************************************/
extern int rs232_init(unsigned char baud_rate, unsigned char data_bits, unsigned char parity, unsigned char stop_bits);
/****************************************************************************************************************
* Name : rs232_write
* Function : write data to RS232 port in specific timeout
* Input : write_data_index, buffer to write data
* length_to_write, byte numbers expected to write
* write_time_out, forced to return after specific time(unit: milisecond) even not all data transmitted
* if write_time_out = 0, wait infinitely
* Output : none
* return : data bytes have been written to RS232 port actually
****************************************************************************************************************/
extern int rs232_write(unsigned char *write_data_index, unsigned long length_to_write, unsigned long write_time_out);
/****************************************************************************************************************
* Name : rs232_read
* Function : read data from RS232 port in specific timeout
* Input : data_buf, buffer to read data
* length_to_read, byte numbers expected to read
* read_time_out, forced to return after specific time(unit: milisecond) even not all data transmitted
* if read_time_out = 0, wait infinitely
* Output : none
* return : data bytes have been read from RS232 port actually
****************************************************************************************************************/
extern int rs232_read(unsigned char *read_data_index, unsigned long length_to_read, unsigned long read_time_out);
extern void checkUART();
extern void rs232_close_interrupt(void);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?