달력

62024  이전 다음

  • 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

즉, 책들이 모여있는 집합체 입니다.

 

한가지 예시로 만약 번역기 라는 라이브러리가 있다고 가정해보자

 

  • 번역기 라이브러리
    1. 번역할 문장
    2. 번역될 문장
    3. 문장 읽기
    4. 문장 해석하기
    5. 문장 변화하기
    6. 등등..

위 내용 처럼 번역기 라는 라이브러리 안에 여러가지 기능들이 존재 한다.

 

우리가 그럼 라이브러리를 가지고 해야할 것은 우리가 만들 프로그램에 번역기 라이브러리를 불러와서 사용하고 싶은 기능들을 이용 하면 된다.

 

하지만 이미 만들어져 있는 프로그램을 응용하고 제재작 하는  API 와는 성질이 다르다.

 

다음엔 API에 대해 글을 써보도록 하겠다.

 

내 맘대로 이해하기 위한 끄적.

Posted by JakeGD
|

네트워크 게임의 서버 - 클라이언트 방식은 대부분 아래와 같은 방식으로 구현된다.

 

● 전용 서버 ( Dedicated Server ) 

● 리슨 서버 ( Listen Server )

● P2P ( Peer-to-Peer )

 

 


전용 서버

 - 서버의 모든 자원이 네트워크 서비스를 유지하는 데 이용됨.

 - 서버에서 호스트 생성되고 각 유저(클라이언트) 에서 접속.

 

 

리슨 서버

 - 전용 서버가 없으며 클라이언트 하나가 호스트를 맡게 된다.

 - 전용 서버에 비해 서비스 유지비용은 적으며 물리적으로 가까운 위치에 있는 클라이언트 끼리는 네트워크 반응 속도가 전용 서버보다 빠를 수 있다.

 - 호스트가 중간에 나갈 경우 진행 중인 게임을 일시 정지후 다른 클라이언트중에서 새로운 호스트를 선정함.

 

 

P2P

 - 참가한 모든 클라이언트가 호스트 역할을 겸한다.

 - 전용 서버가 없다는 점에 리슨 서버와 유사하지만 모두가 호스트를 겸하므로 게임 종료시 호스트 교체 과정이 없어진다.

 - 서버 유지비용 또한 발생하지 않으며, 클라이언트 끼리 직접 연결되어 있기때문에, 수가 적은 경우에 한해서 다른 방식보다 네트워크 반응 속도가 빠르다.

 - 단, 참여 인원이 많아질 수록 눈에 띄게 느려진다.

 - 따라서 통상 참가자 상한선을 지정하여 사용한다.

 

 

유니티 무료버전 서버 

 - PUN2 - Free (photon, 포톤)

 - 리슨 서버 방식.

Posted by JakeGD
|

SPI ( serial Peripheral Interface ) 시리얼 직렬 통신

 - 1 : N 통신을 지원하는 동기식 통식

 - 하나의 마스터와 하나 이상의 슬레이브 기기가 존재해야 한다.

 

Pin

 - MOSI ( Master Out, Slave In ) - 마스터에서 슬레이브로 데이터 출력하는 Pin

 - MISO ( Master In, Slave Out ) - 슬레이브에서 마스터로 데이터 출력하는 Pin

 - SCK ( Serial Clock ) - Clock 신호 Pin

 - SS ( Slave Select ) - 데이터 송수신할 슬레이브르 선택하기 위한 Pin

   - 다른 이름 ( NCS, CS, NSS, STE, CE( Chip Enable )

 

 

참고 자료 및 사이트

https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi

 

Serial Peripheral Interface (SPI) - learn.sparkfun.com

Introduction Serial Peripheral Interface (SPI) is an interface bus commonly used to send data between microcontrollers and small peripherals such as shift registers, sensors, and SD cards. It uses separate clock and data lines, along with a select line to

learn.sparkfun.com

 

'하드웨어' 카테고리의 다른 글

stm32 GPIO 설정  (0) 2020.05.20
임베디드란 ? (What is Embedded system?)  (0) 2019.11.20
하드 웨어 기초 - 전원, 그라운드  (0) 2019.10.11
Posted by JakeGD
|

stm32 GPIO 설정

하드웨어 2020. 5. 20. 11:51

// include 

#include "stm32f10x_gpio.h"

 

{

// 지역 변수 선언.

GPIO_InitTypeDef GPIO_InitStructure;

 

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);

 

// 사용할 GPIO Enable 설정
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);

 

// GPIO 속도 설정

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

 

// Input, Output 설정.

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

 

// INPUT 모드 설정시

//GPIO_Mode_IN_FLOATING -> 버튼, 센서 등등..

//GPIO_Mode_IPU -> 캔통신...

 

// OUTPUT 모드 설정시

//GPIO_Mode_Out_PP -> Lamp, LED 등 사용시.

//GPIO_Mode_AF_PP -> Uart, Can 등 사용시.

 

// input output 은 회로도에 따라 바뀔 가능성 있음.

 

// 핀 설정.

GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_0;

 

// GPIO INIT

GPIO_Init(GPIOD, &GPIO_InitStructure);

 

}

'하드웨어' 카테고리의 다른 글

STM32 SPI 핀 용어설명  (0) 2020.06.18
임베디드란 ? (What is Embedded system?)  (0) 2019.11.20
하드 웨어 기초 - 전원, 그라운드  (0) 2019.10.11
Posted by JakeGD
|

 - 해당 변수에 대해 최적화를 하지 못하도록 제약을 건다.

 - 

Posted by JakeGD
|

스택(stack)

 - 지역 변수

 - 매개 변수

 

힙(Heap)

 - 필요에 의한 동적할당

 - 컴파일단계에서 할당되어야 할 변수를 프로그램 실행동안 결정해야할 경우.

 - 가변적으로 할당이 필요로 할때. 사용.

 

데이터(Data)

 - 전역 변수

 - Static 변수

Posted by JakeGD
|

 - 즉 특정한 목적을 가지고 설계된 프로그램.

 

PC의 경우 문서 작업 뿐만아니라 각종 멀티미디어 관련작업, 동영상실행, 게임등 범용 목적의 컴퓨터 이지만,

임베디드 경우 특정 목적, 즉 음식을 데우거나 요리하는 목적을 가진 전자렌지, 밥솥, 오븐 등이 있으며

음식을 상하지 않게 하기 위한 목적을 가진 냉장고 등을 칭할 수 있다.

이처럼 범용 목적이 아닌 정해진 용도로 국한된 기능을 제공 해준다.

 

'하드웨어' 카테고리의 다른 글

STM32 SPI 핀 용어설명  (0) 2020.06.18
stm32 GPIO 설정  (0) 2020.05.20
하드 웨어 기초 - 전원, 그라운드  (0) 2019.10.11
Posted by JakeGD
|

변수 선언시 volatile 을 붙여주면 컴파일시 해당 변수를 최적화 단계에서 제외하여 항상 메모리 접근이 가능하도록 합니다.

 

예 ) 

volatile int number = 0; // 항상 메모리에 접근하도록 선언.

 

즉 언제든지 값이 변경될수 있으니 항상 메모리에서 대기해라! 라고 컴파일러에게 알려준다.

Posted by JakeGD
|

전원 - 전기를 공급받는 곳.

그라운드 - 전기를 내보내는 곳.

 

전기의 흐름은 전원에서 그라운드로 향한다.

'하드웨어' 카테고리의 다른 글

STM32 SPI 핀 용어설명  (0) 2020.06.18
stm32 GPIO 설정  (0) 2020.05.20
임베디드란 ? (What is Embedded system?)  (0) 2019.11.20
Posted by JakeGD
|

GIT - reset 간단한 사용법 (버전 과거로 되돌리기)



$ git log 명령어를 통해 우리는 여태 기록해왔던 버전 역사를 볼수가 있습니다.

그때 우린 과거 버전으로 돌아갈 수 있습니다.


$ git reset --hard (버전 ID)

버전 ID 는 $ git log 를 통해 나오는 

 

노란색 글씨의 commit 뒤에 붙는 긴 문자가 ID 입니다.


 - 위 명령어를 통해 과거의 버전으로 돌아갈 수 있게 됩니다.




만약! 실수로 과거로 보내버렸다! 하시면 취소도 가능합니다.!


$ git reflog

 - 위 명령어를 실해 하시면 이전 작업들의 목록이 아래와 같이 등장 합니다.

 

$ git reset --hard HEAD@{숫자}

 - 위처럼 HEAD@{인덱스}의 목록이 나타나며 해당되는 인덱스를 입력하여 이전 작업으로 돌아가는것이 가능 합니다.


git reset --hard HEAD@{3} 이런식..




 - reset 사용법 - 

참고 자료 

지옥에서 온 Git - 생활 코딩

URL - https://opentutorials.org/course/2708/15210



 - reset 취소방법 - 

참고 자료

URL - https://88240.tistory.com/284



Posted by JakeGD
|