blob: 3f0e99a233f94bc50b99391976c26090f0887966 [file] [log] [blame]
/** ###################################################################
** THIS BEAN MODULE IS GENERATED BY THE TOOL. DO NOT MODIFY IT.
** Filename : COM0.H
** Project : RTOSDemo
** Processor : MC9S12DP256BCPV
** Beantype : AsynchroSerial
** Version : Bean 02.231, Driver 01.08, CPU db: 2.87.283
** Compiler : Metrowerks HC12 C Compiler
** Date/Time : 19/06/2005, 15:07
** Abstract :
** This bean "AsynchroSerial" implements an asynchronous serial
** communication. The bean supports different settings of
** parity, word width, stop-bit and communication speed,
** user can select interrupt or polling handler.
** Communication speed can be changed also in runtime.
** The bean requires one on-chip asynchronous serial channel.
** Settings :
** Serial channel : SCI0
**
** Protocol
** Init baud rate : 38400baud
** Width : 8 bits
** Stop bits : 1
** Parity : none
** Breaks : Disabled
**
** Registers
** Input buffer : SCI0DRL [207]
** Output buffer : SCI0DRL [207]
** Control register : SCI0CR1 [202]
** Mode register : SCI0CR2 [203]
** Baud setting reg. : SCI0BD [200]
** Special register : SCI0SR1 [204]
**
** Input interrupt
** Vector name : INT_SCI0
** Priority : 1
**
** Output interrupt
** Vector name : INT_SCI0
** Priority : 1
**
** Used pins :
** ----------------------------------------------------
** Function | On package | Name
** ----------------------------------------------------
** Input | 89 | PS0_RxD0
** Output | 90 | PS1_TxD0
** ----------------------------------------------------
**
**
** Used baud modes :
** ----------------------------------------------------
** No. | Mode ID | Baud rate
** ----------------------------------------------------
** 0 | Bm_38400baud | 38400baud
** 1 | Bm_19200baud | 19200baud
** 2 | Bm_9600baud | 9600baud
** 3 | Bm_4800baud | 4800baud
** ----------------------------------------------------
** Contents :
** SetBaudRateMode - byte COM0_SetBaudRateMode(byte Mod);
**
** (c) Copyright UNIS, spol. s r.o. 1997-2002
** UNIS, spol. s r.o.
** Jundrovska 33
** 624 00 Brno
** Czech Republic
** http : www.processorexpert.com
** mail : info@processorexpert.com
** ###################################################################*/
#ifndef __COM0
#define __COM0
/* MODULE COM0. */
#include "Cpu.h"
#define COM0_Bm_38400baud 0 /* Constant for switch to mode 0 */
#define COM0_Bm_19200baud 1 /* Constant for switch to mode 1 */
#define COM0_Bm_9600baud 2 /* Constant for switch to mode 2 */
#define COM0_Bm_4800baud 3 /* Constant for switch to mode 3 */
#ifndef __BWUserType_tItem
#define __BWUserType_tItem
typedef struct { /* Item of the index table for possible baudrates */
word div; /* divisior */
byte val; /* values of the prescalers */
} tItem;
#endif
#ifndef __BWUserType_COM0_TError
#define __BWUserType_COM0_TError
typedef union {
byte err;
struct {
bool OverRun : 1; /* OverRun error flag */
bool Framing : 1; /* Framing error flag */
bool Parity : 1; /* Parity error flag */
bool RxBufOvf : 1; /* Rx buffer full error flag */
bool Noise : 1; /* Noise error */
bool Break : 1; /* Break detect */
bool Idle : 1; /* Idle characted */
}errName;
} COM0_TError;
#endif
#ifndef __BWUserType_TDirection
#define __BWUserType_TDirection
typedef enum { /* */
TXD_INPUT,
TXD_OUTPUT
} TDirection;
#endif
#ifndef __BWUserType_COM0_TComData
#define __BWUserType_COM0_TComData
typedef byte COM0_TComData ; /* User type for communication. Size of this type depends on the communication data witdh. */
#endif
#pragma CODE_SEG COM0_CODE /* Code section for this module. */
byte COM0_SetBaudRateMode(byte Mod);
/*
** ===================================================================
** Method : COM0_SetBaudRateMode (bean AsynchroSerial)
**
** Description :
** This method changes the channel communication speed (baud
** rate). This method can be used only if you specify a list
** of possible period settings at design time (see <Timing
** dialog box> - Runtime setting - from a list of values).
** Each of these settings constitutes a mode and Processor
** Expert^[TM] assigns them a mode identifier. The prescaler
** and compare values corresponding to each mode are
** calculated at design time. You may switch modes at
** runtime by referring only to a mode identifier. No
** run-time calculations are performed, all the calculations
** are performed at design time.
** Parameters :
** NAME - DESCRIPTION
** Mod - Timing mode to set
** Returns :
** --- - Error code, possible codes:
** ERR_OK - OK
** ERR_SPEED - This device does not work in
** the active speed mode
** ===================================================================
*/
#pragma CODE_SEG __NEAR_SEG NON_BANKED /* Interrupt section for this module. Placement will be in NON_BANKED area. */
__interrupt void COM0_Interrupt(void);
#pragma CODE_SEG COM0_CODE /* Code section for this module. */
/*
** ===================================================================
** Method : COM0_Interrupt (bean AsynchroSerial)
**
** Description :
** This method is internal. It is used by Processor Expert
** only.
** ===================================================================
*/
void COM0_Init(void);
/*
** ===================================================================
** Method : COM0_Init (bean AsynchroSerial)
**
** Description :
** This method is internal. It is used by Processor Expert
** only.
** ===================================================================
*/
#pragma CODE_SEG DEFAULT /* Change code section to DEFAULT. */
/* END COM0. */
/*
** ###################################################################
**
** This file was created by UNIS Processor Expert 03.33 for
** the Motorola HCS12 series of microcontrollers.
**
** ###################################################################
*/
#endif /* ifndef __COM0 */