comm_51.c

来自「基于uCOS-II的串口驱动(用Keil C)」· C语言 代码 · 共 58 行

C
58
字号
/*
*********************************************************************************************************
*                               基于uC/OS-II的串口驱动及应用程序接口函数
*                                             版权所有
*
* 文件名 : COMM_51.C
* 作者   : 陈是知 csz-mail@126.com 北京中软 2005。3。11
*********************************************************************************************************
*/

#include "includes.h"


void CommInit() reentrant
{
        TMOD=TMOD&0x0F;
        TMOD=TMOD|0x20;
        TL1=0x40,TH1=0x40;	//300, 22.1184MHz
        SCON=0x50;PCON=0x00;
        TR1=1;
		ES=1;
}


void  CommISRHandler () reentrant
{  
    INT8U   c;
    INT8U   err;
	extern INT8U FirstCharFlag;
	
    if(RI){
            RI=0;
            c=SBUF;
            CommPutRxChar(c);
		  }

    if(TI){
			TI=0;
			if(FirstCharFlag==0x01)
	         {
			  c = CommGetTxChar(&err);   
    		  FirstCharFlag=0x00;
              if(err==COMM_NO_ERR)
			  SBUF=c;
			 }
			else
			 {
			  c = CommGetTxChar(&err);
 			  if(err==COMM_NO_ERR)
			    SBUF=c;
			  else
			    FirstCharFlag=0x01;
			 }
          }
			  
}
 

⌨️ 快捷键说明

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