반응형

ITStory 118

[BSP]업무일지 - 20100607 - 임종현

오늘은? call by value 와 call by reference에 대하여 알아본다. 먼저 간단 하게 해석하자면.. 먼저.. call by value - 인자값을 복사하여 사용함으로 함수가 리턴된 후에는 수정한 해당값이 적용되지 않는다. 즉 호출한 함수에 영향을 미치지 않는다는것이다. 다음은 call by reference - 주소값을 받아와 처리함으로 수정된 결과하나하나가 다 기록된다. 매게변수의 값을 넘기는 것이 아니라, 그 값을 저장하고 있는 메모리의 주소를 넘기게 된다. 즉, 어느 위치에 있는 값을 참조해서 처리하라는 의미.. 그러므로 호출하는 함수에서는 그 값을 저장한 변수의 포인터 값을 넘겨야 하며 당연히 호출되는 함수에서는 포인터 변수로 선언되어야 하는것이다.. p.174 예문 swap(..

School Study 2010.06.07

[BPS]업무일지-20100526-임종현

오전수업 어제부터 했던 실습. ---------------------------------------------------------- #define PORTC (*(volatile unsigned char *)0x35) //출력 설정 #define DDRC (*(volatile unsigned char *)0x34) //입출력 설정 #define PINC (*(volatile unsigned char *)0x33) #define DDRF (*(volatile unsigned char *)0x61) #define PORTF (*(volatile unsigned char *)0x62) //입출력 설정 int main(void) { DDRC = 0x00; //LED연결 PORTC = 0x00; DDRF = ..

School Study 2010.05.26

[BSP]업무일지-20100525-임종현

오전수업 실습1 ----------------------------------------------------- #define PORTC (*(volatile unsigned int*)0x35) //출력 설정 #define DDRC (*(volatile unsigned int*)0x34) //입출력 설정 int main(void) { int flag = 0; int flag1 = 1000; unsigned int us = 0; //10^-6 unsigned int ms = 0; //10^-3 PORTC = 0x00; //PORT의 초기화 while(1) //반복되는 코드가 들어가는 부분의 시작 { us=us+1; if(us>=1000) { ms=ms+1; us=0; } if(ms>=flag1) { if(..

School Study 2010.05.25

[BSP]업무일지 - 2005024 - 임종현

오전수업 DK128을 이용하여 다이오드(LED)에 불이 들어오게 하는 실습. while문을 이용하여 프로그램을 코딩해봄. FOR문과 같은 반복문이지만 더 간단하다고 생각하면 되겠다. 다음은 역시 반복문을 이용하여 좀더 새밀하게 짠것이다. if - else문을 넣어 다이오드가 깜빡거릴수 있게 하고 us-ms을 이용하여 깜빡이는 속도를 조절했다. * flag - Flag 란 TRUE, FALSE 로 값을 저장하여 여러가지 용도로 사용되는 것을 말함. DDR : 데이터 방향 설정(Data Direction Register) 해당포트를 입력용으로 쓴건지 출력용으로 쓸건지를 설정하는 것이다. 쉽게 말하자면 MCU 부품의 각 다리가 입력용으로 쓰이는지 출력용으로 쓰이는지 설정하는 것이다. DDR에서 입력or출력으로..

School Study 2010.05.24

[BSP]업무일지 -20100519-임종현

오전수업 DK128보드 사진의 외쪽부분이 메인보드이다. 메인보드에서는 연산과 제어를 담당하게 되어있으며 오른쪽부분의 확장보드는 입출력을 담당하게 된다. 카운터와 다이오드 신호를 줄수 있는 스위치등이 있으며 메인보드에 프로그램은 Write해주면 주면 제어할수 있게된다. 프로그램은 페러럴포트나 시리얼포트를 연결해 전송 하는데 전송된 프로그램은 MCU인 ATmega128에서 받아 확장보드를 제어하게 된다. 전송을 하거나 컴퓨터와 연결을 하기위해서는 프로그램이 필요한데 winAVR과 EEPROM Wirter인 ponyplog2000이 필요하다. winAVR을 설치하고 나면 Mfile 프로그램이 같이 설치되는데 프로그램을 이용하여 Makefile을 생성할 수 있다. 본 파일을 이용해 Project note 프로그..

School Study 2010.05.19

[BSP]업무일지 - 20100518 - 임종현

오전수업 컴퓨터 시스템의 개요. 1. 시스템의 구성 1) 하드웨어(Hardware) 중앙처리장치(연산장치, 제어장치), 주기억장치, 입출력장치, 보조기억장치 등으로 구성된다. 2) 소프트웨어(Software) 컴퓨터 시스템을 작동시키거나 또는 컴퓨터 시스템을 활용하여 일련의 문제를 처리하는 데 필요한 방법이나 기술을 말한다. 프로그램이라고도 함. ① 시스템 소프트웨어(System software) 컴퓨터를 효율적으로 운영하고 제어하기 위한 프로그램. 하드웨어와 응용 소프트웨어 사이에서 교량적인 역할을 담당하며, 제어프로그램과 처리프로그램으로 구분된다. * Operating System -> 사용자가 컴퓨터 시스템을 쉽고 편리하게 사용할 수 있도록 도와주고 컴퓨터 시스템 자원을 효율적으로 관리할 수 있도..

School Study 2010.05.19

[BSP]업무일지-20100517-임종현

오전수업 실습1 FND와 multiplexer를 이용한 회로. FND500를이용하여 출력. S0, S1, S2 로 입력하여 Y0, Y1, Y2.....Y7출력 한다. demultiplexer시에는 Z를 출력값으로 잡는다. 예)Z = Y0 Z = Y1 Z= Y2 ◎통신의예 통신의 예로 보면 A라는 Data를 MUX를 통해 1:N 방식으로 전송하게된다. 반대로 Demux 를 통해 Data를 전송받을수 있다. A라는 데이터를 전송할때 '010'이라고 하면 Y2가 전송을 받게된다. Demux 실습. 오후수업 아스키코드 위의 예제를 보면 123 이 입력이되어있다.(본래는 문자를 넣어한다. 소스에보면 1C(문자형으로 출력하라)라고 되어 있다. 1자리 문자라는 뜻인데 123을 입력하여 1만 인식되어 49라는 결과 ..

School Study 2010.05.17

[BSP]업무일지 -20100514 - 임종현

오전수업 바로실습으로 진행. 트랜지스터를 이용한 실습. 스위치를 눌렀을 경우 불이 들어와야한다. 다음은 트렌지스터 2기를 이용한 실습. 트렌지스터 2기아 스위치를 사용한 실습이다. 오후수업 scanf - scanf를 사용하게되면 쉽게 말해 입력을 할수 잇게 만들어준다. 원하는 숫자를 입력하게되면 출력되는 방식이다. 다은은 16진수로의 출력이다. d(dev) 부분을 x(hex)로 바꾸어주면 16진수로의 출력도 가능하다. 여기서 중요한것이 있는데 &(엔퍼센트)의 값을 빼게되면 전혀 엉뚱한 값이 나온다는것이다. 엔퍼센트는 int로 number를 선언하게되면 메모리는 번지을 만들게된다. 그안에 원하는 값을 넣어야하나 그번지에는 원래 있던 쓰레기값이라는것이 있다. &를 지정하지 않으경우 그 쓰레기값이 번지가되어 ..

School Study 2010.05.14
반응형