📄 ioserial.h
字号:
#ifndef _IO_SERIAL_H_
#define _IO_SERIAL_H_
#include "define.h"
typedef struct EMULATE_UART_STRUCT
{
unsigned char status;
unsigned char bitCount;
unsigned char bitTemp;
unsigned char byteTemp;
unsigned char bitValid;
} EMULATE_UART;
extern EMULATE_UART data giocomm;
/*new define*/
sbit SEND = P1^3;
sbit RECV = P1^2;
#define sendbit(x) ( SEND = x & 0x01 )
#define OSC_CLK 22118400
#define MACHINE_CLK 18432 /*OSC_CLK/1200*/
#define EXT_IE EX0 /*using extern interrupt */
#define EXT_EDGE IT0 /*config extern interrupt using down edge*/
#define TIMER_IE ET2 /*using timer interrupt*/
#define EXT_IP PX0 /*priority extern interrupt*/
#define TIMER_IP PT2 /*priotity timer interrupt*/
#define EMULATE_BAUD 96 /* baud/100 */
#define EMULATE_TIMER 0xFFFF - MACHINE_CLK/EMULATE_BAUD
#define EMULATE_HALF_TIMER EMULATE_TIMER/2
#define EMULATE_RECEIVE 0
#define EMULATE_TRANSMIT 1
#define EMULATE_BIT_VALID 2
#define EMULATE_BYTE_VALID 3
#define DISABLE_INTERRUPT EA=0
#define ENABLE_INTERRUPT EA=1
#define EMULATE_START_BAUD TF2=0;TR2=1;ET2=1
#define EMULATE_STOP_BAUD ET2=0;TR2=0;TF2=0
#define EMULATE_START_HALF_TIMER TH2 = EMULATE_HALF_TIMER/256;TL2 = EMULATE_HALF_TIMER%256
#define EMULATE_CLEAR_PEND TF2=0
#define EMULATE_START_EXT IE0=0;EX0=1
#define EMULATE_STOP_EXT EX0=0
#define EMULATE_MAX_BUFFER_LENGTH SERIALLENGTH
void emulateStartReceive(void);
void setEmulateTransmitByte(BYTE value);
void emulateTransmitIsr(void);
void emulateStopReceive(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -