hal_gettick1 STM32 ] HAL_GetTick() 오버플로우에 대한 의문 Non Blocking 코드를 작성할 때 아래와 같은 구문을 많이 작성한다. 100ms 간격으로 무언가 실행하는 코드이다. 이때 의문이 들 수 있다. 오버플로우가되면 어떡하지, 그래도 100ms 간격으로 실행될까?uint32_t start_tick= HAL_GetTick();while (1){ if (HAL_GetTick() - start_tick >= 100) { start_tick = HAL_GetTick(); // do something }} 결론은 그렇다이다. 다음의 쉬운 예제를 보자.start_tick(b)이 255이고 current_tick(a)이 오버플로우가 되서 0이 되었다면 차이(c)는 1이어야 맞을 것이다. uint8_t a, b, c;a =.. 2022. 12. 2. 이전 1 다음 반응형