일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- WinAPI
- 아두이노 소스
- Algorithm
- 수광 소자
- priority_queue
- Array
- 통계학
- 자료구조
- c++
- stl
- 운영체제
- Stack
- list
- map
- Visual Micro
- C언어
- vector
- html
- 아두이노 컴파일러
- 아두이노
- 시스템프로그래밍
- directx
- Arduino
- set
- 라인트레이서
- Deque
- queue
- LineTracer
- 컴퓨터 그래픽스
- arduino compiler
- Today
- Total
목록전체 글 (545)
Kim's Programming
헤더 파일 여때까지의 포스팅에서 저는 이렇게 말했습니다. ~~ 헤더에 들어가있는 ~~함수를 ~~~ 라고요. 왜 이렇게 말했을까요? 헤더에 함수가 있기 떄문입니다. 우선 함수의 원형을 알아보겠습니다. 함수의 원형을 알기위해서는 C컴파일러의 컴파일러 방식을 알아야합니다. 프로그래밍 언어는 해석방식에 따라 인터프리터 방식과 컴파일 방식으로 나누어지게되는데 컴파일러 방식이 훨씬 더 성능이 좋기 대부분이 컴파일 방식을 사용합니다. C언어도 물론 컴파일 방식을 사용합니다. 컴파일 방식이란 소스를 읽어서 기계어로 한꺼번에 번역하는 방식인데 번역을 몇번에 나누어 하냐에 따라 1패스, 2패스 등으로 구분을 합니다. 한 번 쭉 읽어서 번역을 다 해 내면 1패스(One Pas)방식이라고 하고 한번 읽어서 컴파일 준비를 한뒤..
C언어를 흔히 함수 위주의 언어라고 하는데 이의 의미를 알아보겠습니다. 프로그램은 함수들로 구성되고 함수들이 순서대로 실행 됨으로써 프로그램이 제 기능을 발휘하게 됩니다. 함수는 프로그램을 구성 하는 단위로 부품과 같은 역할을 합니다. 또한 컴퓨터에서 cpu의 명령에 따라서 다른 기계들이 움직이듯이 프로그래밍에서는 main함수를 기준으로 함수들이 움직이게 됩니다. 이렇게 구성된 프로그래밍은 컴퓨터 처럼 한 부품이 고장나면 오작동을 하듯이 함수 하나가 잘못 작성하게 되면 제대로 동작을 하지 않게 됩니다. C++언어에서는 부품같은 함수의 역할을 하게 됩니다. 함수는 크게 사용자 지정 함수와 표준함수로 나누어지게됩니다. 사용자 지정 함수는 사용자가 직접 만들어서 사용하는 함수이며 표준함수는 C언어와 함께 작성..
우선 C언어에서의 입력함수 scanf부터 보고 가겠습니다. 1 2 3 4 5 6 7 8 9 #define _CRT_SECURE_NO_WARNINGS #include void main() { int i = 0; scanf("%d", &i); printf("입력된 i 값 = %d\n",i); } cs 음... i 앞에 &도 붙여줘야 입력이 되고.. 불편하지는 않았나요? 이와 같은 기능을 하는 것을 C++으로 작성 해보겠습니다. 1 2 3 4 5 6 7 8 9 #include using namespace std; void main() { int i = 0; cin >> i; cout
C언어 에서는 printf 함수를 이용하며 stdio헤더를 이용하여 헬로 월드를 출력하였습니다. 물론 c++도 C와의 실행방식과 형태는 비슷합니다. 하지만 달라진것은 C언어는 확장자가 .c 였고 c++에서는 .cpp로 바뀌었고, C++에서는 cout 함수와 iostream 헤더를 이용하게 됩니다. 우선 소스와 함께 보고 가겠습니다. 1 2 3 4 5 6 7 8 9 #include void main() { int i = 30; std::cout
혹시 요즘따라 와이파이가 끊기거나 잘 안되나요? 와이파이에는 채널이 있습니다. 흔히 와이파이는 2.4GHz의 주파수 대역을 가지고 있다고 하지만 다 똑같은 2.4GHz를 가지고 있지 않아요. 2.412GHz부터 0.00G5Hz 간격으로 2.472GHz까지 총 13개의 채널로 나누어져있습니다. 하지만 왜 채널이야기를 하냐구요? 채널이 같아지면 와이파이가 끊기거나 불안정하거나 하는 경우가 생기기도 하거든요. 보통은 사실 무선공유기가 자동으로 검색 해주기도 하지만. 그것은 무선공유기 근처 상황만 알려주는 것이기 때문에 따로 어플을 설명 합니다. 제가 소개할 어플은 Wifi Analyzer라는 어플입니다.(다운로드-구글플레이) Wifi Analyer라는 어플은 각 채널별로 할당되어있는 WIFI SSID를 알려주..
7. 비트 연산자 비트 연산자는 생김새는 논리 연산자와 비슷하지만 비트에 대한 연산을 하는 연산자입니다. 비트(bit)란 기억 장치의 최소의 단위로 0 또는 1로 저장되며 비트 8개를 모아 1바이트가 됩니다. 우선 비트 연산자의 종류에 대해서 알아 보겠습니다. 현재는 잘 사용 되지는 않으며 중요한 시스템 소프트웨어나 게임 또는 임베디드 등에 쓰입니다. 비트 연산자 의미 ~ 비트를 반전 시킵니다. & 대응되는 비트가 모두 1일때 1이 됨 | 대응되는 비트가 모두 0일때 0이됨 ^ 두 개의 비트가 달라야 1임 지정된 수 만큼 오른쪽으로 비트들을 이동 ~만 단항 연산자이며 나머지는 모두 두 개를 피연사자로 취하는 이항 연산자 형태입니다. 비트 연산은 정수 수준에서만 의미가 있으며 이때문에 피연산자는 모두 정수..
오늘의 포스팅에서는 연산자에 대해서 알아 보겠습니다. 연산자란 뭐 다들 익히 알고 있듯이 사칙 연산은 기본으로 알고 있음을 봤을 때 연산자가 어떤 역할을 하는 지, 어떤것 인지는 충분히 다들 알 고 있습니다. 우선 연산자의 기능별 종류를 알아 보도록 하겠습니다. 연산자 기능별 종류 연산자 표기 산술 연산자 + - * / % 부호 연산자 + - 대입 연산자 = 복합대입연산자 관계 연산자 == != 증감 연산자 ++ -- 포인터 연산자 * & [] 구조체 연산자 . -> 논리 연산자 || && ! 비트 연산자 | & ~ >> b 좌변이 우변보다 크다 a=b 좌변이 우변보다 크거나 같다. a
서보모터는 보통 180도 까지만 회전 할 수 있게 만들어 놓았습니다. 조정도 180도 까지만 되고 더 돌아가지도 않습니다. 서보모터를 바퀴와 같이 360도 회전이 가능하게 만들려면 개조가 필요합니다. 우선 동영상 먼져 보시면서 따라 하셔도 되지만, 중간중간 헷갈릴 부분만 짚겠습니다. Servo모터 개조 과정을 간단하게 말하면 다음과 같이 됩니다. 서보모터 분해 모터 엔코더 제어 부분을 제거(가변저항에 연결됨) 제거한 부분에 22옴 저항을 직렬 연결 서보모터 기어에 있는 180도 멈춤 돌기를 제거 합니다. 조립하고 확인을 합니다. 다른 것들을 따라하기 정말 간단하지만 간과하고 넘어가기 쉬운 부분만 하나 짚고 가겠습니다. Servo모터가 그냥 180도 멈춤 돌기만 제거하면 된다고 생각하는 경우가 생겨서 돌기..