|
// HAL_UART_Transmit_DMA(&huart1, "start\r\n",7);
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if(UsartType.RX_flag) // Receive flag
{
UsartType.RX_flag=0; // clean flag
HAL_UART_Transmit(&huart2, UsartType.RX_pData, UsartType.RX_Size, 0xFFFF);
}
//用led控制爪子也就是6號舵機的開關
//用蜂鳴器控制形態的切換
switch(UsartType.RX_pData[0])
{
//進入控制舵機的指令
case 0x21:
yunxing_flag = 0;
che_flag = 0;
break;
//進入車的運行指令
case 0x20:
yunxing_flag = 1;
break;
case 0x30:
// yunxing_flag = 1;
che_flag = 1;
break;
case 0x3f:
// yunxing_flag = 1;
che_flag = 2;
break;
case 0x31:
// yunxing_flag = 1;
che_flag = 3;
break;
case 0x32:
// yunxing_flag = 1;
che_flag = 4;
break;
//爪子開
case 0x11:
che_flag = 5;
break;
//爪子關
case 0x10:
che_flag = 6;
break;
case 0xff:
che_flag = 0;
break;
}
//車運行程序
if(yunxing_flag==1&&che_flag==1)
{
PWM_Change_Duty(80,0,80,0);
}
if(yunxing_flag==1&&che_flag==2)
{
PWM_Change_Duty(0,80,0,80);
}
if(yunxing_flag==1&&che_flag ==3)
{
PWM_Change_Duty(70,0,0,70);
}
if(yunxing_flag==1&&che_flag == 4)
{
PWM_Change_Duty(0,70,70,0);
}
if(che_flag==0||yunxing_flag == 0)
{
PWM_Change_Duty(0,0,0,0);
}
// HAL_Delay(100);
//舵機運行函數
#if 1
if(yunxing_flag==0&&che_flag==1)
{
UsartType.RX_pData[0] = '\0';
if(j>10)
{
j --;
}
else
{
j++;
}
HAL_UART_Transmit_IT(&huart1,&ErHao[j][18],strlen(&ErHao[j][18]));
HAL_Delay(100);
}
if(yunxing_flag==0&&che_flag==2)
{
UsartType.RX_pData[0] = '\0';
if(j<72)
{
j ++;
}
else
{
j--;
}
HAL_UART_Transmit_IT(&huart1,&ErHao[j][18],strlen(&ErHao[j][18]));
HAL_Delay(100);
}
//四號舵機動作的左和右
if(yunxing_flag==0&&che_flag ==3)
{
UsartType.RX_pData[0] = '\0';
if(l<35)
{
l++;
}
else
{
l--;
}
HAL_UART_Transmit_IT(&huart1,&SiHao[l][18],strlen(&SiHao[l][18]));
HAL_Delay(100);
}
if(yunxing_flag==0&&che_flag == 4)
{
UsartType.RX_pData[0] = '\0';
if(l>5)
{
l --;
}
else
{
l++;
}
HAL_UART_Transmit_IT(&huart1,&SiHao[l][18],strlen(&SiHao[l][18]));
HAL_Delay(100);
}
//爪子開與關
if(yunxing_flag==0&&che_flag == 5)
{
UsartType.RX_pData[0] = '\0';
if(k>35)
{
k = k-17;
}
HAL_UART_Transmit_IT(&huart1,&SanHao[k][18],strlen(&SanHao[k][18]));
HAL_Delay(100);
}
if(yunxing_flag==0&&che_flag == 6)
{
UsartType.RX_pData[0] = '\0';
if(k<35)
{
k = k+17;
}
HAL_UART_Transmit_IT(&huart1,&SanHao[k][18],strlen(&SanHao[k][18]));
HAL_Delay(100);
}
|
-
-
lanyacar.rar
2018-10-19 03:36 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
5.15 MB, 下載次數: 36, 下載積分: 黑幣 -5
|