![[ARM] STM32_Systick 사용 버튼 LED 동작](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9ovvS%2FbtsHiHdneB6%2F5DpzTBXma3YipySnIrir01%2Fimg.png)
[ARM] STM32_Systick 사용 버튼 LED 동작ARM/기타2024. 5. 9. 00:10
Table of Contents
내부 클럭(HSI) : 불안정 → Clock 주기가 외부의 영향으로 변할 수 있음
외부 클럭(HSE) : 안정적 → 정확한 시간을 재야할 때 사용
- 전체 코드
https://github.com/k1minseok/STM32_ButtonLED_0423
GitHub - k1minseok/STM32_ButtonPush_LEDON_0423
Contribute to k1minseok/STM32_ButtonPush_LEDON_0423 development by creating an account on GitHub.
github.com
→ delay 함수를 사용하지 않음(non-blocking 방식 / delay 사용 : blocking 동작 방식)
static uint32_t prevTime = 0;
uint32_t curTime = HAL_GetTick();
switch (modeState)
{
case LED1_ON:
if(curTime - prevTime < 200)
return;
prevTime = curTime;
// if (timeTick != 0)
// return;
LED_toggle(&LED_1);
LED_OFF(&LED_2);
LED_OFF(&LED_3);
// timeTick = 200;
break;
위와 같이 `SystickCallback()` 함수를 이용하지 않고 system tick을 직접 가져오는 방식으로 사용할 수 있음.
'ARM > 기타' 카테고리의 다른 글
[ARM] STM32_버튼 이용 LED 조작 (0) | 2024.05.09 |
---|
@민바Minba :: Minba's blog
Let's Be Happy!
도움이 되었으면 좋겠어요 :)