sci.h

来自「用Freescale的8位单片机做的RS232-CAN的通讯转换板.包含固件程序」· C头文件 代码 · 共 46 行

H
46
字号
#ifndef _SCI_H_
#define _SCI_H_

#define SCIMAXLENGTH 15

typedef unsigned char byte;
typedef unsigned int word;
typedef unsigned long dword;
typedef unsigned long dlong[2];

typedef union {
  byte Byte;
  struct {
    byte RecFull	:1;           // 接收数据满 
    byte RecError	:1;           // 接收数据错误 
    byte RecOverTime:1;           // 接收数据超时
    byte RecCRC    	:1;           // 接收数据校验错误
    byte RecOver	:1;			  // 接收数据溢出
    byte TranEmpty  :1;           // 发送数据空
    byte TranError  :1;           // 发送数据错误
    byte TranOver   :1;           // 发送数据超时
  } Bits;
} SCISTATESTR;

extern volatile SCISTATESTR _SCISTATE;
#define SCIState _SCISTATE.Byte

#define SCIState_RecFull 	_SCISTATE.Bits.RecFull
#define SCIState_RecError 	_SCISTATE.Bits.RecError
#define SCIState_RecOverTime		_SCISTATE.Bits.RecOverTime
#define SCIState_RecOver	_SCISTATE.Bits.RecOver
#define SCIState_RecCRC		_SCISTATE.Bits.RecCRC
#define SCIState_TranEmpty 	_SCISTATE.Bits.TranEmpty
#define SCIState_TranError 	_SCISTATE.Bits.TranError
#define SCIState_TranOver	_SCISTATE.Bits.TranOver

extern unsigned char cSCIRecBuf[SCIMAXLENGTH];		//接收缓冲区,收到的数据会存在这里
extern unsigned char cSCIRecLen;
extern unsigned char cSCITraBuf[SCIMAXLENGTH];		//发送缓冲区,把要发送的数据存在这里
extern unsigned char cSCITraLen;

void Timer1(void);		
void InitSCI(void);		//始终化
void SCISendMsg(char *pMsg,char nLen);	//发送消息

#endif //_SCI_H_

⌨️ 快捷键说明

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