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

📄 ioserial.h

📁 pdh控制程序
💻 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 + -