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

📄 pub_puck.c

📁 ST736单片机
💻 C
字号:
#include "Pub_PUCK.h"
#include "div.h"
#include "string.h"

/**********************************************************************************
函数功能:设置结构体校验和,校验和均为1个字节
入口:无
出口:无
**********************************************************************************/
void SetCs_Pub(void *Src,INT16U Len)
{
  INT16U i;
  INT8U Cs,*ptr;
  
  ptr=(INT8U *)Src;
  for(i=0,Cs=0;i<Len-1;i++)
  {
    Cs+=ptr[i]; 
  }
  
  ptr[Len-1]=Cs;
}
/**********************************************************************************
函数功能:检查结构体校验和,校验和均为1个字节
入口:无
出口:无
**********************************************************************************/
INT8U CheckCs_Pub(void *Src,INT16U Len)
{
  INT16U i;
  INT8U Cs,*ptr;
  
  ptr=(INT8U *)Src;
  for(i=0,Cs=0;i<Len-1;i++)
  {
    Cs+=ptr[i]; 
  }
  
  if(ptr[Len-1]==Cs)
    return 1;
  
  return 0;
}
/**********************************************************************************

**********************************************************************************/

void Assert(BOOLEAN x,INT8U *pFile,INT8U *Line)
{
  if(!x)
  {
         DEBUG_PRINT(PUCK,PRINT_PUCK_CUR,"Err File:%s,Line:%d\n",pFile,Line);//打印出错位置
  }
}
/**********************************************************************************

**********************************************************************************/
void mem_cpy(void *pDst, void *pSrc,INT32U SrcLen,void *pDst_Start,INT32U Dst_Len)
{
  BOOLEAN flag;
  
  flag=((INT8U*)pDst+SrcLen<=(INT8U*)pDst_Start+Dst_Len)?1:0;
  //ASSERT(flag);
  if(!flag)
  {
    DEBUG_PRINT(PUCK,PRINT_PUCK_CUR,"memcpy Logic Error:File=%s,Line=%d\n",__FILE__,__LINE__);//打印出错位置
    return ;
  }
  //ASSERT(pDst+SrcLen<=pDst_Start+Dst_Len);
  memcpy(pDst_Start,pSrc,SrcLen);  
}
/**********************************************************************************

**********************************************************************************/
void mem_set(void *pDst, INT8U Value,INT32U SetLen,void *pDst_Start,INT32U Dst_Len)
{
  BOOLEAN flag;
  
  flag=((INT8U*)pDst+SetLen<=(INT8U*)pDst_Start+Dst_Len)?1:0;
  //ASSERT(flag);
  if(!flag)
  {
    DEBUG_PRINT(PUCK,PRINT_PUCK_CUR,"memset Logic Error:File=%s,Line=%d\n",__FILE__,__LINE__);//打印出错位置
    return ;
  }
  memset(pDst_Start,Value,SetLen); 
  
  
}

⌨️ 快捷键说明

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