timesyn.c

来自「TPSN时间同步算法」· C语言 代码 · 共 57 行

C
57
字号
//*****************************************************//
// File: timesyn.c for S3C44B0 and 9xtend
// Author: yanhc
// Organisition: NUC1200
// Description: Define the common function for time synchronization
// Creat time: 2009.03.21
// Revision:
//*****************************************************//
#include<stdio.h>
#include<string.h>
#include"44blib.h"
#include"system.h"
#include"timesyn.h"

synPacket synpacket,synackpacket;
unsigned char synpktBuf[lenSYNPKT],synackpktBuf[lenSYNPKT];
int ptpktBuf = 0;
unsigned long us = 0;
unsigned long T1,T2,T3,T4;
unsigned long delta = 0,delay = 0;

//Pack time1 packet
void PackT1(unsigned short selfadd,unsigned short dstadd)
{
 //evaluate the struct
 synpacket.Header = 0x0F;
 synpacket.srcAdd = selfadd;
 synpacket.dstAdd = dstadd;
 synpacket.Command = cmdTIMESYN;
 T1 = us;
 synpacket.Time1 = T1;
 synpacket.Time2 = 0;
 synpacket.End = 0xF0;
 
 //struct to string buffer convertion
 memset(synpktBuf,NULL,lenSYNPKT);
 memcpy(synpktBuf,&synpacket,lenSYNPKT);
}

//Pack T2 and T3 packet
void PackT2T3(unsigned short selfadd,unsigned short dstadd,unsigned long time2)
{
 //evaluate the struct
 synpacket.Header = 0x0F;
 synpacket.srcAdd = selfadd;
 synpacket.dstAdd = dstadd;
 synpacket.Command = cmdTIMESYNACK;
 synpacket.Time1 = time2;
 T3 = us;
 synpacket.Time2 = T3;
 synpacket.End = 0xF0;
 
 //struct to string buffer convertion
 memset(synpktBuf,NULL,lenSYNPKT);
 memcpy(synpktBuf,&synpacket,lenSYNPKT);
}

⌨️ 快捷键说明

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