Browse Source

更改encoder_clear_counter函数的实现

external_Interrupt
tianjialong 2 years ago
parent
commit
c06734ae79
  1. 4
      MDK-ARM/LWIP.uvguix.29643
  2. 6
      usersrc/encoder.c
  3. 2
      usersrc/encoder.h
  4. 5
      usersrc/udpclient.c

4
MDK-ARM/LWIP.uvguix.29643

@ -3741,9 +3741,9 @@
</Doc>
<Doc>
<Name>..\usersrc\udpclient.c</Name>
<ColumnNumber>0</ColumnNumber>
<ColumnNumber>5</ColumnNumber>
<TopLine>68</TopLine>
<CurrentLine>69</CurrentLine>
<CurrentLine>97</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>

6
usersrc/encoder.c

@ -23,13 +23,13 @@ void encoder_all_stop(void)
}
}
bool encoder_clear_counter(TIM_HandleTypeDef *tim_handler)
bool encoder_clear_counter(encoder_usage_t encoder)
{
for (uint8_t i = 0; i < (sizeof(m_uarts) / sizeof(encoder_t)); i++)
{
if (tim_handler == m_uarts[i].tim_handler)
if (encoder == i)
{
__HAL_TIM_GET_COUNTER(tim_handler) = 0;
__HAL_TIM_GET_COUNTER(m_uarts[i].tim_handler) = 0;
return true;
}
}

2
usersrc/encoder.h

@ -16,6 +16,6 @@ typedef struct
void encoder_all_start(void);
void encoder_all_stop(void);
bool encoder_clear_counter(TIM_HandleTypeDef *tim_handler);
bool encoder_clear_counter(encoder_usage_t encoder);
void encoder_all_clear_counter(void);
bool encoder_read_with_encoder(encoder_usage_t encoder, uint32_t *encoder_value);

5
usersrc/udpclient.c

@ -9,7 +9,6 @@
#include "protocol.h"
#include "encoder.h"
#include "zport.h"
#include "zboard.h"
#define cmd_checksum(data) \
if (computesum8((char *)data, recv_datalen - 1) != data->checksum) \
@ -225,10 +224,10 @@ void udp_client_parse(int recv_datalen)
encoder_all_clear_counter();
break;
case CLEAR_ENCODER_1:
encoder_clear_counter(&camera_encoder);
encoder_clear_counter(CAMERA_ENCODER);
break;
case CLEAR_ENCODER_2:
encoder_clear_counter(&driven_encoder_gear);
encoder_clear_counter(DRIVEN_ENCODER_GEAR);
break;
default:

Loading…
Cancel
Save