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

📄 ex3acug20.c

📁 一个基于三星s3c44b0x的串口协议转换器源码
💻 C
字号:

/***********************************************************************/	
/*			                        FILE: Ex3AcUG20.c                      
/***********************************************************************/

#include  <time.h>
#include  <math.h>
#include  "Ex3.h"
#include  "console.h"
#include  "Ex3Comm.h"
#include  "Ex3AcUG20.h"

static struct TxDtS TxDt[]={
                        {0,2,OFF},  	//poll
};

extern 	struct LibS    Lib;
struct     AcS Ac;

void  FromToAC(WORD UartNo)
{
	WORD   i,OrgMark;
	struct   AcS *Acp;
	Acp=&Ac;
	
	AcTimeProc();
	if(Acp->OrgPktStat==ON)
	{
		OrgMark=ToAcProc(UartNo);
		if(OrgMark==ON)
		{
			Acp->OrgPktStat=OFF;
			Acp->SendPktStat=ON;
		}
	}
	
		//Lib.SetNodeOk=ON;
}

void AcTimeProc(void)
{
	int  i;
	time_t CurTime,DltT,DltT1;
	mytime(&CurTime);
	for(i=0;i<sizeof(TxDt)/sizeof(struct TxDtS);i++)
	{
		DltT=DiffTime(&CurTime,&TxDt[i].LastTime);
		if(DltT>=TxDt[i].DltTime)
		{
			TxDt[i].LastTime=CurTime;
			TxDt[i].Occur=ON;
		}
	}
}

WORD ToAcProc(WORD UartNo)
{
	WORD mark;
	
	if(Lib.Isdown==ON)
		mark=ToAcProcSet(UartNo);
	else mark= ToAcProcPoll(UartNo);
	return(mark);

}

WORD ToAcProcSet(WORD UartNo)
{

}

WORD ToAcProcPoll(WORD UartNo)
{
	WORD	CurUnitNo,mark=OFF;
	WORD	offset;
	struct   AcS *Acp;
	Acp=&Ac;

	if(mark==OFF&&TxDt[TXDT_POLL_AC].Occur==ON)
	{
		OrgToAcUgPkt(UartNo,POLL_AC);
		TxDt[TXDT_POLL_AC].Occur=OFF;
		mark=ON;
	}
return(mark);
}

void OrgToAcUgPkt(WORD UartNo,WORD cmd)
{
	WORD	CheckSum;
	WORD	nbytes,index,i,sum,temp;
	BYTE	chkh,chkl;
	struct     AcS *Acp;
	Acp=&Ac;
	
	Acp->DnComd=cmd;
	index=0;
	Acp->ToBuff[index++] = AC_UG20_STX;
	Acp->ToBuff[index++] = cmd;
	switch(cmd)
	{
		case POLL_AC:
			Acp->ToBuff[index++] = ACUG20_ADDR;
		break;
		
		default : break;
	}
	Acp->ToBuff[index++] = AC_UG20_ETX;
	sum = 0;
	for(i = 0;i<index;i++){
	sum = sum + Acp->ToBuff[i];
	}
	temp = sum>>4;
	Acp->ToBuff[index++] = 0x30+temp;
	temp = sum&0x15;
	Acp->ToBuff[index++] = 0x30+temp;
	Acp->OrgBytes = index;
}
	
void  AcBuffInit(WORD UartNo)
{

}

⌨️ 快捷键说明

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