GPIO5 10. [STM32] GPIO예제(feat. Open Drain) 이번장에서는 GPIO의 단순 bit I/O기능을 이용한 실습을 해보자.LED를 켜고 끄는 예제인데 단순히 껐다, 켰다하는건 이전장에서 많이 해봤으므로 여기서는 여러개의 LED를 배열해 좌우로 왔다갔다 하도록 만들것이다.이때 출력 방식은 앞의 장에서는 설명하지 않았던 Open Drain방식을 사용한다. 본 블로그는 STM32를 소프트웨어 엔지니어 관점에서 바라본 블로그입니다. 따라서 회로등의 전자공학 관련 내용은 사실과 다를 수 있습니다. 본 블로그에서 사용된 MCU 및 개발보드는 다음과 같습니다. NUCLEO-F429ZI (STM32F429ZIT LQFP144) NUCLEO-F439ZI (STM32F439ZIT LQFP144) .. 2024. 9. 23. 9. [STM32] Bit-banding 이전 장에서 살펴본 바와 같이 GPIO를 제어할때 HAL Library를 사용하거나 레지스터를 직접 엑세스 해서 제어 할 수 있었다. 하지만 HAL Library내부로 들어가면 어차피 레지스터를 엑세스하는게 전부이므로 사실 둘다 동일한 방법이라고 볼 수 있다.HAL Library 내부를 살펴볼때 확인했겠지만 각 레지스터는 대부분 비트단위로 제어를 해야 하는데 우리가 엑세스할 때는 uint32_t를 사용해 4바이트 단위로 엑세스를 해야하기 때문에 각종 Mask와 비트 연산자들을 사용해야 한다. 이 장에서 소개할 Bit-banding은 이런 접근을 좀더 편하게 할 수 있도록 해주는 방법이다. 즉 각 레지스터 하나의 비트를 남는 메모리에 4바이트 단위로 할당해서 각 비트를 엑세스 할 수 있도록 해주는 방식이다.. 2024. 9. 10. 8. [STM32] GPIO - Peripheral Register 2 앞장에서 HAL Library의 소스를 통해 GPIO의 레지스터를 살펴보았다.이번장에서는 앞에서 살펴보지 않은 GPIO초기화 관련 내용들을 살펴보자. 본 블로그는 STM32를 소프트웨어 엔지니어 관점에서 바라본 블로그입니다. 따라서 회로등의 전자공학 관련 내용은 사실과 다를 수 있습니다. 본 블로그에서 사용된 MCU 및 개발보드는 다음과 같습니다. NUCLEO-F429ZI (STM32F429ZIT LQFP144) NUCLEO-F439ZI (STM32F439ZIT LQFP144) " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 1. GPIO 초기화 함수GPIO의 초기화 함수는 main함수에서 .. 2024. 8. 13. 7. [STM32] GPIO - Peripheral Register 1 이번 시간에는 앞에서 만든 GPIOTest 프로젝트에서 사용된 HAL Library 의 소스를 살펴볼 것이다.사실 소스를 보면 대부분의 루틴은 Peripheral Register를 엑세스하는 일이다. 따라서 이번장에서는 HAL Library의 내부 코딩을 살펴보는 것이지만 실제로는 GPIO의 레지스터의 구성을 알아보는 것이다.단순히 라이브러리로 제공되는 함수만 기계적으로 쓸게 아니라 내부가 어떻게 구성되어 있는지 보는것도 의미가 있을 것이다. 다행히 대부분의 소스는 우리가 확인할 수 있다. 본 블로그는 STM32를 소프트웨어 엔지니어 관점에서 바라본 블로그입니다. 따라서 회로등의 전자공학 관련 내용은 사실과 다를 수 있습니다. 본 블로그에서 사용된 MCU 및 개발보드는 다음.. 2024. 7. 26. 6. [STM32] GPIO 기초 이번 시간에는 일반적인 GPIO의 Bit I/O기능을 구현해 보자.사실 앞서 만든 Hello World에서 이 기능은 이미 살펴봤으나 이번장에서 다시 한번 정리하고 이 소스로 다음장에서 HAL Library를 뜯어보도록 하겠다. 본 블로그는 STM32를 소프트웨어 엔지니어 관점에서 바라본 블로그입니다. 따라서 회로등의 전자공학 관련 내용은 사실과 다를 수 있습니다. 본 블로그에서 사용된 MCU 및 개발보드는 다음과 같습니다. NUCLEO-F429ZI (STM32F429ZIT LQFP144) NUCLEO-F439ZI (STM32F439ZIT LQFP144) " data-ke-type="html">HTML 삽입미리보기할 수 .. 2024. 7. 25. 이전 1 다음