⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m340uart.h

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 H
字号:
/* *  Header file for console driver *  defines for accessing M68340/68349 UART registers * *  Author: *  Geoffroy Montel *  France Telecom - CNET/DSM/TAM/CAT *  4, rue du Clos Courtel *  35512 CESSON-SEVIGNE *  FRANCE *  *  e-mail: g_montel@yahoo.com  * * *  COPYRIGHT (c) 1989-1999. *  On-Line Applications Research Corporation (OAR). * *  The license and distribution terms for this file may be *  found in the file LICENSE in this distribution or at * *  http://www.rtems.com/license/LICENSE. * *  $Id: m340uart.h,v 1.2.8.1 2003/09/04 18:44:25 joel Exp $ */#ifndef __m340uart_H__#define __m340uart_H__/* UART initialisation */#define UART_CHANNEL_A			0#define UART_CHANNEL_B			1#define UART_NUMBER_OF_CHANNELS		2#define UART_CONSOLE_NAME		"/dev/console"#define UART_RAW_IO_NAME		"/dev/tty1"#define UART_FIFO_FULL			0#define UART_CRR			1#define UART_INTERRUPTS			0#define UART_POLLING			1#define UART_TERMIOS_CONSOLE		0#define UART_TERMIOS_RAW		1#define UART_TERMIOS_MIN_DEFAULT	1#define UART_TERMIOS_TIME_DEFAULT	0void Init_UART_Table(void);typedef struct {		rtems_unsigned8		enable;		rtems_unsigned16	rx_buffer_size;	/* NOT IMPLEMENTED */		rtems_unsigned16	tx_buffer_size;	/* NOT IMPLEMENTED */	       } uart_termios_config;typedef struct { /* for one channel */		rtems_unsigned8		enable;		/* use this channel */		char			name[64];	/* use UART_CONSOLE_NAME for console purpose */		rtems_unsigned8		parity_mode;	/* parity mode, see MR1 section for defines */		rtems_unsigned8		bits_per_char;	/* bits per character, see MR1 section for defines  */		float			rx_baudrate;	/* Rx baudrate */		float			tx_baudrate;	/* Tx baudrate */		rtems_unsigned8		rx_mode;	/* FIFO Full (UART_FIFO_FULL) or ChannelReceiverReady (UART_CRR) */		rtems_unsigned8		mode;		/* use interrupts (UART_INTERRUPTS) or polling (UART_POLLING) */		uart_termios_config	termios;	       } uart_channel_config;extern uart_channel_config		m340_uart_config[UART_NUMBER_OF_CHANNELS];typedef  struct {		 int	set;	/* number of the m340 baud speed set */		 int	rcs;	/* RCS for the needed baud set */		 int    tcs;	/* TCS for the needed baud set */		} t_baud_speed;typedef	 struct {		 t_baud_speed	baud_speed_table[2];		 short		nb;		} t_baud_speed_table;extern t_baud_speed_tableFind_Right_m340_UART_Config(float ChannelA_ReceiverBaudRate, float ChannelA_TransmitterBaudRate, rtems_unsigned8 enableA,			    float ChannelB_ReceiverBaudRate, float ChannelB_TransmitterBaudRate, rtems_unsigned8 enableB);extern rtems_isr InterruptHandler (rtems_vector_number v);extern float termios_baud_rates_equivalence ( int speed ) ;extern int dbugRead (int minor);extern int dbugWrite (int minor, const char *buf, int len);extern float m340_Baud_Rates_Table[16][2];/*  SR */#define m340_Rx_RDY		1#define m340_FFULL		(1<<1)#define m340_Tx_RDY		(1<<2)#define m340_TxEMP		(1<<3)#define m340_OE			(1<<4)#define m340_PE			(1<<5)#define m340_FE			(1<<6)#define m340_RB			(1<<7)/*  IER */#define m340_TxRDYA		1#define m340_RxRDYA		(1<<1)#define m340_TxRxRDYA		0x3#define m340_TxRDYB		(1<<4)#define m340_RxRDYB		(1<<5)#define m340_TxRxRDYB		0x30/*  CR */#define m340_Reset_Error_Status	0x40#define m340_Reset_Receiver	0x20#define m340_Reset_Transmitter	0x30#define m340_Transmitter_Enable	(1<<2)#define m340_Receiver_Enable	1#define m340_Transmitter_Disable (2<<2)#define m340_Receiver_Disable	2/*  ACR */#define m340_BRG_Set1		0#define m340_BRG_Set2		(1<<7)/*  OPCR */#define m340_OPCR_Gal		0x0#define m340_OPCR_Aux		0xFF/*  ISR */#define m340_COS		(1<<7)#define m340_DBB		(1<<6)#define m340_XTAL_RDY		(1<<3)#define m340_DBA		(1<<2)/*  MR1 */#define m340_RxRTS		(1<<7)#define m340_R_F		(1<<6)		/* character or block mode */#define m340_ERR		(1<<5)#define m340_RxRTX		(1<<7)#define m340_Even_Parity	0#define m340_Odd_Parity		(1<<2)#define m340_Low_Parity		(2<<2)#define m340_High_Parity	(3<<2)#define m340_No_Parity		(4<<2)#define m340_Data_Character	(6<<2)#define m340_Address_Character	(7<<2)#define m340_5bpc		0x0#define m340_6bpc		0x1#define m340_7bpc		0x2#define m340_8bpc		0x3/*  MR2 */#define m340_normal		(0<<6)#define m340_automatic_echo	(1<<6)#define m340_local_loopback	(2<<6)#define m340_remote_loopback	(3<<6)#define m340_TxRTS		(1<<5)#define m340_TxCTS		(1<<4)/* Baud rates for Transmitter/Receiver */#define SCLK	1		/* put your own SCLK value here */#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -