본문 바로가기

STM32CubeIDE4

[임베디드] SSD1306 OLED 모듈 제어 - I2C I2C I2C(Inter-Integrated Circut)는 SPI와 마찬가지로 IC 간의 단거리 통신을 위해 고안된 프로토콜입니다. Clock 신호를 사용하여 동기 방식으로 통신하기 때문에 사전에 데이터 전송 속도 등을 맞추지 않아도 된다는 특징이 있습니다. I2C에서는 풀업 저항을 사용하여 기본적으로 HIGH 상태입니다. 또한 SPI와 다르게 오직 2개의 핀만 사용한다는 것이 특징입니다. SPI는 전이중 통신이 가능하지만, 슬레이브가 추가될 때마다 슬레이브 선택을 위한 핀이 추가로 필요합니다. 반면 I2C는 주소 체계를 사용하기 때문에 2개의 핀만으로 여러 장치와 반이중 통신이 가능합니다. 데이터 형식위 데이터 프레임 형식은 마스터에서 슬레이브에 데이터를 송신(Master write / Slave r.. 2024. 9. 2.
[임베디드] 74HC595D FND 모듈 제어 - SPI SPISPI(Serial Peripheral Interface)는 주변 장치와 직렬로 통신하기 위한 인터페이스 입니다. 주로 근거리에서 칩(IC)과 칩 사이에 통신을 위해서 사용합니다. 클럭SPI는 지난 글에서 GPIO를 이용하여 FND 모듈을 제어한 것과 같이 클럭 주기에 맞춰서 데이터를 송수신합니다. UART와는 다르게 통신 속도를 지정하지 않고, 클럭을 사용하기 때문에 속도 제한이 없습니다.SPI의 클럭 위상(CPHA, Clock Phase)은 1 Edge와 2 Edge로 나뉩니다. 클럭의 극성(CPOL, Clock Polarity)이 HIGH인 경우 1 Edge에서는 클럭이 하강하는 시점의 MOSI/MISO 상태를 확인하고, 2 Edge에서는 클럭이 상승하는 시점에 MOSI/MISO 상태를 확인합.. 2024. 8. 10.
[임베디드] 74HC595D FND 모듈 제어 - GPIO FND 모듈7-SegmentFND란 Flexible Numeric Display(가변 숫자 표시기)의 약자로, 흔히 7-Segment라고 부릅니다. 7-Segment 표시 장치는 위와같이 7개의 선분으로 숫자 및 문자를 표현합니다. 또한 소수를 나타내기 위해서 숫자의 오른쪽 아래에 소수점(DP)이 붙는 경우도 있습니다.7-Segment는 8비트를 사용하여 A~G, DP 위치의 LED를 제어합니다. 위와 같이 각 자리에 매핑되는 비트를 0으로 설정하면 해당 LED가 켜지는 방식입니다. 4-Bits4Bits FND 모듈은 7-Segment 4개를 사용하여 4자리수를 표현하는 모듈입니다. 각 자리수는 하위 4비트를 사용하여 표현합니다. GPIO를 이용한 모듈 제어 FND 모듈을 제어하기 위해서는 SCLK, R.. 2024. 8. 7.
[임베디드] FT232RL USB 모듈 제어 - UART UARTUART(Universal asynchronous receiver/transmitter)란 병렬 형태의 데이터를 직렬(Serial) 방식으로 전환하여 전송하는 통신 방법입니다. UART는 대부분 3.3V ~ 5V를 사용하기 때문에 -12V ~ 12V을 사용하는 RS-232, RS-485와 같은 통신 표준으로 변경하여 전달하는 경우가 많습니다.TX(송신)와 RX(수신) 2개의 핀을 사용하며, 데이터 통신을 위한 클럭을 사용하지 않기 떄문에 송신측과 수신측에서 사전에 baud rate, data size 등을 설정해야합니다.데이터 형식Start bit : 통신의 시작을 의미하는 비트Data bit : 데이터를 표현하는 비트, 5 ~ 8비트를 사용합니다.Parity bit : 오류 검증을 하기 위한 .. 2024. 7. 29.