Вс дек 10, 2023 12:49:17
volatile uint32_t fanCount = 0;
uint8_t changed=0;
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
if (htim->Instance == TIM3)
{
if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_1)
{
TIM3->CNT = 0;
fanCount = HAL_TIM_ReadCapturedValue(&htim3, TIM_CHANNEL_1);
changed=1;
}
}
}
while (1) {
if(changed) {
uint32_t tmp = fanCount;
changed=0;
printf("%u\n", tmp);
}
}
57
56
0
56
57
57
57
0
57
56
57
57
57
56
57
0
57
56
Вс дек 10, 2023 14:20:37
Вс дек 10, 2023 20:07:31
Вс дек 10, 2023 22:10:42
Пн дек 11, 2023 00:38:23
Пн дек 11, 2023 14:55:32
А с чего вы решили, что 56 или 57 являются правильными значениями?
Дайте расклад по частотам таймера и сигнала, включая форму сигнала с Холла.
С чего вдруг результат шестиразрядный в 32-разрядном контроллере?
Пн дек 11, 2023 15:28:02
Пн дек 11, 2023 17:09:53
Из каких соображений вы выбирали предделитель таймера?
Вт дек 12, 2023 21:37:47
Ср дек 13, 2023 05:00:39
Ср дек 13, 2023 08:08:18
Ср дек 13, 2023 08:17:11
Ср дек 13, 2023 21:38:12
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
Чт дек 14, 2023 18:53:41
Чт дек 14, 2023 21:16:54