Browse Source

准备重写HAL_IncTick

new_pcb
tianjialong 2 years ago
parent
commit
5b0aeaaef1
  1. 4
      MDK-ARM/LWIP.uvguix.29643
  2. 36
      usersrc/encoder.c
  3. 1
      usersrc/encoder.h
  4. 7
      usersrc/usermain.c

4
MDK-ARM/LWIP.uvguix.29643

@ -3651,9 +3651,9 @@
</Doc> </Doc>
<Doc> <Doc>
<Name>..\usersrc\udpclient.c</Name> <Name>..\usersrc\udpclient.c</Name>
<ColumnNumber>13</ColumnNumber>
<ColumnNumber>12</ColumnNumber>
<TopLine>400</TopLine> <TopLine>400</TopLine>
<CurrentLine>413</CurrentLine>
<CurrentLine>419</CurrentLine>
<Folding>1</Folding> <Folding>1</Folding>
<ContractedFolders></ContractedFolders> <ContractedFolders></ContractedFolders>
<PaneID>0</PaneID> <PaneID>0</PaneID>

36
usersrc/encoder.c

@ -11,34 +11,34 @@ static uint32_t driven_encoder_gear_lastprocess = 0;
static bool camera_encoder_light_state; static bool camera_encoder_light_state;
static bool driven_encoder_light_state; static bool driven_encoder_light_state;
static encoder_t m_uarts[] = {
static encoder_t m_encoders[] = {
{&camera_encoder, TIM_CHANNEL_1 | TIM_CHANNEL_2}, // {&camera_encoder, TIM_CHANNEL_1 | TIM_CHANNEL_2}, //
{&driven_encoder_gear, TIM_CHANNEL_1 | TIM_CHANNEL_2} // {&driven_encoder_gear, TIM_CHANNEL_1 | TIM_CHANNEL_2} //
}; };
void encoder_all_start(void) void encoder_all_start(void)
{ {
for (uint8_t i = 0; i < (sizeof(m_uarts) / sizeof(encoder_t)); i++)
for (uint8_t i = 0; i < (sizeof(m_encoders) / sizeof(encoder_t)); i++)
{ {
HAL_TIM_Encoder_Start(m_uarts[i].tim_handler, m_uarts[i].tim_channel);
HAL_TIM_Encoder_Start(m_encoders[i].tim_handler, m_encoders[i].tim_channel);
} }
} }
void encoder_all_stop(void) void encoder_all_stop(void)
{ {
for (uint8_t i = 0; i < (sizeof(m_uarts) / sizeof(encoder_t)); i++)
for (uint8_t i = 0; i < (sizeof(m_encoders) / sizeof(encoder_t)); i++)
{ {
HAL_TIM_Encoder_Stop(m_uarts[i].tim_handler, m_uarts[i].tim_channel);
HAL_TIM_Encoder_Stop(m_encoders[i].tim_handler, m_encoders[i].tim_channel);
} }
} }
bool encoder_clear_counter(encoder_usage_t encoder) bool encoder_clear_counter(encoder_usage_t encoder)
{ {
for (uint8_t i = 0; i < (sizeof(m_uarts) / sizeof(encoder_t)); i++)
for (uint8_t i = 0; i < (sizeof(m_encoders) / sizeof(encoder_t)); i++)
{ {
if (encoder == i) if (encoder == i)
{ {
__HAL_TIM_GET_COUNTER(m_uarts[i].tim_handler) = 0;
__HAL_TIM_GET_COUNTER(m_encoders[i].tim_handler) = 0;
return true; return true;
} }
} }
@ -48,9 +48,9 @@ bool encoder_clear_counter(encoder_usage_t encoder)
void encoder_all_clear_counter(void) void encoder_all_clear_counter(void)
{ {
for (uint8_t i = 0; i < (sizeof(m_uarts) / sizeof(encoder_t)); i++)
for (uint8_t i = 0; i < (sizeof(m_encoders) / sizeof(encoder_t)); i++)
{ {
__HAL_TIM_GET_COUNTER(m_uarts[i].tim_handler) = 0; //
__HAL_TIM_GET_COUNTER(m_encoders[i].tim_handler) = 0; //
} }
} }
@ -60,13 +60,13 @@ bool encoder_read_with_encoder(encoder_usage_t encoder, uint32_t *encoder_value)
switch (encoder) switch (encoder)
{ {
case CAMERA_ENCODER: case CAMERA_ENCODER:
*encoder_value += (short)__HAL_TIM_GET_COUNTER(m_uarts[encoder].tim_handler);
__HAL_TIM_GET_COUNTER(m_uarts[encoder].tim_handler) = 0; /* 清零 */
*encoder_value += (short)__HAL_TIM_GET_COUNTER(m_encoders[encoder].tim_handler);
__HAL_TIM_GET_COUNTER(m_encoders[encoder].tim_handler) = 0; /* 清零 */
get_encoder_value_flag = true; get_encoder_value_flag = true;
break; break;
case DRIVEN_ENCODER_GEAR: case DRIVEN_ENCODER_GEAR:
*encoder_value += (short)__HAL_TIM_GET_COUNTER(m_uarts[encoder].tim_handler);
__HAL_TIM_GET_COUNTER(m_uarts[encoder].tim_handler) = 0; /* 清零 */
*encoder_value += (short)__HAL_TIM_GET_COUNTER(m_encoders[encoder].tim_handler);
__HAL_TIM_GET_COUNTER(m_encoders[encoder].tim_handler) = 0; /* 清零 */
get_encoder_value_flag = true; get_encoder_value_flag = true;
break; break;
@ -299,13 +299,3 @@ void encoder_switch_toggle_on_off_state(encoder_usage_t encoder)
// error // error
} }
} }
void encoder_data_acquisition_schedule(void)
{
static uint32_t acquisition_lastprocess;
if (sys_haspassedms(acquisition_lastprocess) > 1)
{
acquisition_lastprocess = HAL_GetTick();
printf("acquisition_lastprocess:%d\r\n", acquisition_lastprocess);
}
}

1
usersrc/encoder.h

@ -44,4 +44,3 @@ void encoder_switch_encoder_clear_count_and_structer_count(encoder_usage_t encod
void encoder_light_switch_set_color_and_brightness(encoder_usage_t encoder, encoder_light_color_table_t color, uint16_t brightness); void encoder_light_switch_set_color_and_brightness(encoder_usage_t encoder, encoder_light_color_table_t color, uint16_t brightness);
void encoder_switch_close_light(encoder_usage_t encoder); void encoder_switch_close_light(encoder_usage_t encoder);
void encoder_switch_toggle_on_off_state(encoder_usage_t encoder); void encoder_switch_toggle_on_off_state(encoder_usage_t encoder);
void encoder_data_acquisition_schedule(void);

7
usersrc/usermain.c

@ -110,6 +110,12 @@ void netif_link_down_user_func(void)
encoder_light_switch_set_color_and_brightness(DRIVEN_ENCODER_GEAR, ENCODER_LIGHT_COLOR_RED, encoder_light_max_brightness); encoder_light_switch_set_color_and_brightness(DRIVEN_ENCODER_GEAR, ENCODER_LIGHT_COLOR_RED, encoder_light_max_brightness);
} }
/* 重写了该函数,需要添加编码器采集部分的逻辑 */
void HAL_IncTick(void)
{
uwTick += uwTickFreq;
}
void user_main() void user_main()
{ {
printf("==============ethernet_sound_acquisition_card=============\r\n"); printf("==============ethernet_sound_acquisition_card=============\r\n");
@ -129,7 +135,6 @@ void user_main()
at_cmd_processer_try_process_data(); at_cmd_processer_try_process_data();
encoder_light_schedule(); encoder_light_schedule();
port_do_debug_light_state(); port_do_debug_light_state();
// encoder_data_acquisition_schedule();
osDelay(1); osDelay(1);
} }
} }
Loading…
Cancel
Save