영상이 추천된 이유가.... _ -_; HAL_drvier를 사용 하시는군요 저는 보통 LL_driver 를 사용하는데...;; HAL_Delay 대신 HAL_GetTick ( );이것 한번 사용해보세요 ~ 특정 시간을 가져야 하는 함수와 계속 호출 해야 하는 함수를 썩어서 만들 수 있어요 #define TICK_CHK 1000 int main ( void ) { unsigned int Tick; MPU_Initialization ( ); Devices_Initialization ( ); Tick = HAL_GetTick ( ); while ( true ) { if ( HAL_GetTick ( ) - Tick > TICK_CHK - 1 ) { Tick = HAL_GetTick ( ); HAL_GPIO_TogglePin ( GPIO_PORT_LEDxA, GPIO_PIN_LEDxA ); // 1초마다 점멸 } cFORM.Process ( ); cDBUG.Process ( ); } }
@engineerlyful
Жыл бұрын
그렇군요 감사합니다~ delay 대신 사용해보도록 하겠습니다. HAL 드라이버보다 LL을 사용하시는데에 특별한 이유가 있을지 여쭤봐도 될까요? 저는 혼자 공부를 하다보니 별 생각없이 먼저 눈에 띈 HAL로 하고있습니다.^^;
@권성호-n1l
Жыл бұрын
@@engineerlyful ㅎㅎ 음.. stm32가 3개 라이브러리가 있습니다. 초장기에는 std 라이브러리가 있었고 현재의 ll 드리이버로 변경되어다고 생각하시면 되고요 고전 avr pic 그런 형태의 함수라고 생각하시면 됩니다. hal 은 pc 라이브러리 구조 형태라고 생각하시면 편합니다. 레지스터를 몰라도 구동하는 이상 없는 구조이죠 그래서 pc단 유저도 쉽게 접근할수 있겠죠 ㅎㅎ
@engineerlyful
Жыл бұрын
@@권성호-n1l 아.. 그렇군요. 친절하게 설명해주셔서 감사합니다. stm32를 레지스터 레벨에서 다루긴 꽤나 어려울 것 같아요. 저도 언젠가 실력이 되면 LL을 사용할 수 있길 꿈꿔봅니다.ㅎㅎ 감사합니다.
Пікірлер: 4