Car/User/Src/line_seek.c

45 lines
1.1 KiB
C
Raw Permalink Normal View History

2024-07-14 21:03:50 +08:00
#include "line_seek.h"
#include "main.h"
2024-07-17 21:19:00 +08:00
char LineSeek_Status[5];
2024-07-14 21:03:50 +08:00
/**
* @brief 线
* @param[in] int *p_iL1, int *p_iL2, int *p_iR1, int *p_iR2 线
* @retval void
*/
2024-07-17 21:19:00 +08:00
void LineSeek_GetStatus(int *p_iL1, int *p_iL2, int *p_iR1, int *p_iR2)
2024-07-14 21:03:50 +08:00
{
*p_iL1 = HAL_GPIO_ReadPin(LineSeek_L1_GPIO_Port, LineSeek_L1_Pin);
*p_iL2 = HAL_GPIO_ReadPin(LineSeek_L2_GPIO_Port, LineSeek_L2_Pin);
*p_iR1 = HAL_GPIO_ReadPin(LineSeek_R1_GPIO_Port, LineSeek_R1_Pin);
*p_iR2 = HAL_GPIO_ReadPin(LineSeek_R2_GPIO_Port, LineSeek_R2_Pin);
}
2024-07-17 21:19:00 +08:00
/**
* @brief 线
* @retval char LineSeek_Status[5]
*/
char *LineSeek_GetStatusStr()
{
int iL1, iL2, iR1, iR2;
LineSeek_GetStatus(&iL1, &iL2, &iR1, &iR2);
sprintf(LineSeek_Status, "%d%d%d%d", iL1, iL2, iR1, iR2);
return LineSeek_Status;
}
int LineSeek_Equals(const char *expression)
{
int i;
for (i = 0; i < 4; i++)
{
if (expression[i] != 'x' && expression[i] != LineSeek_Status[i])
{
return 0;
}
}
return 1;
}