📄 serial.h
字号:
/*
* $Id: serial.h,v 1.22 2007/10/30 06:17:16 sunny Exp $
*/
/*
*******************************************************************************
**
** This device driver was created by Applilet for the 78K0/KB2, 78K0/KC2,
** 78K0/KD2, 78K0/KE2 and 78K0/KF2 8-Bit Single-Chip Microcontrollers.
**
** Copyright(C) NEC Electronics Corporation 2002 - 2005
** All rights reserved by NEC Electronics Corporation.
**
** This program should be used on your own responsibility.
** NEC Electronics Corporation assumes no responsibility for any losses
** incurred by customers or third parties arising from the use of this file.
**
** Filename : serial.h
** Abstract : This file implements device driver for SERIAL module.
** APIlib : NEC78K0KX2.lib V1.01 [09 Aug. 2005]
**
** Device : uPD78F0537
**
** Compiler : NEC/CC78K0
**
*******************************************************************************
*/
#ifndef _MDSERIAL_
#define _MDSERIAL_
/*
*******************************************************************************
** Global variables
*******************************************************************************
*/
#if ENABLE_UART0
#define UART_BAUDRATE_M0 0x1
#define UART_BAUDRATE_K0 0x11
void UART0_Init( void );
MD_STATUS UART0_SendData( UCHAR* txbuf, UCHAR txnum );
void CALL_UART0_Send( void );
void CALL_UART0_Error( UCHAR err_type );
__interrupt void MD_INTSR0( void );
__interrupt void MD_INTST0( void );
#endif // #if ENABLE_UART0
#if ENABLE_UART6
#define UART_BAUDRATE_M6 0x0
#if DEBUG_MODE
// Baud rate = fXCLK6 / (2 X k) [bps]
// #define UART_BAUDRATE_K6 0x04 // 1000000 bps
// #define UART_BAUDRATE_K6 0x09 // 460800 bps
// #define UART_BAUDRATE_K6 0x11 // 230400 bps
#define UART_BAUDRATE_K6 0x23 // 115200 bps
// #define UART_BAUDRATE_K6 0x45 // 57600 bps
#else
#define UART_BAUDRATE_K6 0x23 // 115200 bps
#endif // #if DEBUG_MODE
void UART6_Init( void );
MD_STATUS UART6_SendData( UCHAR* txbuf, UCHAR txnum );
__interrupt void MD_INTSR6( void );
__interrupt void MD_INTST6( void );
__interrupt void MD_INTSRE6( void );
void CALL_UART6_Send( void );
void CALL_UART6_Error( UCHAR err_type );
#endif // #if ENABLE_UART6
#if ENABLE_CSI10
void CSI10_Init( void );
MD_STATUS CSI10_SendData( UCHAR* txbuf, UCHAR txnum );
MD_STATUS CSI10_ReceiveData( UCHAR* rxbuf, UCHAR rxnum );
UCHAR CSI10_ReadWrite(UCHAR ch);
__interrupt void MD_INTCSI10( void );
void CALL_CSI10_Receive( void );
void CALL_CSI10_Send( void );
#endif // #if ENABLE_CSI10
#if ENABLE_CSI11
void CSI11_Init( void );
MD_STATUS CSI11_SendData( UCHAR *txbuf, UCHAR txnum );
MD_STATUS CSI11_ReceiveData( UCHAR *rxbuf, UCHAR rxnum );
UCHAR CSI11_ReadWrite(UCHAR ch);
__interrupt void MD_INTCSI11( void );
void CALL_CSI11_Receive( void );
void CALL_CSI11_Send( void );
#endif // #if ENABLE_CSI11
enum TransferMode { Send, Receive };
#include "ubec_chip.h"
#if UNET01
void CONSOLE_isr(void);
#if ENABLE_UART6
#define CONSOLE_putc(c) TXB6 = c
#define CONSOLE_getc() RXB6
// #define is_CONSOLE_TxFlag() ((!(ASIF6 & 0x02)) && (ASIM6 & 0x80))
#define is_CONSOLE_TxFlag() (!(ASIF6 & 0x02))
#elif ENABLE_UART0
#define CONSOLE_putc(c) TXB0 = c
#define CONSOLE_getc() RXB0
#define is_CONSOLE_TxFlag() 1
#endif
#define clear_CONSOLE_TxFlag()
#define clear_CONSOLE_RxFlag()
#endif // #if UNET01
#endif // _MDSERIAL_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -