본문 바로가기

ALL111

[C/C++] Call By Value, Call by address /* Call By Value : 값에 의한 호출*/ #include using namespace std; // swap 함수1: call by value void swap_1 (int a, int b){ int tmp = 0; // 항상 초기값을 넣어주는 습관을 들이자 tmp = a; a = b; tmp = b; } // swap 함수2: call by address void swap_2 (int* c, int* d){ int tmp = 0; tmp = *c; // 간접 참조 연산자 *c = *d; *d = tmp; } int main() { int m1=2; int n1=9; int m2=3; int n2=10; swap_1(m1,n1); // 값에 의한 호출, call by value swap_2(.. 2023. 8. 7.
[통신] USB(Universal Serial Bus : 범용 직렬 버스) 기초 USB 개요 - USB는 Universal Serial Bus의 줄임말 - USB는 모든 기기(디바이스) 간의 가장 호환성이 높은 통신 인터페이스이다. - MCU(마이컴) 통신을 위한 통신에는 I2C/UART/SPI가 있었지만, USB는 MCU통신 보다는 디바이스간의 통신에 초첨이 맞춰져 있다. (보통은 PC와의 통신) - USB 2.0에서 PC와 주변기기를 시초로 USB 3.0이 되면서 전송속도가 매우 좋아져 대용량 저장장치에도 쓰인다. USB 특징 - 쉬운장착 : 일반적인 PC에는 USB 포트가 있음 - 편리한 케이블 : USB 커넥터는 RS232 등의 다른 인터페이스보다 작고 단순하다. (케이블 길이는 최대 5M, 리피터 사용시 최대 30M) - 무선옵션 : 원래 유선 인터페이스 였지만 현재는 US.. 2023. 8. 7.
[MCU] ESP32-WROOM-32 데이터시트 분석 개발 대상이 되는 MCU에 대해서 잘 알고 있는 것은 너무나 중요한 일이다. 인터넷에서 자료들을 많이 구할 순 있지만, MCU를 직접 만든 제조사의 데이터시트는 제일 믿음직하다. 오늘은 ESP32-DevkitV4 개발 기트의 MCU, ESP32-WROOM-32 시리즈의 공식 데이터시트를 분석해보고자 한다. (1) 2가지 MCU에 대한 정보를 포함하고 있다. ESPRESSIF 제조사에서 제공되는 데이터시트는 2가지 MCU에 대한 정보들을 담고 있다. ESP32-WROOM-32D는 무선안테나가 내장 되어있고, ESP32-WROOM-32U는 무선안테나가 포함되어 있지않아 외장안테나를 꽃을 수 있도록 안테나 단자가 구성되어있다. 딱 안테나의 내외장의 구별일 분, 성능,스펙은 전부 동일하다. (2) 개요 ESP3.. 2023. 8. 3.
납땜(Soldering) 장비/ 방법 하드웨어 회로를 설계하고, 수많은 테스트를 해야하는 임베디드 분야는 납땜의 방법을 아는 것이 기본적인 소양이라고 생각한다. 물론 필자도 흔히 땜쟁이, 납땜장인 이라 불리는 분들의 실력에 조금도 미치치 못하지만 하드웨어 시스템을 다루고 개발하다 보면 꼭 납땜을 해야하는 경우가 발생된다. 사실 납땜은 이론보다는 실습이 중요하긴하다. 대부분의 개발이 그렇듯 실제로 많이 해봐야 실력이 향상된다. 납땜은 영어로 Soldering(솔더링)이라 한다. 엄밀하게 정의하면 용접 (서로 다른 금속 재료 사이에 고열을 가해 붙이는 기술)의 일종이라고 한다. 1. 작업 온도에 따른 납땜 종류 경납땜 (Brazing) - 450도 이상의 납땜 연납땜 (Soldering) - 450도 이하의 납땜 -> PCB를 조립하는데 사용하.. 2023. 7. 29.
[L7] DNS(Domain Name System) 1. DNS 개요 우리가 인터넷을 사용할 때 생각하는 것 보다 많은 사이트에 접속하고 대부분 사이트의 주소를 직접 입력하기보다는 기존에 만들어놓은 포털 사이트, 메일 배너, 검색 결과 등의 링크를 통해 접속한다. www.naver.com을 입력하고 네이버 포털 사이트로 접속하지만 실제로 네트워크 통신에서는 202.179.177.21같은 IP주소로 사용하여 접속되고 있다. 사용자의 입장에서 보면 수많은 IP주소를 외우고 있기에는 매우 큰 어려움이 있다. 그리고 IP주소는 대부분은 고정적이지만, 유동적으로 바뀌는 경우도 많기 때문에 IP주소를 줄줄이 외우고 파악하여 접속하기는 매우 번거로운 작업이 될 것 이다. 숫자로 구성된 IP주소보다는 역시 의미있는 문자열로 구성된 도메인 주소가 우리가 인식하고 기억하기.. 2023. 5. 30.
[L3~L7] VPN(Virtual Private Network) 1. VPN 개념 VPN은 Virtual Private Network 의 약자로 번역하여 가상 사설망이라고 한다. 통상적으로 네트워크는 WAN과 LAN영역으로 나눌 수 있으며, 국내에서는 쉽게 WAN은 ISP(KT, LG, SKT)의 영역, LAN은 WAN 영역에서의 하나의 IP를 공유기 또는 NAT 장비를 통해 구축된 사설망을 의미한다. (엄연히 통상적인 기준이다.) VPN을 이해하기 앞서 네트워크 토폴로지를 이해하면 도움이 된다. 우리가 흔히 말하는 인터넷이라는 망 (WAN)은 완전연결형 유형의 토폴로지로 구현이 되어 있다. 중간중간 라우터 장비를 이루어지며 전 세계의 사설망 (LAN)을 이어준다. 즉 모든 LAN을 라우터, 중계장비로 연결한 형태가 WAN 네트워크이다. 우리는 이 네트워크에서 하나의.. 2023. 5. 27.