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

📄 serial1.h

📁 c8051f020实现4个 产UART 口
💻 H
字号:
//#if !defined _SERIAL1_H_
//#define _SERIAL1_H_      


void Open_URRA_1(void);

#define	BAUDRATE1		19200		// 用户定义的UART1 波特率

#define	   DiZh_BUFF_MAX	  30
#define	   KEY_BUFF_MAX	  150
#define	   F76_BUFF_MAX	  30


extern uchar xdata DiZh_Rx_Buff[DiZh_BUFF_MAX];
extern uchar xdata DiZh_Tx_Buff[DiZh_BUFF_MAX];

extern uchar xdata  KEY_RX_Buff[KEY_BUFF_MAX];
extern uchar xdata  KEY_TX_Buff[KEY_BUFF_MAX];

extern uchar xdata  F76_RX_Buff[F76_BUFF_MAX];
extern uchar xdata  F76_TX_Buff[F76_BUFF_MAX];


 extern bit  XinKey_Sound_b;   //用于发声音
  extern bit  Xin_KeyJTX_RX_B;   //甲天行来的标志位
 extern bit XinKey_b;             //手柄来的键值标志
 extern uchar xdata   XinKey_Value, itask;   //手柄来的键值

 extern bit Dis_All_Key_B;     //不检测按键标志位



extern bit  bUartBusy;		//上位机串口发送状态标志,"1"表示上位机串口"忙"(正发送数据
							//到子串口,新数据只需送入子串口发送缓冲区即可,"0"表示上位
							//机串口"空闲",需用户程序将"TI=1"来启动子串口数据发送

extern bit  bInstructFlag;	//上位机发送指令请求标志,上位机需要发送指令时必须
							//先将待发发送指令放到"InstructBuf",之后将该
							//标志设置为"1"即可.标志变为"0"后可继续发送指令


extern bit          KEY_TX_is_over_Start_cnt_B;   // 帧间隔计时位
extern uchar	   KEY_TX_is_over_Start_cnt;     // 帧间隔计时计数器


extern uchar xdata UartPointer;	//子串口发送数据指针,中断服务程序通过该指针轮询
							//发送数据到各子串口,保证各子串口的数据不丢失

extern uchar xdata InstructBuf;	//指令缓冲(用户可将设置SP2328/SP2338的指令放入
							//该寄存器,由驱动程序自动完成指令发送)



extern uchar  MY_P4L;   

							

#define  AdrIn1  (P4&2)
#define  AdrIn0  (P4&1)


#define AdrOut0_1   (P4|=4)
#define AdrOut0_0   (P4&=0XfB)
#define AdrOut1_1   (P4|=8)
#define AdrOut1_0   (P4&=0Xf7)

//sbit  ADRO1_P = P4^3   //OUT    上拉  2388 ADRI1_P
//sbit  ADRO0_P = P4^2   //OUT    上拉  2388ADRI0_P
//sbit  ADRI1_P = P4^1   //IN     2388  ADRO1_P
//sbit  ADRI0_P = P4^0   //IN     2388  ADRO0_P




extern uchar xdata Uart0RBuf,Uart1RBuf,Uart2RBuf;	//接收子串口数据缓
							

extern unsigned char xdata  F76_RX_Sta;
extern unsigned char xdata   F76_RX_cnt;
extern unsigned char    F76_Es_jie_cnt;
extern  bit  Xin_F76_RX_B;



extern unsigned char xdata  KEY_RX_Sta;
extern unsigned int xdata   KEY_RX_cnt;
extern unsigned char    KEY_Es_jie_cnt;
 extern bit  Xin_KEY_RX_B;


extern unsigned char xdata  DiZh_RX_Sta;
extern unsigned int xdata   DiZh_RX_cnt;
extern unsigned char    DiZh_Es_jie_cnt;
extern  bit  Xin_DiZh_RX_B;



extern uint xdata DiZh_TX_Len;   //发送长度
extern uint xdata  DiZh_TX_cnt;    //发送计数器
extern bit DiZh_TX_is_over_B;    //所完标志位
                                  // GPRS_TX_is_over_B=0表示串口忙被 占用,
                                  //谁得到 GPRS_TX_is_over_B=1谁就得到串口生理权

extern uint xdata KEY_TX_Len;    //发送长度
extern uint xdata  KEY_TX_cnt;   //发送计数器
extern bit KEY_TX_is_over_B;    //所完标志位
                                  // KEY_TX_is_over_B=0表示串口忙被 占用,
                                  //谁得到 KEY_TX_is_over_B=1谁就得到串口生理权
                                  
extern  bit  KEY_TX_Right_B ;    //key发送权标志

extern uint xdata F76_TX_Len;     //发送长度



extern uint xdata  F76_TX_cnt;  //发送计数器
extern bit F76_TX_is_over_B;    //所完标志位
                                  // F76_TX_is_over_B=0表示串口忙被 占用,
                                  //谁得到 F76_TX_is_over_B=1谁就得到串口生理权

extern void  Fa_F76_buffer_0xee0xee(uchar Fun,uchar *Poit,uint Lenthg) reentrant ;
extern void  Fa_F76_buffer(uchar Fun,uchar *Poit,uint Lenthg) reentrant ;
extern void  Fa_Key_buffer(uint Lenthg);

extern void     FA_DiZhen_Buff() ;


//extern  void  Get_Fa_Key_buffer_Right( );
//extern  void   Get_Fa_DiZh_buffer_Right( );



//清接收区为0 
extern  void Clr_DiZh_Rx_Buff() ;

//清接收区为0 
extern  void Clr_KEY_RX_Buff() ;

//清接收区为0 
extern  void Clr_F76_RX_Buff() ;




							

⌨️ 快捷键说明

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