叠加读取串口

This commit is contained in:
zhengxuan.zhang
2022-11-25 15:16:50 +08:00
parent b94d85b393
commit d73ac43da5
8 changed files with 138 additions and 238 deletions
+21 -26
View File
@@ -963,14 +963,10 @@ HSI_STATUS HSI_Motion::HomeMachineOld(bool bHomed)
int SavePos[5] = {0};
if (m_SO7_Serial.m_RecvData[0] == 2)
{
SavePos[1] = (m_SO7_Serial.m_RecvData[41] << 24 | m_SO7_Serial.m_RecvData[42] << 16 | m_SO7_Serial.
m_RecvData[43] << 8 | m_SO7_Serial.m_RecvData[44]);
SavePos[2] = (m_SO7_Serial.m_RecvData[45] << 24 | m_SO7_Serial.m_RecvData[46] << 16 | m_SO7_Serial.
m_RecvData[47] << 8 | m_SO7_Serial.m_RecvData[48]);
SavePos[3] = (m_SO7_Serial.m_RecvData[49] << 24 | m_SO7_Serial.m_RecvData[50] << 16 | m_SO7_Serial.
m_RecvData[51] << 8 | m_SO7_Serial.m_RecvData[52]);
SavePos[4] = (m_SO7_Serial.m_RecvData[53] << 24 | m_SO7_Serial.m_RecvData[54] << 16 | m_SO7_Serial.
m_RecvData[55] << 8 | m_SO7_Serial.m_RecvData[56]);
SavePos[1] = (m_SO7_Serial.m_RecvData[41] << 24 | m_SO7_Serial.m_RecvData[42] << 16 | m_SO7_Serial.m_RecvData[43] << 8 | m_SO7_Serial.m_RecvData[44]);
SavePos[2] = (m_SO7_Serial.m_RecvData[45] << 24 | m_SO7_Serial.m_RecvData[46] << 16 | m_SO7_Serial.m_RecvData[47] << 8 | m_SO7_Serial.m_RecvData[48]);
SavePos[3] = (m_SO7_Serial.m_RecvData[49] << 24 | m_SO7_Serial.m_RecvData[50] << 16 | m_SO7_Serial.m_RecvData[51] << 8 | m_SO7_Serial.m_RecvData[52]);
SavePos[4] = (m_SO7_Serial.m_RecvData[53] << 24 | m_SO7_Serial.m_RecvData[54] << 16 | m_SO7_Serial.m_RecvData[55] << 8 | m_SO7_Serial.m_RecvData[56]);
}
double PrinfPos[5] = {0};
PrinfPos[1] = SavePos[1] * m_Resolution[1];
@@ -3635,13 +3631,6 @@ int HSI_Motion::CaculateStepMotorACC(int pos, int maxacc, int minacc)
}
//===========================================================================
/**
* \brief
* \param AXIS
* \param motionParam
* \return
*/
//&符号用来处理一个变量,但不是通常的 - 访问这个变量的内容,而是取出这个变量的地址
//
//int* b;此时b是一个指向int空间的指针,也就是说它是一个未分配的地址
@@ -3650,7 +3639,6 @@ int HSI_Motion::CaculateStepMotorACC(int pos, int maxacc, int minacc)
//而 & 是对一个已存在的变量取地址,取完地址之后同样可以通过地址操作
//
//* x是找到x地址的变量,取它的值,所以 * 和 & 是反操作, & x得到x的地址 * , * x得到x的值x
//————————————————
//版权声明:本文为CSDN博主「nick__huang」的原创文章,遵循CC 4.0 BY - SA版权协议,转载请附上原文出处链接及本声明。
//原文链接:https ://blog.csdn.net/u012610237/article/details/58599083
@@ -3658,7 +3646,14 @@ int HSI_Motion::CaculateStepMotorACC(int pos, int maxacc, int minacc)
//void func3(void); //利用全局变量返回数组
//void func2(uchar* s); //利用指针返回数组
//uchar* func1(); //利用指针函数返回数组
//void func0(uchar*& r); //利用引用返回数组
//void func0(uchar*& r); //利用引用返回数组
/**
* \brief
* \param AXIS
* \param motionParam
* \return
*/
HSI_STATUS HSI_Motion::GetMotorParam(int AXIS, double motionParam[5])
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -8798,13 +8793,13 @@ BOOL HSI_Motion::Send_Command(int com, const char* _SendData, DWORD SendDataLeng
g_pLogger->SendAndFlushWithTime(L"[Send_Command] WriteByte:%d,!= SendDataLength:%d\n", iWriteByte, SendDataLength);
}
////原文链接:https://blog.csdn.net/qq_31073871/article/details/85696092
//printf("Send_Command: ");
//for (int i = 0; i < SendDataLength; i++)
//{
// printf("%02X ", ((uint8_t*)_SendData)[i]);
//}
//printf("\r\n");
//原文链接:https://blog.csdn.net/qq_31073871/article/details/85696092
/*printf("Send_Command: ");
for (int i = 0; i < SendDataLength; i++)
{
printf("%02X ", ((uint8_t*)_SendData)[i]);
}
printf("\r\n");*/
if (iWriteByte == 0)
{
@@ -8830,8 +8825,8 @@ BOOL HSI_Motion::Send_Command(int com, const char* _SendData, DWORD SendDataLeng
}
//打印串口返回值
Sleep(5);
m_SO7_Serial.OnReceive();
//Sleep(5);
//m_SO7_Serial.OnReceive();
}
ReleaseMutex(g_RW_Data_Mutex);
return rStatus;