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

📄 hpi.c

📁 单片机和DSP之间的hpi模块程序,实现单片机和dsp的数据传输,单片机是华邦单片机
💻 C
📖 第 1 页 / 共 4 页
字号:
*                         无                                                                                                *
*   输出参数:                                                                                                        *  
*                         无                                                                                                                *
*                                                                                                                                  *
**************************************************************************/
void MCUParameterWrite()    
{
    if((eAlarm<ParameterError)||(!bDSPStart))
      return;

   HPIBlockWrite(MCUParameterAddress, (uchar *)&ParameterValue, 106);  
}



/*************************************************************************
*   函数名称: MCUIntputRead()                                                                           *                         
*   函数用途: MCU读输入缓冲区数据                                                                             *
*   输入参数:                                                                                                         *
*                         无                                                                                                *
*   输出参数:                                                                                                        *  
*                         无                                                                                                                *
*                                                                                                                                  *
**************************************************************************/

void MCUInputRead()    
{
   if(!bDSPStart)
      return;
   
   HPIBlockRead(MCUInputBufferAddress, (uchar *)&MCUInputBuffer, 56);

   ucINPUT[0]=MCUInputBuffer.ucG[1];
   ucINPUT[1]=MCUInputBuffer.ucG[3];
   ucINPUT[2]=MCUInputBuffer.ucG[5];

   ucDSPAlarm=MCUInputBuffer.ucAlarmCode;   
   ucMotionComplete=MCUInputBuffer.ucMotionStatus;
   
   if(((MCUInputBuffer.lProgramY-MachineProgramPonitOld.lY)<20000)&&
   	((MCUInputBuffer.lProgramY-MachineProgramPonitOld.lY)>-20000))    
   {     
       CurrentProgramPoint.lY = MCUInputBuffer.lProgramY -ProgramOrigin.lY;
	lMacroValue[58] = CurrentProgramPoint.lY ;
   }
   
   if(((MCUInputBuffer.lProgramZ-MachineProgramPonitOld.lZ)<20000)&&
   	((MCUInputBuffer.lProgramZ-MachineProgramPonitOld.lZ)>-20000))       
   {   
//       if((ucDSPAlarm==16)&&(bINTERLOCK))
//	   bZCoordinateChange=0;
	   
//       if(bZCoordinateChange)
          CurrentProgramPoint.lZ = MCUInputBuffer.lProgramZ - ProgramOrigin.lZ;
	   lMacroValue[59] = CurrentProgramPoint.lZ;
//	else
//	   ProgramOrigin.lZ = MCUInputBuffer.lProgramZ - CurrentProgramPoint.lZ;
   }
   
   CurrentActualPoint.lY = MCUInputBuffer.lMachineY;
   CurrentActualPoint.lZ = MCUInputBuffer.lMachineZ;

   CurrentLeave.lY=MCUInputBuffer.lLeaveY;
   CurrentLeave.lZ=MCUInputBuffer.lLeaveZ;  
   	
   MachineProgramPonitOld.lY = MCUInputBuffer.lProgramY;
   MachineProgramPonitOld.lZ = MCUInputBuffer.lProgramZ;
  
}


/*************************************************************************
*   函数名称: OperateStateRead()                                                                           *                         
*   函数用途: MCU读入工作状态                                                                             *
*   输入参数:                                                                                                         *
*                         无                                                                                                *
*   输出参数:                                                                                                        *  
*                         无                                                                                                                *
*                                                                                                                                  *
**************************************************************************/

void OperateStateRead() 
{
   uchar idata ucByteTemp[2];

   if(!bDSPStart)
      return;
   
   HPIWordWrite(HPIAAdr, OperateStateAddress);
   HPITwoByteRead(HPIDAdr, ucByteTemp);

   ucOutputBufferBusy=ucByteTemp[1];
}

/*************************************************************************
*   函数名称: OperateStateWrite()                                                                           *                         
*   函数用途: MCU读入工作状态                                                                 *
*   输入参数:                                                                                                         *
*                         无                                                                                                *
*   输出参数:                                                                                                        *  
*                         无                                                                                                                *
*                                                                                                                                  *
**************************************************************************/

void OperateStateWrite() 
{
   uchar idata ucByteTemp[2];
   
   if((eAlarm<ParameterError)||(!bDSPStart))
      return;

   ucByteTemp[0]=0;   
   ucByteTemp[1]=ucOutputBufferBusy;
  
   HPIWordWrite(HPIAAdr, OperateStateAddress);
   HPITwoByteWrite(HPIDAdr, ucByteTemp);
   
}


/*************************************************************************
*   函数名称: FastMultipleWrite()                                                                           *                         
*                                                                         *
*   输入参数:                                                                                                         *
*                         无                                                                                                *
*   输出参数:                                                                                                        *  
*                         无                                                                                                                *
*                                                                                                                                  *
**************************************************************************/

void  FastMultipleWrite() 
{
    if(!bDSPStart)
      return;
	
    HPIWordWrite(HPIAAdr,FastMultipleAddress);
    HPIWordWrite(HPIDAdr,ParameterValue.unFastMultipleScale);

//    HPITwoByteWrite(HPIDAdr, &ParameterValue.ucReserve0);
   
}


/*************************************************************************
*   函数名称: FeedMultipleWrite()                                                                           *                         
*                                                                         *
*   输入参数:                                                                                                         *
*                         无                                                                                                *
*   输出参数:                                                                                                        *  
*                         无                                                                                                                *
*                                                                                                                                  *
**************************************************************************/

void  FeedMultipleWrite() 
{
    if(!bDSPStart)
      return;
	
    HPIWordWrite(HPIAAdr,FeedMultipleAddress);
    HPIWordWrite(HPIDAdr,ParameterValue.unFeedMultipleScale);
	
//    HPITwoByteWrite(HPIDAdr, &ParameterValue.ucReserve1);
   
}


/*************************************************************************
*   函数名称: HWMultipleWrite()                                                                           *                         
*                                                         *
*   输入参数:                                                                                                         *
*                         无                                                                                                *
*   输出参数:                                                                                                        *  
*                         无                                                                                                                *
*                                                                                                                                  *
**************************************************************************/

void  HWMultipleWrite() 
{
    if(!bDSPStart)
      return;

    HPIWordWrite(HPIAAdr,HWMultipleAddress);
    HPITwoByteWrite(HPIDAdr, &ParameterValue.ucReserve2);
   
}


/*************************************************************************
*   函数名称: ActualFeedrateRead()                                                                     *                         
*   函数用途: 读取实际速度                                                                   *
*   输入参数:                                                                                                     *
*                         无                                                                                                 *
*   输出参数:                                                                                                     *  
*                         无                                                                                                 *
*                                                                                                                                *
**************************************************************************/
/*
void ActualFeedrateRead()
{
 
    if(!bDSPStart)
      return;

    HPIWordWrite(HPIAAdr,ActualFeedrateAddress);
    HPIWordRead(HPIDAdr, &unActualFeedrate);
}
*/


/*************************************************************************
*   函数名称: YHomeGridRead()                                                                          *                         
*                                                     *
*   输入参数:                                                                                                     *
*                         无                                                                                                 *
*   输出参数:                                                                                                     *  
*                         无                                                                                                 *
*                                                                                                                                *
**************************************************************************/

void YHomeGridRead()
{
 
    if(!bDSPStart)
      return;

    HPIWordWrite(HPIAAdr,YHomeGrindAddress);
    HPIWordRead(HPIDAdr, &ParameterValue.unYHomeGrid);
}


/*************************************************************************
*   函数名称: ZHomeGridRead()                                                                          *                                                                               *
*   输入参数:                                                                                                     *
*                         无                                                                                                 *
*   输出参数:                                                                                                     *  
*                         无                                                                                                 *
*                                                                                                                                *
**************************************************************************/

⌨️ 快捷键说明

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