📄 3.3ucosmovementcontrol.c
字号:
}
else //校验和错误
{
}
}
}
if(TL_16C554_INIT_SY & 0x04)
{
for(TL16C554RX_i = 0;TL16C554RX_i < RevvCharNumber;TL16C554RX_i++)
{
RevvCharFinish_C[TL16C554RX_i + RevvCharNumber_C] = RevvSerialChar_C[TL16C554RX_i];
}
if(RevvCharNumber_C == 0x00)
{
RevvCharNumber_C = 0x08;
}
else
{
RevvCharNumber_C = 0x00;
}
if(RevvCharNumber_C == 0x00)
{
for(TL16C554RX_i = 1;TL16C554RX_i<=13;TL16C554RX_i++)
{
if(TL16C554RX_i == 1)
{
RxTL16C554CheckSUM = RevvCharFinish_C[1];
}
else
{
RxTL16C554CheckSUM += RevvCharFinish_C[TL16C554RX_i];
}
}
RxTL16C554CheckSUM_H = (RxTL16C554CheckSUM & 0xF0) >> 4;
RxTL16C554CheckSUM_L = (RxTL16C554CheckSUM & 0x0F);
RxTL16C554CheckSUM_H = TO_ASCII(RxTL16C554CheckSUM_H);
RxTL16C554CheckSUM_L = TO_ASCII(RxTL16C554CheckSUM_L);
if((RevvCharFinish_C[14] == RxTL16C554CheckSUM_H) && (RevvCharFinish_C[15] == RxTL16C554CheckSUM_L))
{
//---- 数据接收正确,存储数据
if(RevvCharFinish_C[3] == 0x06)
{
MemTL16C554RX_C = (INT8U *)OSMemGet(CommunicateBUF,&ErrTL16C554Rx);
*(MemTL16C554RX_C + 0) = RevvCharFinish_C[1];
*(MemTL16C554RX_C + 1) = RevvCharFinish_C[2];
*(MemTL16C554RX_C + 2) = RevvCharFinish_C[4];
*(MemTL16C554RX_C + 3) = RevvCharFinish_C[5];
*(MemTL16C554RX_C + 4) = RevvCharFinish_C[6];
*(MemTL16C554RX_C + 5) = RevvCharFinish_C[7];
*(MemTL16C554RX_C + 6) = RevvCharFinish_C[9];
*(MemTL16C554RX_C + 7) = RevvCharFinish_C[10];
*(MemTL16C554RX_C + 8) = RevvCharFinish_C[11];
*(MemTL16C554RX_C + 9) = RevvCharFinish_C[12];
OSQPost(RxTL16C554Msg,MemTL16C554RX_C);
}
}
else //校验和错误
{
}
}
}
if(TL_16C554_INIT_SY & 0x08)
{
for(TL16C554RX_i = 0;TL16C554RX_i < RevvCharNumber;TL16C554RX_i++)
{
RevvCharFinish_D[TL16C554RX_i + RevvCharNumber_D] = RevvSerialChar_D[TL16C554RX_i];
}
if(RevvCharNumber_D == 0x00)
{
RevvCharNumber_D = 0x08;
}
else
{
RevvCharNumber_D = 0x00;
}
if(RevvCharNumber_D == 0x00)
{
for(TL16C554RX_i = 1;TL16C554RX_i<=13;TL16C554RX_i++)
{
if(TL16C554RX_i == 1)
{
RxTL16C554CheckSUM = RevvCharFinish_D[1];
}
else
{
RxTL16C554CheckSUM += RevvCharFinish_D[TL16C554RX_i];
}
}
RxTL16C554CheckSUM_H = (RxTL16C554CheckSUM & 0xF0) >> 4;
RxTL16C554CheckSUM_L = (RxTL16C554CheckSUM & 0x0F);
RxTL16C554CheckSUM_H = TO_ASCII(RxTL16C554CheckSUM_H);
RxTL16C554CheckSUM_L = TO_ASCII(RxTL16C554CheckSUM_L);
if((RevvCharFinish_D[14] == RxTL16C554CheckSUM_H) && (RevvCharFinish_D[15] == RxTL16C554CheckSUM_L))
//---- 数据接收正确,存储数据
{
if(RevvCharFinish_D[3] == 0x06)
{
MemTL16C554RX_D = (INT8U *)OSMemGet(CommunicateBUF,&ErrTL16C554Rx);
*(MemTL16C554RX_D + 0) = RevvCharFinish_D[1];
*(MemTL16C554RX_D + 1) = RevvCharFinish_D[2];
*(MemTL16C554RX_D + 2) = RevvCharFinish_D[4];
*(MemTL16C554RX_D + 3) = RevvCharFinish_D[5];
*(MemTL16C554RX_D + 4) = RevvCharFinish_D[6];
*(MemTL16C554RX_D + 5) = RevvCharFinish_D[7];
*(MemTL16C554RX_D + 6) = RevvCharFinish_D[9];
*(MemTL16C554RX_D + 7) = RevvCharFinish_D[10];
*(MemTL16C554RX_D + 8) = RevvCharFinish_D[11];
*(MemTL16C554RX_D + 9) = RevvCharFinish_D[12];
OSQPost(RxTL16C554Msg,MemTL16C554RX_D);
}
}
else //校验和错误
{
}
}
}
}
}*/
void TL16C554communicateTX(void *nouse) reentrant
{
INT8U ErrTL16C554Tx;
INT8U TL16C554TxCheckSUM;
INT8U TL16C554TxCheckSUM_H,TL16C554TxCheckSUM_L;
INT8U *MemTL16C554TX;
nouse = nouse;
while(1)
{
MemTL16C554TX = (INT8U *)OSQPend(TxTL16C554Msg, 0, &ErrTL16C554Tx);
if(*(MemTL16C554TX + 0) == 0x01)
{
SendTL16C554_BUF[0] = 0x01;
SendTL16C554_BUF[1] = *(MemTL16C554TX + 1);
SendTL16C554_BUF[2] = *(MemTL16C554TX + 2);
SendTL16C554_BUF[3] = 0x05;
SendTL16C554_BUF[4] = *(MemTL16C554TX + 3);
SendTL16C554_BUF[5] = *(MemTL16C554TX + 4);
SendTL16C554_BUF[6] = *(MemTL16C554TX + 5);
SendTL16C554_BUF[7] = *(MemTL16C554TX + 6);
SendTL16C554_BUF[8] = 0x20;
SendTL16C554_BUF[9] = *(MemTL16C554TX + 7);
SendTL16C554_BUF[10] = *(MemTL16C554TX + 8);
SendTL16C554_BUF[11] = *(MemTL16C554TX + 9);
SendTL16C554_BUF[12] = *(MemTL16C554TX + 10);
SendTL16C554_BUF[13] = 0x03;
OSMemPut(CommunicateBUF,MemTL16C554TX);
for(TL16C554TX_i = 1;TL16C554TX_i <= 13;TL16C554TX_i++)
{
if(TL16C554TX_i == 1)
{
TL16C554TxCheckSUM = SendTL16C554_BUF[TL16C554TX_i];
}
else
{
TL16C554TxCheckSUM += SendTL16C554_BUF[TL16C554TX_i];
}
}
TL16C554TxCheckSUM_H = (TL16C554TxCheckSUM & 0xF0) >> 4;
TL16C554TxCheckSUM_L = (TL16C554TxCheckSUM & 0x0F);
SendTL16C554_BUF[14] = TO_ASCII(TL16C554TxCheckSUM_H);
SendTL16C554_BUF[15] = TO_ASCII(TL16C554TxCheckSUM_L);
if(SendTL16C554_BUF[1] == '0')
{
if((RS485_CanSend == 1)&&(RS485_CanRevv == 1))
{
RS485_SendStart();
RS485_CanSend = 0; //发送不允许
RS485_CanRevv = 0;
for(TL16C554TX_i=0;TL16C554TX_i<16;TL16C554TX_i++)
{
SendChar_UART_B(SendTL16C554_BUF[TL16C554TX_i]);
}
}
else
{
///////////////////////////////////////////
}
}
else
{
if(RS232_CanSend == 1)
{
RS232_CanSend = 0;
for(TL16C554TX_i=0;TL16C554TX_i<16;TL16C554TX_i++)
{
SendChar_UART_C(SendTL16C554_BUF[TL16C554TX_i]);
SendChar_UART_D(SendTL16C554_BUF[TL16C554TX_i]);
}
}
}
}
else
if(*(MemTL16C554TX + 0) == 0x5A)
{
SendTL16C554_BUF[0] = 0x5A;
}
}
}
void TL16C554communicateProcess(void *nouse) reentrant
{
INT8U ErrTL16C554CP;
INT8U *MsgTL16C554CP;
INT8U *MemTL16C554CP;
nouse = nouse;
while(1)
{
MsgTL16C554CP = (INT8U *)OSQPend(TL16C554TestMsg,0, &ErrTL16C554CP);
MemTL16C554CP = (INT8U *)OSMemGet(CommunicateBUF,&ErrTL16C554CP);
for(i=0;i<=10;i++)
{
*(MemTL16C554CP + i) = movementspeed[(INT8U)MsgTL16C554CP][i];
}
OSQPost(TxTL16C554Msg,MemTL16C554CP);
}
}
void TL16C554TestTask(void *nouse) reentrant
{
//INT8U ErrTL16C554TT;
//INT8U *MemTL16C554TT;
nouse = nouse;
while(1)
{
OSQPost(TL16C554TestMsg,(void *)TL_LowSpeed_R);
OSTimeDly(OS_TICKS_PER_SEC * 1);
OSQPost(TL16C554TestMsg,(void *)T_LowSpeed_R);
OSTimeDly(OS_TICKS_PER_SEC * 8);
OSQPost(TL16C554TestMsg,(void *)TL_Movement_Stop);
OSTimeDly(OS_TICKS_PER_SEC * 1);
OSQPost(TL16C554TestMsg,(void *)T_Movement_Stop);
OSTimeDly(OS_TICKS_PER_SEC * 2);
OSQPost(TL16C554TestMsg,(void *)TL_LowSpeed_F);
OSTimeDly(OS_TICKS_PER_SEC * 1);
OSQPost(TL16C554TestMsg,(void *)T_LowSpeed_F);
OSTimeDly(OS_TICKS_PER_SEC * 8);
OSQPost(TL16C554TestMsg,(void *)TL_Movement_Stop);
OSTimeDly(OS_TICKS_PER_SEC * 1);
OSQPost(TL16C554TestMsg,(void *)T_Movement_Stop);
OSTimeDly(OS_TICKS_PER_SEC * 2);
//OSQPost(TL16C554TestMsg,&Temp2);
//OSQPost(TL16C554TestMsg,(void *)15);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -