условно работающий первый канал, не вычисляется только duration
This commit is contained in:
@@ -119,6 +119,7 @@ int main(void)
|
||||
|
||||
{
|
||||
HAL_Delay(1000);
|
||||
LED_On();
|
||||
if (isIwdgReset) {
|
||||
char msg[] = "RESET_IWDG\r\nINIT_COMPLETE\r\n";
|
||||
CDC_Transmit_FS(msg, 27);
|
||||
@@ -126,6 +127,7 @@ int main(void)
|
||||
char msg[] = "INIT_COMPLETE\r\n";
|
||||
CDC_Transmit_FS(msg, 15);
|
||||
}
|
||||
LED_Off();
|
||||
}
|
||||
HAL_IWDG_Refresh(&hiwdg);
|
||||
/* USER CODE END 2 */
|
||||
@@ -136,13 +138,51 @@ int main(void)
|
||||
/* USER CODE END WHILE */
|
||||
|
||||
/* USER CODE BEGIN 3 */
|
||||
LED_GPIO_Port->ODR |= LED_Pin;
|
||||
HAL_TIM_Base_Start(&htim2);
|
||||
HAL_TIM_IC_Start(&htim2, TIM_CHANNEL_1);
|
||||
HAL_TIM_IC_Start(&htim2, TIM_CHANNEL_2);
|
||||
htim2.Instance->DIER = (TIM_DIER_UIE | TIM_DIER_CC2IE);
|
||||
while (1) {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
HAL_Delay(100);
|
||||
LED_GPIO_Port->ODR ^= LED_Pin;
|
||||
}
|
||||
HAL_Delay(500);
|
||||
HAL_IWDG_Refresh(&hiwdg);
|
||||
// for (int i = 0; i < 7; i++) {
|
||||
// HAL_Delay(100);
|
||||
// LED_GPIO_Port->ODR ^= LED_Pin;
|
||||
// }
|
||||
// HAL_Delay(500);
|
||||
BufferItem_t bi;
|
||||
if (ChannelBuffer_pop(&buffer_ch1, &bi)) {
|
||||
char tmp[64];
|
||||
LED_On();
|
||||
CDC_Transmit_FS(tmp, sprintf(tmp, "D1;0x%llX,0x%lX\r\n", bi.timepoint, bi.duration));
|
||||
LED_Off();
|
||||
}
|
||||
|
||||
if (buffer_ch1.overruns) {
|
||||
uint32_t overs = buffer_ch1.overruns;
|
||||
buffer_ch1.overruns = 0;
|
||||
|
||||
char tmp[64];
|
||||
LED_On();
|
||||
CDC_Transmit_FS(tmp, sprintf(tmp, "D1OVR;0x%lX\r\n", overs));
|
||||
LED_Off();
|
||||
}
|
||||
|
||||
if (ChannelBuffer_pop(&buffer_ch2, &bi)) {
|
||||
char tmp[64];
|
||||
LED_On();
|
||||
CDC_Transmit_FS(tmp, sprintf(tmp, "D2;0x%llX,0x%lX\r\n", bi.timepoint, bi.duration));
|
||||
LED_Off();
|
||||
}
|
||||
|
||||
if (buffer_ch2.overruns) {
|
||||
uint32_t overs = buffer_ch2.overruns;
|
||||
buffer_ch2.overruns = 0;
|
||||
|
||||
char tmp[64];
|
||||
LED_On();
|
||||
CDC_Transmit_FS(tmp, sprintf(tmp, "D2OVR;0x%lX\r\n", overs));
|
||||
LED_Off();
|
||||
}
|
||||
}
|
||||
/* USER CODE END 3 */
|
||||
}
|
||||
|
Reference in New Issue
Block a user