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 + -
显示快捷键?