Computer Science/Embedded Software (14) 썸네일형 리스트형 [Embedded Software] SPI Communication 실습 + 한국항공대학교 최차봉 교수님의 임베디드 SW 과목 내용을 정리한 글입니다. SPI를 이용하여 Master / Slave를 제작하라. 2명이 한 조가 되어 Master 1대, Slave 1대로 실습한다. Serial Monitor에서 명령을 받아 Slave로 전송한다.- 't' 명령을 입력 받아 Slave에 전송한다.- 동시에 Slave에서 한 Time 이전의 데이터를 입력 받고 Serial Monitor에 출력한다. Master에서 't'명령을 받으면 현재 Counter 값을 Master에 전송한다.- 매 초마다 1씩 증가하는 Counter를 유지한다.- ISR (Interrupt Service Routine)을 .. [Embedded Software] SPI Communication + 한국항공대학교 최차봉 교수님의 임베디드 SW 과목 내용을 정리한 글입니다. Asynchronous Communication Limitation (UART) 클럭 대신 start bit, stop bit을 사용한다. 1. Problems when two systems with slightly different clocks = 두 시스템간의 싱크가 맞지 않아 클럭이 다를 수 있다. 2. A lot of Overhead on Every Byte = 8 bit 데이터를 전송하는데 2 bit가 더 들어가기 때문에 효율이 80%밖에 되지 않는다. 3. Complex Hardware required = 클럭 대신 데이터를 갖고 싱크를 맞춰야하기 때문에 하드웨어가 복잡해진다. 4. If the receiver is.. [Embedded Software] UART Communications 실습 + 한국항공대학교 최차봉 교수님의 임베디드 SW 과목 내용을 정리한 글입니다. UART를 이용하여 Server / Client를 제작하라. 3명이 한 조가 되어, Server 1대, Client 2대(id로 구분)로 실습한다. '#' + + ( 3 Byte ASCII) - : Client id이다. '0' 또는 '1'이다. - : LED Blink 횟수이다. '0'~'9'이다. Client에서 받은 Data 정보에 따라 LED를 Blink한다. - Client0에서 Data를 받을 경우, Pin12에 연결된 LED를 점등한다. - Client1에서 Data를 받을 경우, Pin13에 연결.. [Embedded Software] Serial Communications + 한국항공대학교 최차봉 교수님의 임베디드 SW 과목 내용을 정리한 글입니다. Communication Protocols 1. Parallel Communication Protocol (병렬 통신) - Multiple Bits at a time: 여러 비트를 동시에 전송한다. - Fast, Easy to implement: 구현이 쉽고 빠르다. - Requires more wires: 많은 라인이 필요하다. => 없어지고 있는 추세이다. 2. Serial Communication Protocol (직렬 통신) - Single Bit at a time: 비르를 하나씩 순차적으로 전송한다. - Slow, Difficult to use: 사용이 어렵고, 느리다. - In general, 4 wires: 일반적.. [Embedded Software] PWM 실습 + 한국항공대학교 최차봉 교수님의 임베디드 SW 과목 내용을 정리한 글입니다. PWM (Pulse - Width - Modulation) 디지털 시그널을 이용하여 아날로그 신호를 모방하는 방법이다. 주어진 시간동안 신호가 높은 상태(1)와 낮은 상태(0)을 반복하는 주기가 존재한다. 주기동안 높은 상태(1)의 지속 시간인 Pulse Width를 조절하여 출력을 제어한다. analogWrite(pin, DutyValue) + DutyValue: 0 ~ 255 => LED 밝기를 제어할 수 있다. LED가 점점 밝아졌다 꺼졌다를 반복하는 아두이노를 제작하라. + LED의 극성에 주의해야한다. (+: 긴 부분, -: 짧은 부분) void setup() {.. [Embedded Software] Interrupt 실습 + 한국항공대학교 최차봉 교수님의 임베디드 SW 과목 내용을 정리한 글입니다. Polling을 이용하여 스위치를 누르면 불이 켜지고, 꺼지는 아두이노를 제작하라. int sw; int flag = 0; void setup() { pinMode(8, OUTPUT); pinMode(7, INPUT); Serial.begin(9600); } void loop() { sw = digitalRead(7); if (sw == HIGH) { flag = flag ? 0 : 1; Serial.print("flag = "); Serial.println(flag); } digitalWrite(8, flag); delay(1000); } 루프를 돌 때마다 7번 포트에 .. 이전 1 2 3 다음