2015-02-13
* 1-4교시 제어언어
# 함수
- 적절한 입력과 그에 따른 출력이 존재하는 것
a. 함수의 정의 : 만들어진 함수, 실행이 가능한 함수를 일컬음 b. 함수의 호출 : 함수의 실행을 명령하는 행위 c. 인자의 전달 : 함수의 실행을 명령할 때 전달하는 입력 값 |
함수의 기본형
출력형태 함수이름 (입력형태){ 함수의 몸체 } |
출력형태 : 함수 반환값의 자료형을 의미
함수이름 : 함수의 이름, 예약어는 올 수 없다.
입력형태 : 함수내에서 쓰일 변수 선언
함수의 몸체 : 함수의 동작을 정의하는 부분
예약어 - 이름이 이미 정의 되어있어 변수의 이름이나 함수의 이름으로 쓰일 수 없는 단어들
Entry Point - 어떠한 프로그램이 시작 될때 동작하는 함수 ex) C - main
표준 라이브러리
직접 만들지 않아도 기본적으로 제공되는 표준함수들의 모임
표준함수의 호출을 위해서는 '헤더파일 선언'을 해야한다.
ex) #include <stdio.h> -> # : 전처리 언어를 의미, include : 포함하라, <stdio.h> : 환경변수의 경로내의 stdio.h
헤더파일의 선언은 main함수 정의 이전에 와야 한다.
return
함수를 호출한 영역으로 값을 전달하고 현재 실행중인 함수의 종료를 의미 한다.
return 뒤의 값은 앞서 정의한 출력형태의 자료형과 일치 하여야 한다.
#변수와 연산자
연산자
C언어를 이용해서 특정연산을 요구할 때 사용하는 약속된 기호를 가르켜 '연산자'라 한다.
변수
값을 저장할 수 있는 메모리 공간에 붙은 이름, 혹은 메모리 공간 자체를 가르켜 '변수'라 한다.
변수 선언 시 변수의 이름으로 예약어는 사용할 수 없고, 그 위치는 중괄호 내의 앞부분에 위치하여야 한다.
증감연산자
변수의 값을 1씩 증가하거나 감소하는 연산자
ex) ++i, --i(전치 증감연산자), i++, i--(후치 증감연산자)
++i 와 i++의 차이점
++i는 반복문에 의해서 1-6까지 출력하였고, j++은 0-5까지 출력하였다. 즉 변수가 사용 될때 ++i의 경우 사용되기 전에 1을 증가한 후 사용되었고, j++의 경우 먼저 사용이 되고 1을 증가하게 된다.
iNum1 = ++iCnt 는 풀어서 iNum1 = ( iCnt = iCnt + 1 )
iNum1 = iCnt++은 풀어서 ( iNum1 = iCnt ) = iCnt + 1
# 문제풀이
교재 p.193
문제2) 다음의 식을 만족하는 모든 A와 Z를 구하는 프로그램을 작성해보자
A Z
+ Z A
-------
9 9
반복문을 중첩하여야 함.
솔루션
A = 1과 B = 8처럼 18 + 81 = 99 와 같은꼴로 나오는 수들을 찾으면 된다.
A와B를 1부터 9까지 차례로 넣어보면서 (A * 10 + B) +(B * 10 + A) = 99를 만족할때 A와 B를 출력해주면 된다.
코드 및 결과
2중 for문을 생성하고 그안에서 if조건문을 사용하여 (A * 10 + B) +(B * 10 + A) = 99를 만족하면 A와 B를 출력하도록 프로그래밍해보았다.
* 5-8교시 제어기초
#PCB 설계(ARTWORK) 실습
일반적인 설계시 일의 순서
1. 부품의 위치를 잡는다.
2. 선 긋기
3. 거버 파일 변환
#실습
Layout프로그램을 실행 시키고 Orcad로 생성한 .mnl파일로 새로운 .MAX파일을 생성한다.
처음 시작하고 메뉴 아이콘에 DRC를 해제 시켜준다.
그리고 생성된 부품들을 적절하게 배치를 시킨다.
[Options] - [Stackup Setting]을 클릭
화면에서 TOP,BOTTOM을 제외하고 전부 제거한다.
Top과 Bottom그룹의 체크박스를 모두 체크한다.
Advanced Options를 클릭한다.
Advanced Options로 가서 Desired Board Thickness의 크기를 63으로 한뒤 [Adjust Dielectric for Desired Board Thickness]를 눌러서 적용을 시킨뒤 [OK]버튼을 눌러서 빠져나온다.
본래의 화면으로 돌아와서 [백스페이스] -> [0] -> [Shift + 1]을 눌러 다음과 같이 정리를 해준다.
[AutoPath Routh Mode]나 [Edit Segment Mode]를 선택하여 포트간에 선을 그린다.
[Obstacle Tool]을 선택하여 에어리어를 설정한다.
설정된 에어리어 안에서 더블클릭을 하면 다음과 같은 창이 생성되는데
Obstacle Type는 Copper area로 해주고 Net Attachment는 GND로 설정해 준다.
그리고 전체를 에어리어로 삼아서 그린뒤 [마우스 오른쪽 키]-[End Command]를 해주면 다음과 같은 모양이 완성이 된다.
그다음에 문자를 넣고 싶으면 [Text Tool]을 클릭한 후 [마우스 오른쪽 버튼]-[New]를 클릭하여 Text Edit를 해준뒤 원하는 위치에 문자를 삽입하면 된다.
마지막으로 Post Process Setting을 눌러서 Batch Enable을 적절하게 Yes/NO로 맞추어 주고
[Auto]-[Design Rule Check]를 한다.
[Auto]-[Run Post Processor]를 클릭하여 각종 파일이 생성된다면 아트웍이 마무리 된다.
제품을 만들기 위해 주문을 하려면 한샘디지텍 홈페이지(https://www.hsdgt.com/)에 가서 견적을 요청한다.
'코스웨어 > 15년 스마트컨트롤러' 카테고리의 다른 글
20150223 월요일 수업 디버깅 정리. (7) | 2015.02.25 |
---|---|
공부하세요 (2) | 2015.02.23 |
20150217 - 16번 박태인 - Shift 연산자 & Altium Artwork (15) | 2015.02.20 |
점심때 적어드린 밴드주소입니다 (5) | 2015.02.16 |
스마트 컨트롤러 교육 세부 일정표 (14) | 2015.02.12 |
20150211-12번-남수진- 업무일지 (10) | 2015.02.12 |
visual studio 한글패치입니다. (7) | 2015.02.12 |
20150210-10번-김태현- 업무일지 (24) | 2015.02.10 |