[STM32] 17. I2C 통신 함수 종류
·
🧊 STM32
📌 1. 주요 I2C HAL 함수STM32Cube HAL 기능을 기반으로 차단 모드, 인터럽트 모드 또는 DMA 모드의 3가지 모드로 I2C 데이터 전송을 수행할 수 있다.⚙️ 1. Blocking Mode통신은 폴링 모드로 수행되며, 모든 데이터 처리 상태는 전송 완료 후 동일한 기능으로 반환된다.HAL_I2C_Master_Transmit()HAL_I2C_Master_Receive()HAL_I2C_Slave_Transmit()HAL_I2C_Slave_Receive()HAL_I2C_Mem_Write()HAL_I2C_Mem_Read()⚙️ 2. Non-Blocking Mode통신은 Interrupts 또는 DMA를 사용하여 수행되며, 이러한 함수는 전송 시작 상태를 반환한다. 인터럽트 모드를 사용할 때는..
[STM32] 14. 콜백 함수 호출 과정
·
🧊 STM32
이 전 포스팅에서 HAL 라이브러리가 제공하는 인터페이스(HAL_UART_RxCpltCallback)를 사용하여 UART Interrupt를 간단한 기능을 구현하였다. HAL_UART_RxCpltCallback 함수는 STM32 HAL 라이브러리에서 UART 데이터를 수신할 때 사용되는 콜백 함수이다. 이 함수는 UART 인터럽트를 사용하여 데이터를 비동기적으로 수신할 때 호출된다. 임베디드 시스템 관점에서 이 콜백 함수가 호출되는 과정을 간단히 설명하겠다.1. HAL_UART_RxCpltCallback 함수 호출 과정1. UART 인터럽트 활성화: 먼저, UART 인터럽트를 활성화한다. 이는 HAL_UART_Receive_IT 함수를 호출하여 UART 모듈이 데이터를 수신할 때 인터럽트를 발생시킬 수 ..
[C, C++] #define을 사용하는 이유
·
C, C++
Build의 순서는 아래와 같다. 소스코드 -> 전처리 -> 컴파일 -> 링크 -> 실행 C언어를 처음 공부할 때, #define을 사용하지 않으면 전처리 과정을 거치지 않는다고 생각한 적이 있다. #으로 시작하는 문장은 전부 전처리기 지시자임에도 #include는 전처리기라고 생각하지 않았다. 항상 C언어를 실습할 때, 의무적으로 #inlcude 를 작성한 폐해이다. 전처리란 무엇인가? 컴파일 전에 처리해야 하는 일이고 전처리를 수행하는 장치를 전처리기라고 한다. 전처리기는 헤더 파일을 불러오거나, 소스 파일 내부의 특정 문자열을 상수 또는 문자로 치환하거나, 조건에 따라서 코드의 일부를 컴파일하거나 컴파일하지 못하게 하는 선택 기능을 제공한다. 궁금증이 하나 발생한다. #define은 왜 사용하는가?..
[딥러닝] ReLU 함수가 비선형 함수인 이유...! (선형함수와 비선형함수의 차이점)
·
🐍 Python/Deep Learning
안녕하세요. 오늘은 딥러닝에서 가장 많이 사용되는 ReLU를 통해 비선형함수와 선형함수의 차이점을 알아보겠습니다. 머신러닝에서 선형함수를 통해 회귀문제를 해결할 수 있게 되었고, 더 복잡한 문제를 풀기 위해 비선형 함수 Sigmoid, Tanh, ReLU를 나오기 시작합니다. 현재까지 복잡한 문제를 딥러닝 분야에서 ReLU를 사용하는 것은 당연시 되고 있습니다. 바로, 본론으로 들어가겠습니다. TesorFlow, Keras, Pytorch를 통해 ReLU를 사용하는 것은 굉장히 간단합니다. 신호 및 시스템의 개념적 이야기로 가보겠습니다. ReLU는 왜 비선형 함수일까요? 선형 시스템과 비선형 시스템의 차이 선형성을 가지고 있으면 선형 시스템이고, 그 외는 비선형 시스템입니다. 선형성을 가지는 조건은 무엇..
18진수
'함수' 태그의 글 목록