<283130C1D6294C454420B9D720BCBEBCAD20C1A6BEEE2E687770>

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "<283130C1D6294C454420B9D720BCBEBCAD20C1A6BEEE2E687770>"

Transcription

1 실험 06 LED 및센서제어 < 실험목표 > LED 제어컴포넌트와 Timer 컴포넌트를응용하여 LED 의 on/off 를모스부호화하는방법을알아본다. 장비에장치되어있는조도센서에대해살펴보고, TinyOS 의 Oscilloscope 프로그램을통해측정된조도값을확인하는방법을알아본다. SHT11 센서를이용하여온도및습도값을측정하고, 그결과를시리얼통신을통해 PC 로전달하는방법을알아본다

2 (1) 모스부호와 LED 이장에서실습할 HelloWorld 애플리케이션은 "hello,world" 문자를모스부호로바꾸어 LED 에표 시하는프로그램이다. 모스부호는단점 (dot) 과단점의 3 배길이인장점 (dash) 으로구성되며, 문자 와문자사이에는 2 단점길이의간격을취한다. 예비보고서에서조사할모스부호를 LED 의온 / 오프에활용하여 hello,world" 단어를만들어보자. (2) 조도센서 조도를측정할수있는 CDS 센서는 Atmega128 의 INT0 와 ADC0 사이에연결되어있다. CDS 센서는주변의광량에따라자신의저항값이변하므로, INT0 로부터들어오는 3V 전압은광량에따라변화하는 CDS 의저항성분에의해영향을받는다. 그렇기때문에출력포트인 ADC0 에서는변화된전압의양에의해광량을감지할수있다. 그림 1 은 CDS 센서와 Atmega128 의연결모양을그린회로도이다. [ 그림 1] 조도센서와 CPU 사이의인터페이스 - 2 -

3 TinyOS 에서는조도센서를제어하기위해 Photo 컴포넌트라는것을제공하고있다. Photo 컴포넌트에서는 StdControl.init() 함수에의해노드가초기화를시작할때 ADCControl.bindPort(TOS_ADC_PHOTO_PORT, TOSH_ACTUAL_PHOTO_PORT) 함수를호출하여 INT0 의전압을활성화시켜조도센서에의한광량값을측정할수있도록한다. 표 2 는조도센서로활성화된 ADCC 컴포넌트에서제공하는함수들의목록이다. 특정 ADC 포트지정 ADC 의값얻기 함수및내용 ADCControl.bindPort() - 원하는 ADC 포트값을설정한다 (ADC 0 번포트는조도센서와연결되어있음 ). ADC.getData() - 앞에서설정된 ADC 포트로부터측정된값을얻기위해호출된다. event ADC.dataReady(uint16_t data) - ADC 가측정한값을 event 형태로반환한다. [ 표 2] ADCC 인터페이스에서제공하는함수들 Photo 컴포넌트를사용하는상위프로그램에서는조도데이터를얻기위해 ADC.getData() 함수를호출한다. ADC.getData() 함수가호출되면 CPU 의 INT0 와 ADC0 사이에있는 CDS 센서에의해조도정보를얻게되고, 그값은 event 형태로반환되는 ADC.dataReady(uint16_t data) 함수를통해상위컴포넌트에게전달된다. (3) 온도및습도센서 주변의온도및습도값을측정할수있는센서 SHT11 은 Atmega128 과직접연결되어있다. SHT11 센서는자체적으로측정한아날로그신호를디지털신호로바꾸어주는 ADC 기능이있어, 센싱한데이터를바로 CPU 로전송할수있다. SHT11 은 2 개의선을통해클럭과데이터를 Atmega128 에전송한다. [ 그림 2] 온습도센서와회로도 - 3 -

4 SHT11 로부터측정된센서값을읽기위해서는 Atmega128 과연결된두라인을통해일정한 클럭과명령어를입력시켜야한다. Atmega128 은데이터라인을통해비트단위의명령어를 SHT11 센서와주고받은후, 실제센서값을얻어온다. 데이터라인은클럭신호가 HIGH 일때만 값을읽어오는데, 이때데이터라인의신호는변하지않아야한다. 전송을시작하기전전송 시작을알리는펄스를먼저입력한후, 주소비트와명령어를 SHT11 에보내고사용자가 원하는데이터를읽어온다. 주소비트는현재 000 만사용하고있으며, SHT11 칩에전송하는 명령어는표 3 에나타나있다. 만약습도데이터를읽어오고싶다면주소비트 000 다음으로 명령어를데이터라인으로보내주면된다. 명령어 코드 Reserved 0000x Measure Temperature Measure Humidity Read Status Register Write Status Register Reserved 0101x-1110x Soft reset [ 표 3] SHT11 온습도센서의명령어코드 명령어를넣어주면 Atmega128 은 SHT11 센서가습도측정을완료할때까지기다린다. 12 비트의습도데이터를얻기위해서는약 55ms 정도의시간이소요된다. 측정이완료되면 SHT11 은데이터라인을 LOW 로만들어준후, Atmega128 에게데이터를전송한다. Atmega128 은데이터라인을통해 12 비트의측정된데이터를읽어온후, CRC 에러체크필드의내용에따라 ACK 전송여부를결정한다. 만약데이터를읽어올수없다면 SHT11 과의접속을리셋시킨다. 해당하는명령어를보내주는함수는 HumidityProtocolM.nc 에 static inline char processcommand(int cmd) 라는함수로정의되어있다. 함수내용을살펴보면인터럽트초기화를거쳐 reset() 에정의되어있는내용에의해 Atmega128 과 SHT11 과의연결을재설정하고전송시작을알리는 initseq() 를호출한다. 그리고 CMD 에들어가는명령어에따라해당하는동작을하게된다. 습도값얻기 온도값얻기 함수및내용 Humidity.getData() - 앞에서설정된 ADC 포트로부터측정된값을얻기위해호출된다. event Humidity.dataReady(uint16_t data) - ADC 가측정한값을 event 형태로반환한다. Temperature.getData() - 앞에서설정된 ADC 포트로부터측정된값을얻기위해호출된다. event Temperature.dataReady(uint16_t data) - ADC 가측정한값을 event 형태로반환한다. [ 표 4] ADCC 인터페이스에서제공하는함수들 TinyOS 에서는 SHT11 온습도센서를제어하기위해 HumidityC 컴포넌트를제공하고있다. HumidityC 컴포넌트하위컴포넌트인 HumidityProtocolC 의도움으로습도측정값을얻을수있는 Humidity.getData() 함수와온도측정값을얻을수있는 Temperature.getData() 함수를제공받는다. 사용자는두함수를이용하여 SHT11 센서에온도및습도측정값을요청할수있고, - 4 -

5 event 형태의함수인 Humidity.dataReady(uint16_t data) 와 Temperature.dataReady(uint16_t data) 를통해습도및온도값을얻을수있다. (1) host PC, 모트 1 개, ISP 프로그램툴, 연결케이블 (1) 이장의이론파트의내용을실험전에숙지하여다음에관하여정리하시오. 1-1) 영문자와숫자, 마침표 (Period), 컴마 (Comma), 물음표 (Query) 에대해서모스부호를조사해정리하시오. 1-2) ADC 에서포트값을설정하는함수와측정된값을얻기위한함수를쓰시오 1-3) 습도값과온도값을얻기위한함수를쓰시오. (2) 4.(1) 에서수행하는모스부호프로그램실험을수행하기위하여소스코드를완성해보자. (3) 3.(2) 에서작성한프로그램을참고하여모스부호로자신의학번과이름을찍고 LED 로표현하도록프로그램을작성해보자. (4) 4.(2), (3) 에서수행하는센서제어프로그램실험을참고하여 1 초간격으로조도센싱, 온도센싱을번갈아수행하는프로그램을작성해보자. (1) 모스부호프로그램 HelloWorld 애플리케이션은 hello,world" 문자를모스부호로바꾸어 LED 에표시하는프로그램이 다. 본예제프로그램은 C: Program Files UCB cygwin opt tinyos-1.x contrib zigbex helloworld 폴더에있다. a. HelloWorld.nc HelloWorld 예제에서사용하는컴포넌트들의선언및연결구성은 configuration 파일인 HelloWorld.nc 에서확인할수있다. configuration HelloWorld { implementation { components Main, HelloWorldM, TimerC, LedsC; Main.StdControl -> HelloWorldM; Main.StdControl -> TimerC; HelloWorldM.Timer -> TimerC.Timer[ unique("timer") ]; HelloWorldM.Leds -> LedsC; - 5 -

6 HelloWorld 예제에서는 Timer 를세팅하여정한시간만큼 LED 를온 / 오프함으로써원하는영문자를모스부호로표현할수있다. 시간세팅과 LED 의온 / 오프를제어하기위해 HelloWorld.nc 파일에서 TimerC 컴포넌트와 LedsC 컴포넌트를선언하고, 자신의 module 인 HelloWorldM 컴포넌트와연결시킨다. b. HelloWorldM.nc 실제 HelloWorld 프로그램이구현되어있는 module 파일인 HelloWorldM.nc 파일을살펴보자. HelloWorldM.nc 파일을열면다음과같은소스코드를확인할수있다. #define MORSE_WPM 12 /* 분당문자전송속도 */ #define MORSE_UNIT ( 1200 / MORSE_WPM ) /* 한모스부호를나타내기위한밀리초 */ module HelloWorldM { provides { interface StdControl; uses { interface Timer; interface Leds; implementation { command result_t StdControl.init() { call Leds.init(); call Leds.redOff(); call Leds.yellowOff(); call Leds.greenOff(); command result_t StdControl.start() { // 1000ms 후에 Timer.fired() 가한번호출됨 return call Timer.start( TIMER_ONE_SHOT, 1000 ); command result_t StdControl.stop() { return call Timer.stop(); event result_t Timer.fired() { /* static char *morse 변수에 hello,world 문자열의포인터를저장한다. */ static char *morse = " " " "; static char *current; - 6 -

7 if(!current ) current = morse; switch( *current ) { case ' ': /* pause: 두번의모스 units 시간동안 off 한다 */ dbg( DBG_USR1, "Morse: pause n" ); call Timer.start( TIMER_ONE_SHOT, 2 * MORSE_UNIT ); current++; break; case '.': /* dot: 한번의모스 unit 동안 on 하고한번의 unit 동안 off */ /* 소스코드채울부분 */ break; case '-': /* dash: 세번의모스 unit 동안 on 하고한번의 unit 동안 off */ /* 소스코드채울부분 */ break; default: /* 잘못된문자 : ignore */ dbg( DBG_USR1, "Morse: illegal character! n" ); break; /* 문자열의마지막 (Null 문자 ) 에오면 return 한다 */ if(!*current ) current = morse; HelloWorld 는하나의완전한애플리케이션으로실행되기위해서필수적으로요구되는 Main 컴포넌트를하부컴포넌트로두고, 다른컴포넌트들과자신의 module 부분을연결한다. Main 컴포넌트에의해처음실행되는것은 HelloWorldM 의 StdControl.init() 함수이다. 이함수안에는 LED 에대한초기화및오프에대한명령어가실행된다. 그다음호출되는함수는 StdControl.start() 함수로서, Timer 컴포넌트를통해 1 초 (1000) 후에한번의알람 (TIMER_ONE_SHOT) 만이호출되도록설정한다. Timer 컴포넌트는설정된대로 1 초후에 signal 을통해 HelloWorldM 내의 Timer.fired() 함수를호출하게되며, Timer.fired() 함수에서는 static 포인터변수인 morse 에저장되어있는 'hello,world' 모스값에따라 Red LED 의온 / 오프를명령하게된다. 예를들어, 모스부호공백 에서는 2 x MORSE_UNIT 시간동안 LED 에아무런변화를주지않고, 모스부호점. 에서는 MORSE_UNIT 시간동안 Red LED 를켠후, 다시 MORSE_UNIT 시간동안 Red LED 를오프시켜 current++ 를통해다음모스부호로넘어간다. 모스부호바 - 에서는 3 x MORSE_UNIT 시간동안 Red LED 를켠후, 역시 MORSE_UNIT 시간동안 Red LED 를오프시키고 current++ 를통해다음모스부호로넘어간다. 이와같은알고리즘에의해 HelloWorld 프로그램이설치된센서노드는 Red LED 를통해 'hello,world" 의모스부호를출력한다

8 (2) Oscilloscope 예제를이용한조도센서제어 Oscilloscope 예제는 125ms 마다 CDS 센서로부터측정값을받은후그내용을시리얼케이블을통해 PC 로전달하는프로그램이다. Oscilloscope 는 Oscilloscope.nc 와 OscilloscopeM.nc, OscopeMsg.h 의총 3 개파일로구성되어있다. Oscilloscope.nc 는각컴포넌트간의연결관계를나타내는 config 굵성되 tion 파일이며, OscilloscopeM.nc 는실제예제의동작이기술된 module 파일이다. OscopeMsg.h 는센서에서받아온데이터를 UART( 시리얼 ) 를통해주고받을수있도록 TinyOS 에서정의된데이터패킷구조체가선언되어있다. Oscilloscope 예제는크게 PC 와의시리얼통신을위한 UARTComm 컴포넌트와조도센서값을 얻기위한 DemoSensorC 컴포넌트, 그리고주기적인알람과동작여부를눈으로보여주기위한 TimerC 와 LedsC 컴포넌트로구성된다. 본예제프로그램은 C: Program Files UCB cygwin opt tinyos-1.x contrib zigbex Oscilloscope 폴더에있다. a. Oscilloscope.nc Oscilloscope.nc 파일에는 Oscilloscope 예제에서사용할여러컴포넌트들의선언및그들간의연결에대한내용이기술되어있다. 컴포넌트들은선언후프로그래머의편의에따라다른이름으로사용될수있다. 예를들면아래파일에기술되어있는 'DemoSensorC as Sensor' 의의미는 DemoSensorC 컴포넌트를 Sensor 라는이름으로사용하겠다는의미이며, 이문장이후로 Sensor 라는단어는 DemoSensorC 컴포넌트를의미한다. 같은인터페이스를갖는여러컴포넌트들을동시에사용할경우, 프로그램을기술할때컴포넌트이름간에혼돈이발생할수있기때문에 'UARTComm as Comm' 형태로인터페이스의이름을바꾸기도한다. 혹은 module 파일을고치지않고 configuration 파일의컴포넌트이름만교환함으로써다른동작이실행될수있도록할경우에도다른이름을선언한다. configuration Oscilloscope { implementation { components Main, OscilloscopeM, TimerC, LedsC, DemoSensorC as Sensor, UARTComm as Comm; Main.StdControl -> OscilloscopeM; Main.StdControl -> TimerC; OscilloscopeM.Timer -> TimerC.Timer[unique("Timer")]; - 8 -

9 OscilloscopeM.Leds -> LedsC; OscilloscopeM.SensorControl -> Sensor; OscilloscopeM.ADC -> Sensor; OscilloscopeM.CommControl -> Comm; OscilloscopeM.ResetCounterMsg -> Comm.ReceiveMsg[AM_OSCOPERESETMSG]; OscilloscopeM.DataMsg -> Comm.SendMsg[AM_OSCOPEMSG]; 여기서선언된 DemoSensorC 컴포넌트는 /opt/tinyos-1.x/sensorboards/basicsb 폴더에있는 DemoSensorC.nc 파일을호출한것으로, 조도센서를제어하는 Photo 컴포넌트를그대로링크하는컴포넌트이다. 이번예제는 DemoSensorC 컴포넌트를통해센서노드의조도값을받아오지만실제로는 DemoSensorC 컴포넌트의하부컴포넌트로구현되어있는 Photo 컴포넌트가조도값을제공한다. 다음으로선언된 UARTComm 컴포넌트는 PC 와의시리얼통신을위해만들어진컴포넌트로서 ReceiveMsg 인터페이스와 SendMsg 인터페이스를통해다음과같은함수를제공한다. ReceiveMsg SendMsg 함수및내용 event TOS_MsgPtr receive(tos_msgptr m) - 시리얼케이블을통해 PC 로부터어떠한메시지를받았을경우 event 형태로호출되는함수로, TOS_Msg 형태의포인터를반환한다. send(...) - 센서노드에서 PC 로 TOS_Msg 형태의파일을보내기위해호출되는함수이다. senddone(...) - send(...) 함수를통해메시지가모두전송되었을때 event 형태로호출되는함수이다. [ 표 5] UARTComm 에서제공하는함수들 b. OscilloscopeM.nc includes OscopeMsg; module OscilloscopeM { provides interface StdControl; uses { interface Timer; interface Leds; interface StdControl as SensorControl; interface ADC; interface StdControl as CommControl; interface SendMsg as DataMsg; interface ReceiveMsg as ResetCounterMsg; implementation - 9 -

10 { uint8_t packetreadingnumber; uint16_t readingnumber; TOS_Msg msg[2]; uint8_t currentmsg; command result_t StdControl.init() { call Leds.init(); call Leds.yellowOff(); call Leds.redOff(); call Leds.greenOff(); call SensorControl.init(); call CommControl.init(); atomic { currentmsg = 0; packetreadingnumber = 0; readingnumber = 0; dbg(dbg_boot, "OSCOPE initialized n"); command result_t StdControl.start() { call SensorControl.start(); call Timer.start(TIMER_REPEAT, 125); call CommControl.start(); command result_t StdControl.stop() { call SensorControl.stop(); call Timer.stop(); call CommControl.stop(); task void datatask() { struct OscopeMsg *pack; atomic { pack = (struct OscopeMsg *)msg[currentmsg].data; packetreadingnumber = 0; pack->lastsamplenumber = readingnumber; pack->channel = 1; pack->sourcemoteid = TOS_LOCAL_ADDRESS;

11 if (call DataMsg.send(TOS_UART_ADDR, sizeof(struct OscopeMsg), &msg[currentmsg])) { atomic { currentmsg ^= 0x1; call Leds.yellowToggle(); async event result_t ADC.dataReady(uint16_t data) { struct OscopeMsg *pack; atomic { pack = (struct OscopeMsg *)msg[currentmsg].data; pack->data[packetreadingnumber++] = data; readingnumber++; dbg(dbg_usr1, "data_event n"); if (packetreadingnumber == BUFFER_SIZE) { post datatask(); if (data > 0x0300) call Leds.redOn(); else call Leds.redOff(); event result_t DataMsg.sendDone(TOS_MsgPtr sent, result_t success) { event result_t Timer.fired() { return call ADC.getData(); event TOS_MsgPtr ResetCounterMsg.receive(TOS_MsgPtr m) { atomic { readingnumber = 0; return m;

12 OscilloscopeM.nc 에서는먼저 include 명령어를통해 Oscilloscope.h 에있는내용을참조한후, module 안에 StdControl 인터페이스를 provide 로선언한다. 그리고 OscilloscopeM 내에서사용할인터페이스들을 use 로선언하는데, 이중센서와관련된인터페이스는 SensorControl 과 ADC 이다. 여기서 SensorControl 은 DemoSensorC 의 StdControl 을 rename 한것으로, Oscilloscope 자체적으로사용하는 StdControl 과 UARTComm 에서사용하는 StdControl 과의혼돈을방지하기위해 rename 한것이다. CDS 센서와관련된또하나의인터페이스는 ADC 이다. ADCC 는 CDS 센서로부터들어오는아날로그데이터를디지털로변환해주는장치와관련된컴포넌트이다. 참고로 ADCC.ADC[0] 은 CDS 센서의데이터를 ADC 로변환해주는포트이고 ADCC.ADC[1] 은적외선센서의데이터를변환해주는포트이다. DemoSensorC 컴포넌트의하위 Photo 컴포넌트에서는 ADC[0] 값을 CDS 센서의데이터값으로설정해주기때문에, 현파일에서사용된 ADC 인터페이스는오직 CDS 센서만을제어한다. 결국예제프로그램에서는 ADC 의포트번호와상관없이 ADC.getData() 함수와 ADC.dataReady() 함수를사용하여센서주변의조도값을얻어올수있다. OscilloscopeM.nc 의동작을순서대로살펴보자. Main 컴포넌트에의해제일먼저실행되는 StdControl.init() 함수에서 LED, SensorControl, CommControl 컴포넌트들및여러변수들을모두초기화한다. StdControl.start() 에서는 SensorControl, CommControl 을시작하고 Timer 를 125ms 마다한번씩 signal 을발생시키도록 Timer.start(TIMER_REPEAT, 125) 함수를호출한다. StdControl.stop() 에서는 SensorControl, CommControl 을정지하게하고 Timer 도정지시킨다. Timer 컴포넌트에의해 125ms 마다 signal 이발생하여 Timer.fired() 가호출되고, 그함수내부에서는 ADC.getData() 함수를호출하여 ADC[0] 에있는조도측정값을요청한다. 조도값의측정이끝나면 result_t ADC.dataReady(uint16_t data) 함수가 event 형태로 OscilloscopeM 파일내에서호출된다. 이함수내에서는받은조도측정값을시리얼통신으로 PC 에전달하기위해 OscopeMsg.h 에정의된패킷포맷형식으로변환시킨다. 그후, task 로된 datatask() 함수를호출하여 ADC.dataReady(uint16_t data) 함수로부터받은측정값을 DataMsg.send() 함수를통해시리얼로 PC 에게전송한다. OscilloscopeM 파일내에구현된내용을요약하자면, 125ms 마다측정한조도값을 UARTComm 컴포넌트의 Comm 인터페이스를통해 PC 로전송하는프로그램이다. c. OscopeMsg.h OscilloscopeM 파일에서사용한 Oscope 데이터포맷을정의하는헤더파일로, 포맷의구조는 그림 3 과같다. sourcemoteid lastsamplenumber channel Data[10] [ 그림 3] Oscope 메시지의형태 실제코드는다음과같다

13 enum { BUFFER_SIZE = 10 ; struct OscopeMsg { uint16_t sourcemoteid; uint16_t lastsamplenumber; uint16_t channel; uint16_t data[buffer_size]; ; struct OscopeResetMsg { /* Empty payload! */ ; enum { AM_OSCOPEMSG = 10, AM_OSCOPERESETMSG = 32, AM_ZIGBEXMSG = 0x27, AM_ZIGBEXRESETMSG = 0x28 ; 연결케이블을통해프로그램된센서노드로부터전송된데이터를확인하기위해서오실로스코프 자바애플리케이션을실행한다. 아래와같은명령어를입력하여애플리케이션을실행시킨다. export java net.tinyos.oscope.oscilloscope 여기서 COM1 은센서가 PC 의 COM1 포트에연결되었을경우의세팅값이다. 장치관리자에서센서와 PC 가어느포트로연결되어있는지확인한후적절한값으로세팅한다. 자바애플리케이션을통해데이터가시리얼로전달되는것을확인할수있고빛의양에따라데이터를나타내는선이변화되는것을볼수있다. 혹시그래프가잘보이지않을경우 Scrolling 을체크하면그래프를확인할수있다. 그래도보이지않으면방향버튼을눌러서그래프를찾으면된다

14 [ 그림 4] 조도센서값을 Oscilloscope 로본결과 (3) 온도및습도센서제어 OscilloscopeSHT11 예제는앞에서조도측정을위해만들었던 Oscilloscope 예제와매우비슷하다. OscilloscopeSHT11 예제는 125ms 마다 HumidityC 컴포넌트를통해습도센서로부터측정값을받은후, 시리얼케이블을통해받은데이터를 PC 로전달하는프로그램이다. OscilloscopeSHT11 은 Oscilloscope.nc, OscillsocopeM.nc, OscopeMsg.h 의세가지파일로구성된다. 본예제프로그램은 C: Program Files UCB cygwin opt tinyos-1.x contrib zigbex OscilloscopeSHT11 폴더에있다. a. Oscilloscope.nc OscilloscopeSHT11 예제의 configuration 파일인 Oscilloscope.nc 에는하나의애플리케이션을시작할수있는 Main 컴포넌트와 125ms 마다 Timer.fired() 함수를호출하기위한 TimerC 컴포넌트, LED 를제어하기위한 LedsC 컴포넌트, 온도및습도의측정값을얻을수있는 HumidityC 컴포넌트그리고시리얼통신을위한 UARTComm 컴포넌트가선언되어있다. 여기서 HumidityC 컴포넌트와 UARTComm 컴포넌트는각각 SHT11 과 Comm 이라는이름으로선언되어사용된다 (HumidityC as SHT11, UARTComm as Comm). configuration Oscilloscope { implementation

15 { components Main, OscilloscopeM, TimerC, LedsC, HumidityC as SHT11, UARTComm as Comm; Main.StdControl -> OscilloscopeM; Main.StdControl -> TimerC; OscilloscopeM.Timer -> TimerC.Timer[unique("Timer")]; OscilloscopeM.Leds -> LedsC; //OscilloscopeM.SensorControl -> SHT11.; OscilloscopeM.SHT11_Humidity -> SHT11.Humidity; OscilloscopeM.SHT11_Temp -> SHT11.Temperature; OscilloscopeM.SHT11_Humidity_Error->SHT11.HumidityError; OscilloscopeM.SHT11_Temp_Error->SHT11.TemperatureError; OscilloscopeM.SplitControl->SHT11.SplitControl; OscilloscopeM.CommControl -> Comm; OscilloscopeM.ResetCounterMsg -> Comm.ReceiveMsg[AM_OSCOPERESETMSG]; OscilloscopeM.DataMsg -> Comm.SendMsg[AM_OSCOPEMSG]; 위의소스코드를통해, 사용된컴포넌트및 OscilloscopeM 과의연결구조를알수있다. b. OscilloscopeM.nc 다음으로 Oscilloscope 예제프로그램의 module 인 OscilloscopeM.nc 파일을살펴본다. OscilloscopeM.nc 파일을열면다음과같은소스코드를확인할수있다. includes OscopeMsg; module OscilloscopeM { provides interface StdControl; uses {... implementation { uint8_t TemppacketReadingNumber;... uint8_t mytemp, myhumi; void calc_sht11(uint16_t p_humidity,uint16_t p_temperature);

16 command result_t StdControl.init() { call Leds.init(); call Leds.yellowOff(); call Leds.redOff(); call Leds.greenOff(); call CommControl.init(); call SplitControl.init(); atomic { currenttempmsg = 0; currenthumimsg = 0; TemppacketReadingNumber = 0; HumipacketReadingNumber = 0; TempreadingNumber = 0; HumireadingNumber = 0; dbg(dbg_boot, "OSCOPE initialized n"); command result_t StdControl.start() { call Timer.start(TIMER_REPEAT, 125); call CommControl.start(); call SplitControl.start(); command result_t StdControl.stop() { call Timer.stop(); call CommControl.stop(); call SplitControl.stop(); // 측정한온도값을시리얼통신을통해 PC 로전달하는함수 task void datatasktemp() { struct OscopeMsg *pack; atomic { pack = (struct OscopeMsg *)tempmsg[currenttempmsg].data; TemppacketReadingNumber = 0; pack->lastsamplenumber = TempreadingNumber; pack->channel = 1; pack->sourcemoteid = TOS_LOCAL_ADDRESS; // 시리얼통신을위해호출되는함수 if (call DataMsg.send(TOS_UART_ADDR, sizeof(struct OscopeMsg),

17 &tempmsg[currenttempmsg])) { atomic { currenttempmsg ^= 0x1; call Leds.yellowToggle(); // 측정한습도값을시리얼통신을통해 PC 로전달하는함수 task void datataskhumi() { struct OscopeMsg *pack; atomic { pack = (struct OscopeMsg *)humimsg[currenthumimsg].data; HumipacketReadingNumber = 0; pack->lastsamplenumber = HumireadingNumber; pack->channel = 2; pack->sourcemoteid = TOS_LOCAL_ADDRESS; /* Try to send the packet. Note that this will return * failure immediately if the packet could not be queued for * transmission. */ if (call DataMsg.send(TOS_UART_ADDR, sizeof(struct OscopeMsg), &humimsg[currenthumimsg])) { atomic { currenthumimsg ^= 0x1; call Leds.yellowToggle(); // 온도정보를반환하는함수 async event result_t SHT11_Temp.dataReady(uint16_t data) { struct OscopeMsg *pack; atomic { pack = (struct OscopeMsg *)tempmsg[currenttempmsg].data; calc_sht11(data,data); pack->data[temppacketreadingnumber++] = mytemp; TempreadingNumber++; dbg(dbg_usr1, "data_event n");

18 if (TemppacketReadingNumber == BUFFER_SIZE) { post datatasktemp(); if (data > 0x0300) call Leds.redOn(); else call Leds.redOff(); // 습도정보를반환하는함수 async event result_t SHT11_Humidity.dataReady(uint16_t data) { struct OscopeMsg *pack; atomic { pack = (struct OscopeMsg *)humimsg[currenttempmsg].data; calc_sht11(data,data); pack->data[humipacketreadingnumber++] = myhumi; HumireadingNumber++; dbg(dbg_usr1, "data_event n"); if (HumipacketReadingNumber == BUFFER_SIZE) { post datataskhumi(); if (data > 0x0300) call Leds.redOn(); else call Leds.redOff();... event result_t Timer.fired() { timetick++; //return call SHT11_Temp.getData(); return call SHT11_Humidity.getData(); event TOS_MsgPtr ResetCounterMsg.receive(TOS_MsgPtr m) { atomic { TempreadingNumber = 0; HumireadingNumber = 0; return m;

19 // 디지털로들어오는값을온도와습도단위로변환해주는함수 void calc_sht11(uint16_t p_humidity,uint16_t p_temperature) { const float C1=-4.0; // for 12 Bit const float C2= ; // for 12 Bit const float C3= ; // for 12 Bit const float T1=0.01; // for 14 5V const float T2= ; // for 14 5V float rh_lin; // rh_lin: 습도값 float rh_true; // rh_true: 온도값으로보정된습도값 float t_c; // t_c : Temperature [C] float rh=(float)p_humidity; // rh: 디지털습도값 [Ticks] 12 Bit float t=(float)p_temperature; // t: 디지털온도값 [Ticks] 14 Bit t_c=t* ; // 디지털온도값을 [C] 단위의온도값으로계산 rh_lin=c3*rh*rh + C2*rh + C1; // [%RH] 단위의습도값계산 rh_true=(t_c-25)*(t1+t2*rh)+rh_lin; // 온도값으로습도값보정 if(rh_true>100)rh_true=100; // 최대범위조정 if(rh_true<0.1)rh_true=0.1; // 최소범위조정 mytemp=(uint8_t)t_c; // [C] 단위온도값저장 myhumi=(uint8_t)rh_true; // [%RH] 단위습도값저장 OscilloscopeM.nc 에서는우선 OscopeMsg 를 include 시킨후, 실제구현부분에서사용할여러컴포넌트의인터페이스들을기술한다. implementation 의첫부분에서는사용할여러변수들및부수적인서브함수들을선언한다. 처음호출되는 StdControl.init() 함수는여러컴포넌트들및변수들의초기화와관련된일을처리한다. 그다음호출되는 StdControl.start() 함수에서는 125ms 시간마다반복해서 signal 을발생시키는 Timer 컴포넌트및시리얼통신부분을담당하는 CommControl 컴포넌트그리고 SHT11 컴포넌트와관련있는 SplitControl 컴포넌트를활성화시킨다. StdContro.start() 에서설정된 Timer 컴포넌트에의해 125ms 마다 Timer.fired() 함수가호출되고, 이함수에서는 SHT11_Humidity.getData() 함수를통해 SHT11 칩에게습도값을요청한다. 주석처리된 SHT11_Temp.getData() 함수를사용하면온도값을요청할수있다. HumidityC 컴포넌트는 SHT11 센서로부터요청한결과값을받은후, event 형태의 SHT11_temp.dataReady(uint16_t data) 함수나 SHT11_Humidity.dataReady(uint16_t data) 함수를통해상위컴포넌트에게센서값을전달한다. 이예제에서는 SHT11_Humidity.getData() 함수만호출했기때문에,

20 SHT11_Humidity.dataReady(uint16_t data) 함수만동작될것이다. SHT11 칩으로부터습도나온도값을받게되면, calc_sht11(p_humidity, p_temperature) 를호출 하여, 받은측정값을실제사용되는온도및습도단위 (C, %RH) 로바꿔변수 myhumi 와 mytemp 에각각저장한다. 그후, datataskhumi() 함수나 datatasktemp() 함수를통해얻은센서값을시리얼통신을통해 PC 로전송한다. 사용자는자바애플리케이션을사용하여센서노드가시리얼통신으로전송하는 데이터값을확인할수있다. (1) 예비보고서에작성한모스부호프로그램을실제로센서에올려서잘못된부분을수정하 여프로그램을완성시키고소스코드를첨부하라. (2) 예비보고서에작성한센서제어프로그램을실제로센서노드에올려서잘못된부분을 수정하여프로그램을완성시키고실행중인오실로스코프프로그램을캡쳐하여수정된소스코드와 함께첨부하라

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 8주차중간고사 ( 인터럽트및 A/D 변환기문제및풀이 ) Next-Generation Networks Lab. 외부입력인터럽트예제 문제 1 포트 A 의 7-segment 에초시계를구현한다. Tact 스위치 SW3 을 CPU 보드의 PE4 에연결한다. 그리고, SW3 을누르면하강 에지에서초시계가 00 으로초기화된다. 동시에 Tact 스위치 SW4 를 CPU 보드의

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 7주차 AVR의 A/D 변환기제어레지스터및관련실습 Next-Generation Networks Lab. 3. 관련레지스터 표 9-4 레지스터 ADMUX ADCSRA ADCH ADCL 설명 ADC Multiplexer Selection Register ADC 의입력채널선택및기준전압선택외 ADC Control and Status Register A ADC 의동작을설정하거나동작상태를표시함

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Verilog: Finite State Machines CSED311 Lab03 Joonsung Kim, joonsung90@postech.ac.kr Finite State Machines Digital system design 시간에배운것과같습니다. Moore / Mealy machines Verilog 를이용해서어떻게구현할까? 2 Finite State

More information

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다 이장에서사용되는 MATLAB 명령어들은비교적복잡하므로 MATLAB 창에서명령어를직접입력하지않고확장자가 m 인 text 파일을작성하여실행을한다. 즉, test.m 과같은 text 파일을만들어서 MATLAB 프로그램을작성한후실행을한다. 이와같이하면길고복잡한 MATLAB 프로그램을작성하여실행할수있고, 오류가발생하거나수정이필요한경우손쉽게수정하여실행할수있는장점이있으며,

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 4 th Lecture 유명환 ( yoo@netplug.co.kr) 1 시간 (Time) 에대한정의 INDEX 2 왜타이머 (Timer) 와카운터 (Counter) 인가? 3 ATmega128 타이머 / 카운터동작구조 4 ATmega128 타이머 / 카운터관련레지스터 5 뻔뻔한노하우 : 레지스터비트설정방법 6 ATmega128

More information

정보보안 개론과 실습:네트워크

정보보안 개론과 실습:네트워크 ` 마이크로프로세서설계및실습 12-13 주차강의자료 학습목표 A/D 변환기의제어방법을이해한다 능숙하게 A/D 변환기를제어할수있도록반복실습한다 2/28 아날로그 - 디지털변환회로 아날로그 - 디지털변환회로 (A/D 변환회로 ) 는, 아날로그전기신호를디지털전기신호로변환하는전자회로이다 A/D 컨버터 (ADC: Analog-to-digital converter) 라고도불린다

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

<C6F7C6AEB6F5B1B3C0E72E687770>

<C6F7C6AEB6F5B1B3C0E72E687770> 1-1. 포트란 언어의 역사 1 1-2. 포트란 언어의 실행 단계 1 1-3. 문제해결의 순서 2 1-4. Overview of Fortran 2 1-5. Use of Columns in Fortran 3 1-6. INTEGER, REAL, and CHARACTER Data Types 4 1-7. Arithmetic Expressions 4 1-8. 포트란에서의

More information

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어 개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,

More information

vi 사용법

vi 사용법 네트워크프로그래밍 6 장과제샘플코드 - 1:1 채팅 (udp 버전 ) 과제 서버에서먼저 bind 하고그포트를다른사람에게알려줄것 클라이언트에서알려준포트로접속 서로간에키보드입력을받아상대방에게메시지전송 2 Makefile 1 SRC_DIR =../../common 2 COM_OBJS = $(SRC_DIR)/addressUtility.o $(SRC_DIR)/dieWithMessage.o

More information

1장. 유닉스 시스템 프로그래밍 개요

1장.  유닉스 시스템 프로그래밍 개요 Unix 프로그래밍및실습 7 장. 시그널 - 과제보충 응용과제 1 부모프로세스는반복해서메뉴를출력하고사용자로부터주문을받아자식프로세스에게주문내용을알린다. (SIGUSR1) ( 일단주문을받으면음식이완료되기전까지 SIGUSR1 을제외한다른시그널은모두무시 ) timer 자식프로세스는주문을받으면조리를시작한다. ( 일단조리를시작하면음식이완성되기전까지 SIGALARM 을제외한다른시그널은모두무시

More information

System Recovery 사용자 매뉴얼

System Recovery 사용자 매뉴얼 Samsung OS Recovery Solution 을이용하여간편하게 MagicInfo 의네트워크를설정하고시스템을백업및복원할수있습니다. 시스템시작시리모컨의 - 버튼이나키보드의 F3 키를연속해서누르면복구모드로진입한후 Samsung OS Recovery Solution 이실행됩니다. Samsung OS Recovery Solution 은키보드와리모컨을사용하여조작할수있습니다.

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f JPA 에서 QueryDSL 사용하기위해 JPAQuery 인스턴스생성방법 http://ojc.asia, http://ojcedu.com 1. JPAQuery 를직접생성하기 JPAQuery 인스턴스생성하기 QueryDSL의 JPAQuery API를사용하려면 JPAQuery 인스턴스를생성하면된다. // entitymanager는 JPA의 EntityManage

More information

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor 19. 전처리와분할컴파일 순천향대학교컴퓨터학부이상정 1 학습내용 전처리명령어 #include #define 기호상수 const 분할컴파일 순천향대학교컴퓨터학부이상정 2 전처리과정 전처리 (preprocessor) 전처리명령어는 # 기호로시작 #incldue #define 순천향대학교컴퓨터학부이상정 3 #include (1) 지정된파일을프로그램에삽입 꺽쇠괄호는포함할파일을컴파일러에설정되어있는특정디렉토리에서검색

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Text-LCD Device Control - Device driver Jo, Heeseung M3 모듈에장착되어있는 Tedxt LCD 장치를제어하는 App 을개발 TextLCD 는영문자와숫자일본어, 특수문자를표현하는데사용되는디바이스 HBE-SM5-S4210 의 TextLCD 는 16 문자 *2 라인을 Display 할수있으며, 이 TextLCD 를제어하기위하여

More information

<B3EDB4DC28B1E8BCAEC7F6292E687770>

<B3EDB4DC28B1E8BCAEC7F6292E687770> 1) 초고를읽고소중한조언을주신여러분들게감사드린다. 소중한조언들에도불구하고이글이포함하는오류는전적으로저자개인의것임을밝혀둔다. 2) 대표적인학자가 Asia's Next Giant: South Korea and Late Industrialization, 1990 을저술한 MIT 의 A. Amsden 교수이다. - 1 - - 2 - 3) 계량방법론은회귀분석 (regression)

More information

????밀촼꿜

????밀촼꿜 Contents 1 01 02 03 04 05 2 06 07 08 09 10 11 12 13 14 15

More information

Java ...

Java ... 컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++, Level 1은객관식사지선다형으로출제예정 1. 다음은 POST(Post of Sales Terminal) 시스템의한콜레보레이션다이어그램이다. POST 객체의 enteritem(upc, qty) 와 Sale 객체의 makellineitem(spec,qty) 를 Java 또는 C ++, C # 언어로구현하시오. 각메소드구현과관련하여각객체내에필요한선언이있으면선언하시오.

More information

LG-LU6200_ICS_UG_V1.0_ indd

LG-LU6200_ICS_UG_V1.0_ indd 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED Controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

COMFILE_VOL13_20140204.cdr

COMFILE_VOL13_20140204.cdr "다양한 산업현장에서 쓰이고 있는 컴파일 제품" 데이터 수집 데이터 수집용 필드 I/O 제품 "모드포트" 필드 I/O 전력 모니터링 로봇 제어 태양광 발전 트랙커 제어 CUPC-P80 CT1721C CB405 포장기 화력발전소-화력 감지 시스템 녹방지장치(용존산소제거장치) CT1721C CB280, CLCD-216 CUWIN3500 일회용 용기 성형기 항온항습기

More information

<4D F736F F F696E74202D20C1A63137C0E520B5BFC0FBB8DEB8F0B8AEBFCD20BFACB0E1B8AEBDBAC6AE>

<4D F736F F F696E74202D20C1A63137C0E520B5BFC0FBB8DEB8F0B8AEBFCD20BFACB0E1B8AEBDBAC6AE> 쉽게풀어쓴 C 언어 Express 제 17 장동적메모리와연결리스트 이번장에서학습할내용 동적메모리할당의이해 동적메모리할당관련함수 연결리스트 동적메모리할당에대한개념을이해하고응용으로연결리스트를학습합니다. 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

1

1 1 2 3 4 5 6 b b t P A S M T U s 7 m P P 8 t P A S M T U s 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Chapter 1 29 1 2 3 4 18 17 16 15 5 6 7 8 9 14 13 12 11 10 1 2 3 4 5 9 10 11 12 13 14 15

More information

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가 www.kdnetwork.com 특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가능할 삭제할 건전지 사용자를 위한 개별 비밀번호 및 RF카드

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 4 강. 함수와라이브러리함수목차 함수오버로딩 디폴트매개변수 라이브러리함수 clock 함수 난수발생 비버퍼형문자입력 커서이동 프로그래밍문제 1 /21 4 강. 함수와라이브러리함수함수오버로딩 2 /21 함수오버로딩 동일한이름의함수를여러개만들수있음 함수프로파일이달라야함 함수프로파일

More information

untitled

untitled Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II

More information

UART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ UL UART PORT1 void UAR

UART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ UL UART PORT1 void UAR IMC-V0.1 예제소스파일 1. UART 소스코드 (page 1-3) 2. Encoder 소스코드 (page 4-7) 3. ADC 소스코드 (page 8-10) UART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

ActFax 4.31 Local Privilege Escalation Exploit

ActFax 4.31 Local Privilege Escalation Exploit NSHC 2013. 05. 23 악성코드 분석 보고서 [ Ransomware 악성코드 ] 사용자의 컴퓨터를 강제로 잠그고 돈을 요구하는 형태의 공격이 기승을 부리고 있 습니다. 이러한 형태의 공격에 이용되는 악성코드는 Ransomware로 불리는 악성코 드 입니다. 한번 감염 시 치료절차가 복잡하며, 보고서 작성 시점을 기준으로 지속 적인 피해자가 발생되고

More information

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 삼성SDS 하이패스 USB 드라이버 설치 매뉴얼 삼성SDS(주) 목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 8에서 설치...9 2. 드라이버

More information

기초컴퓨터프로그래밍

기초컴퓨터프로그래밍 구조체 #include int main() { } printf("structure\n"); printf("instructor: Keon Myung Lee\n"); return 0; 내용 구조체 (struct) Typedef 공용체 (union) 열거형 (enum) 구조체 구조체 (structure) 어떤대상을표현하는서로연관된항목 ( 변수 )

More information

슬라이드 1

슬라이드 1 한국산업기술대학교 제 5 강스케일링및회전 이대현교수 학습안내 학습목표 3D 오브젝트의확대, 축소및회전방법을이해한다. 학습내용 3D 오브젝트의확대및축소 (Scaling) 3D 오브젝트의회전 (Rotation) 변홖공갂 (Transform Space) SceneNode 의크기변홖 (Scale) void setscale ( Real x, Real y, Real z)

More information

오버라이딩 (Overriding)

오버라이딩 (Overriding) WindowEvent WindowEvent 윈도우가열리거나 (opened) 닫힐때 (closed) 활성화되거나 (activated) 비활성화될때 (deactivated) 최소화되거나 (iconified) 복귀될때 (deiconified) 윈도우닫힘버튼을누를때 (closing) WindowEvent 수신자 abstract class WindowListener

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 9 강캐릭터컨트롤러 이대현교수 학습안내 학습목표 씬노드의구성및회전방법을응용하여, 구면카메라및캐릭터컨트롤을구현해본다. 학습내용 구면카메라구현을위한씬노드구성및회전캐릭터컨트롤을위한씬노구구성및회전 카메라및캐릭터컨트롤구현목표 카메라컨트롤 WOW의카메라컨트롤 ( 구면카메라 ) 마우스를이용한좌우패닝, 상하피칭. 휠스크롤을이용한줌인및줌아웃. 캐릭터를중심으로회전됨.

More information

SMT-1722-1922-Kor.indd

SMT-1722-1922-Kor.indd SMT-2231 사용 설명서 첨부물 포장상자 개봉 후 제품은 튼튼하고 평평한 곳이나 설치장소에 놓고, 다음 내용물이 전부 있는지 체크하세요. TFT LCD 모니터 리모컨&건전지 VGA 신호케이블 전원코드 모니터 설치안내서 사용설명 CD 조작부 설명 전면조작부 적외선 센서 리모컨 센서 수신부 / PIP 동작중인 기능의 레벨증가 및 OSD메뉴 선택합니다.

More information

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할수없습니다. 변경금지. 귀하는이저작물을개작, 변형또는가공할수없습니다. 귀하는, 이저작물의재이용이나배포의경우,

More information

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft PowerPoint - 03-TCP Programming.ppt Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

Chapter 1

Chapter 1 3 Oracle 설치 Objectives Download Oracle 11g Release 2 Install Oracle 11g Release 2 Download Oracle SQL Developer 4.0.3 Install Oracle SQL Developer 4.0.3 Create a database connection 2 Download Oracle 11g

More information

Chapter 4. LISTS

Chapter 4. LISTS 연결리스트의응용 류관희 충북대학교 1 체인연산 체인을역순으로만드는 (inverting) 연산 3 개의포인터를적절히이용하여제자리 (in place) 에서문제를해결 typedef struct listnode *listpointer; typedef struct listnode { char data; listpointer link; ; 2 체인연산 체인을역순으로만드는

More information

<B9CCB5F0BEEE20C1A4BAB8C3B3B8AE2E687770>

<B9CCB5F0BEEE20C1A4BAB8C3B3B8AE2E687770> 제목 : 미디어정보처리프로그래밍실습모음 일시 : 2002. 6. 15 작성자 : 성용철학번 : 한남대학교정보통신멀티미디어공학부 ( 전자정보통신전공 ) 미디어정보처리프로그래밍실습숙제설명 1.256 X 256 grayscale 의디스플레이프로그램 Resource View 의 menu item 에서 Display 밑에 Raw gray 라마든다음에그림과같이 ID 와

More information

Microsoft Word - ExecutionStack

Microsoft Word - ExecutionStack Lecture 15: LM code from high level language /* Simple Program */ external int get_int(); external void put_int(); int sum; clear_sum() { sum=0; int step=2; main() { register int i; static int count; clear_sum();

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 소켓 2 1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.

More information

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode] TCP Server/Client Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 TCP Server Program Procedure TCP Server socket() bind() 소켓생성 소켓번호와소켓주소의결합 listen() accept() read() 서비스처리, write()

More information

5.스택(강의자료).key

5.스택(강의자료).key CHP 5: https://www.youtube.com/watch?v=ns-r91557ds ? (stack): (LIFO:Last-In First-Out):. D C B C B C B C B (element) C (top) B (bottom) (DT) : n element : create() ::=. is_empty(s) ::=. is_full(s) ::=.

More information

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다.

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다. C 언어와 Assembly Language 을사용한 Programming 20011.9 경희대학교조원경 1. AVR Studio 에서사용하는 Assembler AVR Studio에서는 GCC Assembler와 AVR Assmbler를사용한다. A. GCC Assembler : GCC를사용하는경우 (WinAVR 등을사용하는경우 ) 사용할수있다. New Project

More information

lecture4(6.범용IO).hwp

lecture4(6.범용IO).hwp 제 2 부 C-언어를 사용한 마이크로컨트롤러 활용기초 66 C-언어는 수학계산을 위해 개발된 FORTRAN 같은 고급언어들과는 달 리 Unix 운영체제를 개발하면서 같이 개발된 고급언어이다. 운영체제의 특성상 C-언어는 다른 고급언어에 비해 컴퓨터의 하드웨어를 직접 제어할 수 있는 능력이 탁월하여 마이크로프로세서의 프로그램에 있어서 어셈블 리와 더불어 가장

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로 한국어 표준 설정안내 서브 초침 시간 및 설정 1. 용두를 2의 위치로 뽑아냅니다. 2. 용두를 시계방향 또는 반시계방향으로 돌려(모델에 따라 다름) 를 전날로 설정합니다. 3. 용두를 3의 위치로 당기고 현재 가 표시될 때까지 시계방향으로 돌립니다. 4. 용두를 계속 돌려 정확한 오전/오후 시간을 설정합니다. 5. 용두를 1의 위치로 되돌립니다. 169 쓰리

More information

Java Programing Environment

Java Programing Environment Lab Exercise #7 Swing Component 프로그래밍 2007 봄학기 고급프로그래밍 김영국충남대전기정보통신공학부 실습내용 실습과제 7-1 : 정규표현식을이용한사용자정보의유효성검사 (ATM 에서사용자등록용도로사용가능 ) 실습과제 7-2 : 숫자맞추기게임 실습과제 7-3 : 은행관리프로그램 고급프로그래밍 Swing Component 프로그래밍 2

More information

Table of Contents 1 Introduction Implementation Connection Process Socket 0 Open in MACRAW mode PPPoE Discovery Proces

Table of Contents 1 Introduction Implementation Connection Process Socket 0 Open in MACRAW mode PPPoE Discovery Proces PPPoE Application Note in MACRAW mode Version 1.0.0 2014 WIZnet Co., Ltd. All Rights Reserved. For more information, visit our website at http://www.wiznet.co.kr W7100A Application Note PPPoE in MACRAW

More information

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7>

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7> 제14장 동적 메모리 할당 Dynamic Allocation void * malloc(sizeof(char)*256) void * calloc(sizeof(char), 256) void * realloc(void *, size_t); Self-Referece NODE struct selfref { int n; struct selfref *next; }; Linked

More information

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가 수업주제 경찰 출동! (버튼, LED, 버저 사용하기) 9 / 12 차시 수업의 주제와 목표 본 수업에서는 이전 차시에 배웠던 블록들의 기능을 복합적으로 활용한다. 스위치 기능을 가진 버튼을 활용하여 LED와 버저를 동시에 작동시키도록 한다. 각 블록들을 함께 사용하는 프로젝트를 통해 각각의 기능을 익히고 보다 다양한 활용 방법을 구상할 수 있다. 교수 학습

More information

Microsoft PowerPoint - 14주차 강의자료

Microsoft PowerPoint - 14주차 강의자료 Java 로만드는 Monster 잡기게임예제이해 2014. 12. 2 게임화면및게임방법 기사초기위치 : (0,0) 아이템 10 개랜덤생성 몬스터 10 놈랜덤생성 Frame 하단에기사위치와기사파워출력방향키로기사이동아이템과몬스터는고정종료버튼클릭하면종료 Project 구성 GameMain.java GUI 환경설정, Main Method 게임객체램덤위치에생성 Event

More information

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770> 예약어(reserved word) : 프로그래밍 언어에서 특별한 용도로 사용하고자 미리 지정한 단어 - 프로그램의 구성요소를 구별하게 해주는 역할 => 라벨, 서브 프로그램 이름, 변수에 연관되어 다른 변수나 서브 프로그램 등과 구별 - 식별자의 최대길이는 언어마다 각각 다르며 허용길이를 넘어서면 나머지 문자열은 무시됨 - FORTRAN, COBOL, HTML

More information

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

Microsoft Word - FS_ZigBee_Manual_V1.3.docx FirmSYS Zigbee etworks Kit User Manual FS-ZK500 Rev. 2008/05 Page 1 of 26 Version 1.3 목 차 1. 제품구성... 3 2. 개요... 4 3. 네트워크 설명... 5 4. 호스트/노드 설명... 6 네트워크 구성... 6 5. 모바일 태그 설명... 8 6. 프로토콜 설명... 9 프로토콜 목록...

More information

Chapter_06

Chapter_06 프로그래밍 1 1 Chapter 6. Functions and Program Structure April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 문자의입력방법을이해한다. 중첩된 if문을이해한다. while 반복문의사용법을익힌다. do 반복문의사용법을익힌다.

More information

Microsoft PowerPoint - 12 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 1.ppt

Microsoft PowerPoint - 12 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 1.ppt 12 장 소켓을이용한통신 (1) 함수 - inet_addr - inet_ntoa - socket - bind - listen - accept - connect - recv -send 1 서론 파이프를사용하여통신을하기위한시스템호출 / 표준라이브러리함수 함수 의미 inet_addr 문자열형태의인터넷주소를바이너리형태로변환한다. inet_ntoa 바이너리형태의인터넷주소를문자열형태로변환한다.

More information

Microsoft PowerPoint - 13 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 2.ppt

Microsoft PowerPoint - 13 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 2.ppt 13 장소켓을이용한통신 (2) 소켓을이용한통신 (2) 함수 - recvfrom - sendto - uname - gethostname - gethostbyname - gethostbyaddr 1 1. 서론 소켓을사용하여비연결형모델로통신을하기위한함수와그외의함수 함수 의미 recvfrom 비연결형모델에서소켓을통해메시지를수신한다. sendto 비연결형모델에서소켓을통해메시지를송신한다.

More information

Microsoft PowerPoint - 08-Queue.ppt

Microsoft PowerPoint - 08-Queue.ppt Chapter Queue ( 큐 ) Dongwon Jeong djeong@kunsan.ac.kr Department of Informatics & Statistics 학습목표 큐의개념및추상데이터타입에대한이해 큐의구현방법 배열 링크드리스트 덱 / 데크의개념과구현방법 큐 (QUEUE) 큐 : 먼저들어온데이터가먼저나가는자료구조 선입선출 (FIFO: First-In

More information

2007_2_project4

2007_2_project4 Programming Methodology Instructor: Kyuseok Shim Project #4: external sort with template Due Date: 0:0 a.m. between 2007-12-2 & 2007-12-3 Introduction 이프로젝트는 C++ 의 template을이용한 sorting algorithm과정렬해야할데이터의크기가

More information

2 단어별로읽어들이기 WORDTREE 2 2. 단어별로읽어들이기. 먼저입력스트림으로부터단어를선별하는함수부터작성하겠습니다. getword ( ) 함수는주어진입력을단어별로다루기위해서, 입력스트림으로부터단어를빼내는함수입니다. 여기서단어란글자 (letter) 로시작하면서글자와

2 단어별로읽어들이기 WORDTREE 2 2. 단어별로읽어들이기. 먼저입력스트림으로부터단어를선별하는함수부터작성하겠습니다. getword ( ) 함수는주어진입력을단어별로다루기위해서, 입력스트림으로부터단어를빼내는함수입니다. 여기서단어란글자 (letter) 로시작하면서글자와 1. 단어출현횟수출력. 이프로그램은 The C Programming Language 책의 6.5 절 Self-referntial Structures 의첫번째예제프로그램을교육을목적으로자세한설명을곁들여 CWEB 으로다시작성한것으로파일을입력으로받아서그파일에있는모든단어의출현횟수를출력하는프로그램입니다. 입력파일에어떠한단어들이들어있는지미리알수없기때문에단어들을알파벳순으로나열할수는없어

More information

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾ P a 02 r t Chapter 4 TCP Chapter 5 Chapter 6 UDP Chapter 7 Chapter 8 GUI C h a p t e r 04 TCP 1 3 1 2 3 TCP TCP TCP [ 4 2] listen connect send accept recv send recv [ 4 1] PC Internet Explorer HTTP HTTP

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 RecurDyn 의 Co-simulation 와 하드웨어인터페이스적용 2016.11.16 User day 김진수, 서준원 펑션베이솔루션그룹 Index 1. Co-simulation 이란? Interface 방식 Co-simulation 개념 2. RecurDyn 과 Co-simulation 이가능한분야별소프트웨어 Dynamics과 Control 1) RecurDyn

More information

Windows Server 2012

Windows Server  2012 Windows Server 2012 Shared Nothing Live Migration Shared Nothing Live Migration 은 SMB Live Migration 방식과다른점은 VM 데이터파일의위치입니다. Shared Nothing Live Migration 방식은 Hyper-V 호스트의로컬디스크에 VM 데이터파일이위치합니다. 반면에, SMB

More information

TEL: 042-863-8301~3 FAX: 042-863-8304 5 6 6 6 6 7 7 8 8 9 9 10 10 10 10 10 11 12 12 12 13 14 15 14 16 17 17 18 1 8 9 15 1 8 9 15 9. REMOTE 9.1 Remote Mode 1) CH Remote Flow Set 0 2) GMate2000A

More information

?뗡뀶?믟뀱?솽꼶?듄꼮??

?뗡뀶?믟뀱?솽꼶?듄꼮?? ACB/ATS/SPD Air Circuit Breaker / Automatic Transfer Switch / Surge Protective Device Moving Forward into the World 02_03 World Class Brand ACB/ATS/SPD Air Circuit Breaker / Automatic Transfer Switch /

More information

LCD Display

LCD Display LCD Display SyncMaster 460DRn, 460DR VCR DVD DTV HDMI DVI to HDMI LAN USB (MDC: Multiple Display Control) PC. PC RS-232C. PC (Serial port) (Serial port) RS-232C.. > > Multiple Display

More information

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp l Y ( X g, Y g ) r v L v v R L θ X ( X c, Yc) W (a) (b) DC 12V 9A Battery 전원부 DC-DC Converter +12V, -12V DC-DC Converter 5V DC-AC Inverter AC 220V DC-DC Converter 3.3V Motor Driver 80196kc,PWM Main

More information

PowerPoint Presentation

PowerPoint Presentation 신호조절 (Signal Conditioning) 메카트로닉스 시스템의 구성 ECU 인터페이스 회로 (시그널 컨디셔닝) 마이컴 Model of 기계 시스템 인터페이스 회로 (드라이빙 회로) 센서 액츄에이터 (구동기) 기계 시스템 PN 접합 다이오드 [1] 다이오드의 DC 해석과 등가모델 [1] 다이오드의 DC 해석과 등가모델 [1] 다이오드 응용회로 [1] 다이오드

More information

Microsoft PowerPoint - chap06-4 [호환 모드]

Microsoft PowerPoint - chap06-4 [호환 모드] 2011-1 학기프로그래밍입문 (1) chapter 06-4 참고자료 문자열의처리 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 문자열의연산 문자열은배열의형태로구현된응용자료형이므로연산을자유롭게할수없다. 배열에저장된문자열의길이를계산하는작업도간단하지않다.

More information

중간고사 (자료 구조)

중간고사 (자료 구조) Data Structures 215 중간고사 문제에서명시적으로기술하지않은부분은교재의내용에근거함. 215. 1. 27. 1 다음용어에대하여간단하게설명하시오 ( 각 3 점 *1=3 점 ) 1 abstract data type 6 Circular linked list 2 recursion 3 time complexity 4 space complexity 5 Single

More information

<4D F736F F D20BDBAC5D7C7CE20B6F3C0CEC6AEB7B9C0CCBCADB0ADC1C2202D203420C7C1B7CEB1D7B7A1B9D62E646F63>

<4D F736F F D20BDBAC5D7C7CE20B6F3C0CEC6AEB7B9C0CCBCADB0ADC1C2202D203420C7C1B7CEB1D7B7A1B9D62E646F63> 라인트레이서강좌 4. 프로그래밍 2005년 8월 1일류대우 (davidryu@newtc.co.kr) 1. 라인트레이서란? 라인트레이서는정해진주행선을따라움직이는자율이동로봇이다. 현재공장자동화부분에서이용되고있는무인반송차가라인트레이서이다. 라인트레이서의기본적인원리는주어진주행선을센서로검출하여이것에따라목적위치까지이동하는것이다. 라인트레이서는크게 3부분 - 컨트롤러부,

More information

°ø°³¼ÒÇÁÆ®-8È£

°ø°³¼ÒÇÁÆ®-8È£ 2007. 08 No.8 IT World 운영체제 미들웨어 데이터베이스 웹프로그래밍까지 표준화된공개SW 컴퓨팅환경이지원합니다. 글로벌표준의공개SW 환경은 핵심애플리케이션뿐만아니라다양한플랫폼에서도활용됩니다. 2 2007. 08No.8 Contents Special Editorial 04 Best Practice 08 12 16 20 24 26 Insight 32

More information

Introduction to Geotechnical Engineering II

Introduction to  Geotechnical Engineering II Fundamentals of Computer System - chapter 9. Functions 민기복 Ki-Bok Min, PhD 서울대학교에너지자원공학과조교수 Assistant Professor, Energy Resources Engineering Last week Chapter 7. C control statements: Branching and Jumps

More information

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1 디지털 사진 프린터 P-S100 프린터 드라이버 설치 가이드 사용하는 컴퓨터에 따라 제공된 프린터 드라이버를 설치합니다. 설치 절차 에 대한 자세한 내용은 CD-ROM의 Readme 파일을 참조하십시오. 작동 환경 Windows 호환 모델: IBM PC/AT 및 호환품 운영 체제: Windows 98 SE/Me/2000/XP (Windows 98 SE/Me/2000/XP

More information

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1); void method() 2); void method1() public class Test 3); args) A 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

SBR-100S User Manual

SBR-100S User Manual ( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S

More information