| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- STM32ADC
- STM32Switch
- STM32Read
- STM32GPIO
- 클래스
- kotlin
- 아두이노
- 안드로이드
- Class
- 라즈베리파이 피코
- STM32
- MCU
- STM32인터럽트
- 스택
- 임베디드
- STM32LED
- Stack
- 컴포즈
- LinkedList
- Queue
- STM32폴링
- 자료구조
- Android
- 우송대
- 큐
- deque
- 우송대학교
- List
- GPIO
- 코틀린
- Today
- Total
목록전체 글 (77)
개발자의 생활
이번에는 STM32에 내장되어 있는 ADC를 사용해 보겠습니다. 1. ADC란ADC는 (Analog-to-Digital Converter)의 약자로 아날로그 신호를 디지털로 변환해 주는 장치입니다.2. ADC 과정Analog에서 Digital로 변환하는 과정에는 3단계가 있습니다. 1. 샘플링샘플링은 아날로그 신호 데이터를 일정한 간격의 시간마다 읽는 것을 말합니다. 샘플링 속도가 빠르면 연속적으로 들어오는 아날로그 값을 많이 읽을 수 있기 때문에 값이 빠르게 변하는 아날로그 값을 읽을 때 좋습니다.샘플링 시간은 클럭에 동기화돼서 읽기 때문에 클럭 속도가 빠를수록 샘플링 시간이 짧아집니다.*샘플링 속도를 지나치게 빠르게 하면 데이터의 신뢰성이 떨어지게 됩니다* 2. 양자화아날로그 데이터는 0~1V 사이..
https://han-studio.tistory.com/77 GPIO 입력_폴링[HAL](STM32G030F6P6)저번에는 GPIO 출력을 해보았으니 이번에는 입력을 해보겠습니다.GPIO 입력에는 폴링(Polling) 방식과 인터럽트(Interrupt) 방식이 있습니다. 이번에는 폴링 방식으로 해보겠습니다. 폴링 이란?CPU 가 일han-studio.tistory.com저번에는 폴링방식으로 GPIO 입력을 받아보았습니다.폴링방식의 입력은 CPU의 상황에 따라 실제 입력시간과 확인하는 시간 사이의 지연이 발생한다는 것과 CPU의 자원을 소모한다는 단점이 있었습니다.이번에는 지연이 발생하지 않는 인터럽트를 사용해서 GPIO입력을 받아보겠습니다. 이번 실습은 스위치 입력을 확인하기 위해 LED도 같이 사용할 ..
저번에는 GPIO 출력을 해보았으니 이번에는 입력을 해보겠습니다.GPIO 입력에는 폴링(Polling) 방식과 인터럽트(Interrupt) 방식이 있습니다. 이번에는 폴링 방식으로 해보겠습니다. 폴링 이란?CPU 가 일정 주기로 핀의 상태를 계속 감시하는 방식입니다.장점: 구현하기가 비교적 쉽습니다.단점: CPU를 계속 사용하므로 전력과 CPU 자원소모가 발생합니다. 이번 실습은 스위치 입력을 확인하기 위해 LED도 같이 사용할 것입니다.https://han-studio.tistory.com/76 STM32 처음 시작 & GPIO 출력[HAL](STM32G030F6P6)STM32 제어공부 첫 번째로는 프로젝트 생성 및 실행과 다양한 설정을 해보고 HAL 드라이버를 사용해서 GPIO 출력을 제어해 보겠습니..
STM32 제어공부 첫 번째로는 프로젝트 생성 및 실행과 다양한 설정을 해보고 HAL 드라이버를 사용해서 GPIO 출력을 제어해 보겠습니다. 1. STM32 프로젝트 생성가장 먼저 STM32를 사용하기 위해 프로젝트를 생성해 보겠습니다.예전에는 STM32 CubeIde에서 바로 프로젝트를 생성할 수 있었지만 지금은 CubeMX를 통해 생성하도록 변경된 거 같습니다.CubeMX를 실행 후 사용할 MCU를 선택 후 Start Project를 클릭합니다.선택한 MCU의 GPIO핀과 내부 장치들에 대한 설정을 GUI 환경에서 편하게 할 수 있는 설정창이 나오게 됩니다. Projecj Manager에서 프로젝트 이름과 생성 경로를 지정해 주고 작업할 IDE를 선택해 주세요.저의는 STM32 CubeIDE를 선택하..
저는 지금까지 하드웨어를 개발할 때 Atmega 또는 ESP32를 아두이노 환경에서 개발을 하였습니다.아두이노는 교육용으로 개발된 것이지만 간단한 임베디드 시스템을 개발하거나 프로토타입으로 검증할 때도 부족하지 않다고 생각각 했습니다. 더군다나 지금은 정식적으로 ESP32_S3와 ARM 기반의 르네사스 MCU 가 UnoR4에 탑재되고 OS 도 탑재할 수 있는 Uno Q 가 출시되면서 단순히 교육용을 넘어 실험과 연구 목적으로도 사용할 수 있을 정도가 되었습니다. 1. STM32 를 공부하는 이유하지만 저는 STM32 를 공부하기로 했습니다. 이유는 여러 가지가 있습니다.하드웨어 자원의 최적화: 레지스터 레벨에서 내부 클럭 트리를 자유롭게 구성할 수 있고, DMA(Direct Memory Access)를 ..
코루틴 은 코틀린에서 비동기 처리를 쉽고 가볍게 할 수 있도록 제공하는 라이브러리입니다. 비동기 란순차적으로 실행되는 것을 동기 라고 합니다. 하지만 서비스를 개발하다 보면 네트워크를 통해 데이터를 주고받는 작업이 거의 필수적이지만 이런 작업은 시간이 얼마나 걸릴지 모른다는 것입니다. 그래서 이런 작업은 호출을 한 뒤에 언제 응답이 올지 모르기 때문에 미뤄놓고 다음 작업을 먼저 수행하고 응답이 왔을 때 이어서 수행하는 것을 비동기 작업이라고 합니다. 그럼 이런 작업이 어떻게 가능할까요? OS는 여러 개의 스레드를 가지고 있습니다. 스레드는 마치 여러 프로그램을 동시에 실행시킬 수 있는 것처럼 도와주는 역할을 합니다. 하지만 스레드 또한 개수가 제한적이고 사용할 때 비용이 크기 때문에 남용해서는 안됩니다...