<BDC7C7E83720BFB9BAF1BAB8B0EDBCAD2E687770>

Size: px
Start display at page:

Download "<BDC7C7E83720BFB9BAF1BAB8B0EDBCAD2E687770>"

Transcription

1 제목 : 실험 #7 예비보고서 USART 통신제어 실험목적 - RS-232C 통신규격에대해이해한다. - ATmega128의 USART0과 USART1을이용한동기및비동기 RS-232C 통신방법을알아본다. 실험장비 - ATmega128(AVR Chip), MAX232CPE Chip, RS-232C 케이블 실험이론 - RS-232C 통신 직렬통신에는동기식과비동기식통신방법이있는데, 동기식통신방법은각장치들을기준클럭에동기를맞추어데이터를순차적으로전송하는방식을말한다. 동기식방식은높은전송속도를요구하는곳에서사용되나, 송수신기기간에동기를맞추어야하기때문에제어가어렵다. 비동기식통신방식은동기클럭없이장치간의데이터전송속도만을맞추어순차적으로전송하는방식을말한다. 동기식방식에비해제어가간편하지만비교적낮은전송속도를갖는다. 비동기식통신방식을 RS-232C라고한다. DTE DCE DCE DTE 컴퓨터 RS-232C 통신선로 RS-232C 모뎀모뎀 ( 전화회선 ) 컴퓨터 - 모뎀을통한컴퓨터와터미널의접속예 - - RS-232C 의신호및기능 (9 핀커넥터 ) 핀번호 명칭 신호방향 DTE-DCE 기호 1 캐리어검출 (Data Carrier Detect) DCD 2 수신데이터 (Received Data) RxD 3 송신데이터 (Transmitted Data) TxD 4 데이터단말준비 (Data Terminal Ready) DTR 5 신호용접지 (Signal Ground) SG 6 통신기기세트준비 (Data Set Ready) DSR 7 송신요구 (Request to Send) RTS 8 송신허가 (Clear to Send) CTS 9 Ring Indicator RI 1. DCD: 모뎀이상대편모뎀과전화선등을통해접속이완료되었을때, 상대편모뎀이캐리어신호를보 내오며이신호를검출하였음을 DTE에게알려주는신호선이다. 2. RxD: DCE에서 DTE로의입력직렬데이터의송신선 3. TxD: DTE에서 DCE로의출력직렬데이터의송신선 4. DTR: DTE가준비상태로되어있다는것을 DCE에게알리는신호. 이신호를 ON 상태로하면모뎀이 회선과접속을하고, OFF 상태로하면모뎀은회선과단절된다. 5. DSR: DCE가동작가능상태로되어있다는것을알리는신호. DTR로동작시켜서모뎀이회선솨접속 을하면이신호는 ON 상태로된다. 6. RTS: DCE의송신기능을제어하는신호. 이신호를 ON 상태로하면 DCE는캐리어를회선으로출력한 다. DCE로데이터를송신하고있는중에는이 RTS가반드시 ON 상태로되어있어야한다. 7. CTS: DCE가데이터를송신할수있는상태임을알리는신호. RTS에의해동작되며, 출력한캐리어가 안정되면 ON된다. 8. RI: 상대편모뎀이통신을하기위해먼저전화를걸어오면전화벨이울리는데, 이신호가인식되었음을 DTE에게알려주는신호선이다.

2 - RS-232C 의전기적규격및커넥터 상태 L H 전압범위 -25V ~ -3V +3V ~ +25V 논리 1 0 명칭 마크 스페이스 : 일반디지털논리는전압강하와노이즈때문에원격장치에데이터를전송하기어렵다. 따라서 RS-232C에서는어느정도의전압강하가발생하더라도일정거리는안전하게신호를전송할수있도록 각신호간전압차를늘려서규정하였다. 1 의값을 +12V, 0 의값을 12V로신호간의전압차를 24V로 만들면, 15m 내의거리는최대 19.2Kbps의속도를낸다. : RS-232C의전기적규격은위의표와같다. 즉, -3V이하일때논리 1, +3V 이상일때논리 1 로인식 된다. - RS-232C 의데이터 Frame 구성과순서 - RS-232C 전송신호의예 - 위그림에서볼수있듯이, 한바이트의데이터를송신하는데에는실제데이터의앞뒤에시작비트와정지비트를추가하여한문자의동기를맞춘다. 보통시작비트와정지비트는 1비트를사용하지만설정에따라 2비트로사용하기도한다. 전송데이터는 5비트 ~ 9비트를사용하고, 전송시의오류를검사하기위해데이터뒤에패리티비트를추가하기도한다. 따라서송 수신측이통신속도, 데이터비트, 정지비트, 패리티비트의사용유무를일치시켜야원활한통신이가능하다. 통신속도는 Baud rate라고도하는데, 이는초당전송비트를의미하며단위는 bps를사용한다. 일반적으로 2400, 4800, 9600, 19200, 38400, 57600, 중하나를사용한다. - RS-232C의데이터프레임구조 - 데이터비전송시 (Idle) 엔 1 상태로있다가, 데이터전송이시작되면시작비트 (St) 인 0 상태가나타난다. 그뒤양단의설정에맞는길이의데이터비트가이어지고, 패리티비트의설정에따라패리티비트가붙게된다. 마지막으로역시양단의설정에맞는길이의정지비트가나타난뒤연속으로전송할데이터가있다면다시시작비트 (0), 더이상전송할데이터가없다면 Idle 상태 (1) 로돌아간다.

3 - RS-232C의인터페이스 IC (MAX232) TTL 신호를 RS-232C 레벨로변환하기위해서는라인드라이버 (SN75188) 와라인리시버 (SN75189) 가필요하다. 하지만회로의크기등의문제로, 보통라인드라이버와리시버가하나의칩으로구현된 MAX232 칩을사용한다. 라인드라이버 / 리시버를따로사용할때에는별도의 ±12V 전원이필요하였지만, MAX232칩을사용할경우 +5V 전원을그대로사용할수있다는장점이있다. - ATmega128 의 USART 회로 & 작동원리 - ATmega128 USART 회로의 Block diagram - ATmega128의 USART회로는크게클럭발생부 (Clock Generator), 송신부 (Transmitter), 수신부 (Receiver) 로구성되어있다. 클럭발생부는동기식슬레이브모드의동작을위해외부클럭 (XCK) 과동기를맞추는논리부와비동기식의통신속도를결정하는 Baud rate 발생기로구성되어있다. 송 / 수신부는하나의버퍼, 시프트레지스터, 패리티발생기 ( 송신부 )/ 검사기 ( 수신부 ) 와제어부로구성되어있다. 수신부의수신버퍼는안전한수신을위해이중버퍼구조로구성되어있다. 작동원리 : UBRR 레지스터를통해통신속도를설정하면 Baud rate 발생기가설정한값에맞는클럭을생성한다. : UCSR 레지스터를통해데이터비트길이, 정지비트길이, 패리티비트사용유무를설정하면송신시, 시작비트를출력한뒤, 송신버퍼의내용을송신시프트레지스터를통해한비트씩밀어내며출력하고, 패리티비트사용시패리티발생기가패리티값을생성해출력한다. 그뒤마지막으로설정한길이만큼의정지비트를출력해송신을완료한다. : 수신시에는, 수신한프레임의오류가없는지패리티검사기에의해확인된뒤수신시프트레지스터로값이이동되어순차적으로수신버퍼에쓰여진다.

4 - USART 통신과관련된레지스터 UDRn(USART I/O Data Register) 은송수신데이터버퍼의기능을수행한다. 송 / 수신레지스터의접근주소는동일하지만, 하드웨어적으로는서로별개인 TXBn, RXBn 레지스터로나뉘어져있다. UDR 의내용을읽으면 RXBn 레지스터의내용이읽어지고, UDR 에값을쓰면 TXBn 레지스터에저장되는것이다. - UDRn 레지스터 - UCSRnX(USARTn Control and Status Register) 는 USARTn 의송수신동작을제어하거나송수신상태정보를갖고있는레지스터이다. USARTn Receive Complete. RXCn 데이터의수신이완료되어버퍼에문자가들어와있으면 1로설정된다. 또한 RXCIEn 비트가 1로설정되어수신완료인터럽트사용시, 이인터럽트를발생하는데에사용된다. USARTn Transmit Complete. 송신시프트레지스터에있는문자가모두송신되어송신버퍼가비어있는상태가되 TXCn 면 1로설정된다. 또한 TXCIEn 비트가 1로설정되어송신완료인터럽트사용시, 이인터럽트를발생하는데에사용된다. 이비트에 1을쓰면 0으로클리어된다. USARTn Data Register Empty. 송신버퍼에새로운데이터를쓸준비가되었음을알리는플래그로, 1로설정되면송신 UDREn 버퍼가비어있어서송신데이터를버퍼에쓸준비가되었음을나타낸다. 이플래그는 UDRIEn 비트가 1로설정되어데이터레지스터준비완료인터럽트사용시, 인터럽트요청에사용된다. Frame Error. FEn UDRn 수신버퍼에현재수신된데이터프레임에오류가발생하였음을나타내는플래그이다. 프레임오류는데이터프레임의첫번째정지비트가 0으로검출되면 1로설정된다. Data OverRun Error. DORn 데이터수신시, 2중버퍼구조인수신버퍼가두개의문자로꽉차있는데수신시프트레지스터에새로운문자가들어와세번째문자의시작비트가검출되면 1로설정된다. USARTn Parity Error. UPEn 현재수신된데이터를수신하는동안에, 패리티오류가발생하였음을나타내는플래그이다. UPMn1 비트를 1로설정하여패리티를사용하도록하였을때에만동작한다. Double the USARTn Transmission Speed. U2Xn 비동기모드에서만적용되며, USARTn의클럭분주비를 16에서 8로낮춰전송속도를두배로높이는기능을한다. Multiprocessor Communication Mode. MPCMn USARTn의동작모드를다중프로세서모드로설정한다. USARTn RX Complete Interrupt Enable. 수신완료인터럽트를개별적으로허가하는비트이다. 이비트와 SREG 레지스터의 I비 RXCIEn 트가 1로설정된경우, 하나의문자가수신되어 RXCn 비트가 1로설정되면수신완료인터럽트가발생한다. USARTn TX Complete Interrupt Enable. 송신완료인터럽트를개별적으로허가하는비트이다. 이비트와 SREG 레지스터의 I비 TXCIEn 트가 1로설정된경우, 송신시프트레지스터가비어 TXCn 비트가 1로설정되면송신완료인터럽트가발생한다. USARTn Data Register Ready Interrupt Enable. 송신데이터레지스터준비완료인터럽트를개별적으로허가하는비트이다. 이비트와 UDRIEn SREG 레지스터의 I비트가 1로설정된경우, 송신버퍼가비어 UDREn 비트가 1로설정되면인터럽트가발생한다.

5 RXENn TXENn Receiver Enable. USARTn 수신부의사용을허가하는비트이다. 이비트가 1로설정되어야 RxDn 핀이 GPIO가아닌 USART 수신단자로동작하게되며, FEn, DORn, UPEn 비트의동작이유효하게된다. Transmitter Enable. USARTn 송신부의사용을허가하는비트이다. 이비트가 1로설정되어야 TxDn 핀이 GPIO가아닌 USART 송신단자로동작하게되며, 송신시프트레지스터가비어있지않으면이비트를 0으로설정하더라도전송이완료될때까지는적용되지않는다. Character Size. 전송문자의비트수를설정하는데사용된다. UCSZn[2:0] RXBn8 TXBn8 UMSELn Receive Data Bit 8. 전송문자길이가 9비트로설정된경우, 수신된문자의 9번째비트를저장하는데사용되며, 반드시 UDRn 레지스터보다먼저읽어야한다. Transmit Data Bit 8. 전송문자길이가 9비트로설정된경우, 송신할문자의 9번째비트를저장하는데사용되며, 반드시 UDRn 레지스터보다먼저써야한다. Mode Select. USARTn의동작모드를동기 / 비동시방식중의하나로설정한다. 0: 비동기방식, 1: 동기방식 Parity Mode. 패리티발생과검사형태를설정하는기능을한다. 패리티검사결과가일치하지않으면 UPEn 비트를 1로설정한다. UPMn[1:0] USBSn Stop Bit Select. 정지비트의수를결정한다. 0: 1비트, 1: 2비트 Clock Polarity. 동기전송모드에서만적용되며, 동기클럭에대해데이터출력의변화시점과데이터입력의샘플링시점을결정한다. UCPOLn - UCSRnX 레지스터 -

6 USARTn Baud Rate Register. 전체 16 비트중에서하위 12 비트만 Baud rate 발생용으로사용되며, USARTn 포트의송수신속도를설정하는레지스터이다. 값을쓸때에는상위바이트인 UBRRnH 를먼저쓴다음 UBRRnL 을써야한다. - UBRRn 값설정을위한공식 - UBRRn 레지스터 - - 직렬통신이이루어지는과정 (Polling 방식 ) 송신시 : UDREn 비트가 1이될때까지대기후데이터를송신한다. while(!(ucsr1a & (1 << UDRE1))); UDR1 = byte; 수신시 : RXCn 비트가 1 이될때까지대기후데이터를수신한다. while(!(ucsr1a & (1 << RXC1))); byte = UDR1; - 직렬통신이이루어지는과정 (Interrupt 방식 ) 송신시 : 데이터송신시에는폴링방식을사용하는것이좋다. 수신시 : RXCIE 비트를 1로설정해인터럽트를설정하고, 서비스루틴에서데이터를수신한다. ISR(USART1_RX_vect) { UDR1 = UDR1; 실험방법 - AVR Studio 4를이용하여프로그램소스코드작성후빌드하여실행파일 (.hex) 을생성한다. - AVR Studio 4의 AVR Programmer 를이용, AVR칩에프로그램을다운로드하여실험킷에서의동작을확인한다. - 하이퍼터미널등직렬통신용프로그램을통해통신상태를확인한다. 예제코드분석 폴링방식 - C 소스코드 #include <avr/io.h> #include "UART_Lib.h" #define LED_CS (*(volatile unsigned char *) 0x4800) UART 통신관련함수와 Baud rate 설정이정의된헤더파일. 실제함수는 UART_Lib.c 에정의되어있다. 외부 LED 의메모리매핑주소 void MCU_init(void);

7 int main(void) { unsigned char Message[] = "Initialization Complete!"; unsigned char buff = 0; MCU_init(); UART_init(); buff = UDR1; uart_send_string(message,25); uart_send_byte('\n'); uart_send_byte('\r'); LED_CS = 0x55; 처음실행시 UART 통신을통해전송할문자열 UART 통신시사용할문자버퍼 MCU 초기화. UART 설정초기화. UART_Lib.c 에정의되어있다. 코드상불필요해보이지만, 수신버퍼에존재할수있는쓰레기값을제거하기위해현재수신버퍼를비우는것으로생각된다. 상대측에 UART 초기화가완료되었음을알리는문자열과개행문자를전송한다. 외부 LED 를 ON 상태로만들어초기화가완료되었음을표시한다. while(1) { buff = uart_recv_byte(); UDR1 = buff; return 0; 상대측이전송한문자를수신버퍼에서가져온다. 수신한문자를다시상대측에 Echo back 시킨다. void MCU_init() { MCUCR = 0x80 ; UART_Lib.c #include "UART_Lib.h" void uart_send_byte(unsigned char byte) { while (!(UCSR1A & (1 << UDRE1))); UDR1 = byte; void uart_send_string(unsigned char *str, unsigned char len) { int i; for (i = 0; i < len; i++) { if (!(*(str + i))) break; uart_send_byte(*(str + i)); unsigned char uart_recv_byte(void) { while (!(UCSR1A & (1 << RXC1))); return UDR1; void UART_init(void) { UBRR1L = (unsigned char) BAUD_RATE_L; UBRR1H = (unsigned char) BAUD_RATE_H; UCSR1C = (0 << UPM1) (0 << UPM0) (0 << USBS) (1 << UCSZ1) (1 << UCSZ0); UCSR1B = (1 << TXEN) (1 << RXEN) (0 << UCSZ2); UART_Lib.h #include <avr/io.h> #define BS 0x08 #define CR 0x0D #define CPU_CLOCK #define BAUD_RATE #define BAUD_RATE_L (CPU_CLOCK / (16 * BAUD_RATE)) #define BAUD_RATE_H ((CPU_CLOCK / (16 * BAUD_RATE))) >> 8 MCU 초기화함수외부메모리 IO 를위해 SRE 비트를 1 로설정. Baud rate 설정과, 이파일에정의된함수를다른모듈과링크시키기위한헤더파일 UART 를통해한문자를전송하는함수송신버퍼가쓰기가능한상태가될때까지대기송신버퍼가쓰기가능한상태일때인수로받은문자를송신버퍼에전달하여상대측에전송하도록한다. UART 를통해문자열을전송하는함수 인수로받은문자열의길이만큼반복한다. 문자열의끝 (null) 을만나면반복문을빠져나간다. 한문자씩전송하도록한다. UART 를통해한문자를수신하는함수수신버퍼에수신한데이터가있을때까지대기수신한문자를반환한다. UART 통신초기화함수 UBBR 레지스터에 Baud rate 에따른계산값을설정한다. 계산값은헤더파일에정의되어있다. UCSZ 비트를 011 로설정해데이터길이를 8 비트로사용하도록한다. UPM 비트를 00 으로설정해패리티비트를사용하지않는다. USBS 비트를 0 으로설정해정지비트를 1 비트로사용한다. TXEN, RXEN 비트를 1 로설정하여 UART 송수신기능을모두사용하도록한다. Backspace 의 ASCII 제어코드 Carriage return 의 ASCII 제어코드 UBRR 레지스터값계산을위해사용할 AVR 의클럭정의 UART 통신에사용할 Baud rate 정의 Baud rate 를공식에의해 UBRRL 에적용할값계산 Baud rate 를공식에의해 UBRRLH 에적용할값계산

8 void uart_send_byte(unsigned char byte); void uart_send_string(unsigned char *str, unsigned char len); unsigned char uart_recv_byte(void); void UART_init(void); 폴링방식 - 어셈블리어소스코드.equ CPU_CLOCK = equ BAUD_RATE = equ BAUD_RATE_L = (CPU_CLOCK / (16 * BAUD_RATE)).equ BAUD_RATE_H = ((CPU_CLOCK / (16 * BAUD_RATE))) >> 8.equ LED_CS = 0x4800.include "m128def.inc" 다른모듈과링크를위해 UART_Lib.c 파일에정의한함수들의원형을정의했다. UBRR 레지스터값계산을위해사용할 AVR 의클럭정의 UART 통신에사용할 Baud rate 정의 Baud rate 를공식에의해 UBRRL 에적용할값계산 Baud rate 를공식에의해 UBRRLH 에적용할값계산 외부 LED 의메모리매핑주소.cseg.org 0x0000 JMP RESET.org 0x0046 RESET: LDI R16, 0x10 OUT SPH,R16 LDI R16, 0xFF OUT SPL,R16 LDI R16, 0b OUT MCUCR,R16 CALL UART_Init LDS R16,UDR1 CLI CALL SET_MESSAGE CALL TX1_STRING LDI R16, '\r' LDI R16, '\n' MAIN_LOOP: CALL RX1_CHAR JMP MAIN_LOOP SET_MESSAGE: LDI ZL,byte3(MESSAGE << 1) OUT RAMPZ,ZL LDI ZH,high(MESSAGE << 1) LDI ZL,low(MESSAGE << 1) 프로그램의코드의시작 Reset 인터럽트 (Power on 등 ) 의인터럽트벡터주소메인프로그램의주소로이동한다. 인터럽트벡터테이블이후의주소부터사용하도록주소지정메인프로그램루틴프로그램의스택설정 외부메모리 IO 를위해 SRE 비트를 1 로설정. UART 설정초기화. UART_Lib.asm 에정의되어있다. 코드상불필요해보이지만, 수신버퍼에존재할수있는쓰레기값을제거하기위해현재수신버퍼를비우는것으로생각된다. SREG 레지스터의 I 비트를 0 으로설정해전체인터럽트를금지한다. 상대측에 UART 초기화가완료되었음을알리는문자열과개행문자를전송한다. 반복수행을위한레이블상대측이전송한문자를수신버퍼에서가져온다. 수신한문자를다시상대측에 Echo back 시킨다. 위동작을반복한다. 초기화완료메세지주소설정루틴 UART 초기화가완료되었음을알리는문자열의프로그램메모리상의주소를 Z 레지스터에설정한다. MESSAGE:.db "Initialization Complete!".db 0, 0.include "UART_LIB.asm" UART_LIB.asm UART_Init: LDI R16, BAUD_RATE_H LDI R17, BAUD_RATE_L STS UBRR1H,R16 STS UBRR1L,R17 처음실행시 UART 통신을통해전송할문자열 UART 통신관련함수를정의해놓은 asm 파일 UART 통신초기화루틴 (Polling 방식 ) 메인코드에서정의한 Baud rate 에따른계산값을가져온다. 가져온계산값을 UBBR 레지스터에설정한다. LDI R16,0b STS UCSR1A,R16 LDI R16,0b STS UCSR1B,R16 TXEN, RXEN 비트를 1 로설정하여 UART 송수신기능을모두사용하도록한다.

9 LDI R16,0b STS UCSR1C,R16 TX1_STRING: PUSH R16 TX1_STRING_SUB: ELPM R16, Z+ CPI R16, 0 BREQ TRANS_COMPLETE RJMP TX1_STRING_SUB TRANS_COMPLETE: UCSZ 비트를 011 로설정해데이터길이를 8 비트로사용하도록한다. UPM 비트를 00 으로설정해패리티비트를사용하지않는다. USBS 비트를 0 으로설정해정지비트를 1 비트로사용한다. UART 를통해문자열을전송하는함수. 인수로문자열의메모리주소를저장한 Z 레지스터를사용한다. 문자열의끝까지반복하기위한레이블현재주소의문자를 R16 에가져온다. 가져온문자가 null 문자인지비교하여 null 문자라면문자열의끝이기때문에루프를빠져나간다. 가져온문자를상대측에전송한다. 문자열의끝까지반복한다. POP R16 TX1_CHAR: PUSH R17 TX1_CHAR_SUB: LDS R17, UCSR1A SBRS R17, UDRE1 RJMP TX1_CHAR_SUB STS UDR1,R16 UART 를통해한문자를전송하는루틴. 인수로전송할문자값을저장한 R16 레지스터를사용한다. 송신버퍼가쓰기가능한상태가될때까지대기하기위한레이블 UDRE 비트가있는 UCSRnA 레지스터의값을 R17 에저장한다. UDRE 비트가 1 이라면송신버퍼가쓰기가능상태이기때문에루프를빠져나간다. UDRE 비트가 0 이라면레이블로돌아가서폴링방식으로체크한다. 인수로받은문자를송신버퍼에전달하여상대측에전송하도록한다. POP R17 RX1_CHAR: LDS R16, UCSR1A SBRS R16, RXC1 RJMP RX1_CHAR LDS R16, UDR1 STS LED_CS, R16 UART 를통해한문자를수신하는루틴. R16 에수신한문자를저장해서호출한루틴에반환한다. RXC 비트가있는 UCSRnA 레지스터의값을 R16 에저장한다. RXC 비트가 1 이라면문자가수신된상태이기때문에루프를빠져나간다. RXC 비트가 0 이라면루틴의처음으로돌아가서폴링방식으로체크한다. 수신버퍼의내용을 R16 에가져온다. 가져온데이터를외부 LED 에출력하여표시한다. 이예제는송수신가능상태를지속적으로확인하는폴링방식으로동작하며, 수신한문자를그대로송신측에되돌려보내는 Echo back 기능을하도록작성되어있다. USART1 을통해작동한다. 어셈블리어소스코드는추가적으로현재전송받은문자값을외부 LED 로출력한다. 초기화완료메시지가출력되고다음행에키보드로입력한문자들이 Echo back 되어터미널화면에출력되었다. 인터럽트방식 - C 소스코드 #include <avr/io.h> #include "KeyScanLib.h" #include "UART_Lib.h" #include "Delay_Lib.h" - 예제의결과화면 - #define LED_CS (*(volatile unsigned char *) 0x4800) void MCU_init() { MCUCR = 0x80 ; sei(); 외부 LED 의메모리매핑주소 MCU 초기화함수외부메모리 IO 를위해 SRE 비트를 1 로설정. SREG 레지스터의 I 비트를 1 로설정해글로벌인터럽트사용.

10 int main(void) { unsigned char Message[] = "Initialization Complete!"; unsigned char buff = 0; MCU_init(); UART_init_with_INT(); uart_send_string(message,25); uart_send_byte('\n'); uart_send_byte('\r'); while(1) { delay_ms(80); buff = KeyPadScan(); LED_CS = buff; if(buff!= 0) uart_send_byte(buff+'0'); return 0; UART_Lib.c ( 폴링방식코드에서추가된부분 ) ISR(USART1_RX_vect) { UDR1 = UDR1; 처음실행시 UART 통신을통해전송할문자열키패드로입력한버튼의번호를저장하기위한버퍼 MCU 초기화. 인터럽트용 UART 설정초기화. UART_Lib.c 에정의되어있다. 상대측에 UART 초기화가완료되었음을알리는문자열과개행문자를전송한다. 80ms 간격으로다음키패드상태를스캔하고, 그결과를버퍼에저장한다. 키패드값을외부 LED 에출력한다. 키패드에눌려진버튼이있다면해당버튼값숫자의 ASCII 코드를송신하기위해 0 의 ASCII 코드를더한값을송신한다. USART1 수신완료인터럽트서비스루틴수신버퍼의내용을다시송신버퍼에옮긴다. Echo back void UART_init_with_INT(void) { UBRR1L = (unsigned char) BAUD_RATE_L; UBRR1H = (unsigned char) BAUD_RATE_H; UCSR1C = (0 << UPM1) (0 << UPM0) (0 << USBS) (1 << UCSZ1) (1 << UCSZ0); UCSR1B = (1 << RXCIE) (1 << TXEN) (1 << RXEN) (0 << UCSZ2); UCSR1A = 0x00; 인터럽트방식 - 어셈블리어소스코드.equ CPU_CLOCK = equ BAUD_RATE = equ BAUD_RATE_L = (CPU_CLOCK / (16 * BAUD_RATE)).equ BAUD_RATE_H = ((CPU_CLOCK / (16 * BAUD_RATE))) >> 8.equ LED_CS = 0x4800.include "m128def.inc" UART 통신초기화함수 UBBR 레지스터에 Baud rate 에따른계산값을설정한다. 계산값은헤더파일에정의되어있다. UCSZ 비트를 011 로설정해데이터길이를 8 비트로사용하도록한다. UPM 비트를 00 으로설정해패리티비트를사용하지않는다. USBS 비트를 0 으로설정해정지비트를 1 비트로사용한다. RXCIE 비트를 1 로설정하여수신완료인터럽트를허용하며, TXEN, RXEN 비트를 1 로설정하여 UART 송수신기능을모두사용하도록한다. UBRR 레지스터값계산을위해사용할 AVR 의클럭정의 UART 통신에사용할 Baud rate 정의 Baud rate 를공식에의해 UBRRL 에적용할값계산 Baud rate 를공식에의해 UBRRLH 에적용할값계산 외부 LED 의메모리매핑주소.cseg.org 0x0000 JMP RESET.org 0x003C JMP UART1_INT_ISR.org 0x0046 RESET: LDI R16, 0x10 OUT SPH,R16 LDI R16, 0xFF OUT SPL,R16 LDI R16, 0b OUT MCUCR,R16 CALL UART_Init_with_INT LDS R16,UDR1 SEI CALL SET_MESSAGE CALL TX1_STRING LDI R16, '\r' 프로그램의코드의시작 Reset 인터럽트 (Power on 등 ) 의인터럽트벡터주소메인프로그램의주소로이동한다. USART1 수신완료인터럽트의인터럽트벡터주소 USART1 수신완료인터럽트서비스루틴으로이동한다. 인터럽트벡터테이블이후의주소부터사용하도록주소지정메인프로그램루틴프로그램의스택설정 외부메모리 IO 를위해 SRE 비트를 1 로설정. UART 설정초기화. UART_Lib.asm 에정의되어있다. 코드상불필요해보이지만, 수신버퍼에존재할수있는쓰레기값을제거하기위해현재수신버퍼를비우는것으로생각된다. SREG 레지스터의 I 비트를 1 로설정해글로벌인터럽트를허용한다. 상대측에 UART 초기화가완료되었음을알리는문자열과개행문자를전송한다.

11 LDI R16, '\n' MAIN_LOOP: CALL D80MS CALL KEYPAD_READ CPI R16, 0x00 BREQ MAIN_LOOP LDI R17, '0' ADD R16, R17 RJMP MAIN_LOOP SET_MESSAGE: LDI ZL,byte3(MESSAGE << 1) OUT RAMPZ,ZL LDI ZH,high(MESSAGE << 1) LDI ZL,low(MESSAGE << 1) MESSAGE:.db "Initialization Complete!".db 0, 0 반복수행을위한레이블 80ms 의딜레이를준다. 키패드상태를스캔하고, 그결과를 R16 으로반환받는다. 키패드에눌려진버튼이없다면레이블로돌아가지속적으로키스캔을실시한다. 키패드에눌려진버튼이있다면해당버튼값숫자의 ASCII 코드를송신하기위해 0 을더한다. ASCII 코드를더해만들어진문자를송신한다. 초기화완료메세지주소설정루틴 UART 초기화가완료되었음을알리는문자열의프로그램메모리상의주소를 Z 레지스터에설정한다. 처음실행시 UART 통신을통해전송할문자열.include "UART_LIB.asm".include "KeyScan_LIB.asm".include "Delay.asm" UART_LIB.asm ( 폴링방식코드에서추가된부분 ) UART_Init_with_INT: LDI R16, BAUD_RATE_H LDI R17, BAUD_RATE_L STS UBRR1H,R16 STS UBRR1L,R17 LDI R16,0b STS UCSR1A,R16 UART 통신초기화루틴 (Interrupt 방식 ) 메인코드에서정의한 Baud rate 에따른계산값을가져온다. 가져온계산값을 UBBR 레지스터에설정한다. LDI R16,0b STS UCSR1B,R16 LDI R16,0b STS UCSR1C,R16 UART1_INT_ISR: PUSH R16 LDS R16, UDR1 STS UDR1,R16 STS LED_CS, R16 RXCIE 비트를 1 로설정하여수신완료인터럽트를허용하며, TXEN, RXEN 비트를 1 로설정하여 UART 송수신기능을모두사용하도록한다. RXCIE 비트를 1 로설정하여수신완료인터럽트를사용한다. UCSZ 비트를 011 로설정해데이터길이를 8 비트로사용하도록한다. UPM 비트를 00 으로설정해패리티비트를사용하지않는다. USBS 비트를 0 으로설정해정지비트를 1 비트로사용한다. USART1 수신완료인터럽트서비스루틴 수신버퍼의데이터를 R16 에가져온다. 가져온데이터를다시송신버퍼에옮긴다. Echo back 수신한값을외부 LED 에표시한다. POP R16 I 폴링방식과마찬가지로 Echo back 기능을하도록작성되어있다. 단, 수신방법이수신버퍼에데이터가있을때발생하는수신완료인터럽트를사용하도록변경되었다. 부가적으로, 키패드를통해입력된버튼의번호를상대측에전송하는기능이구현되었다. 참고문헌 - RS-232C 이론1: RS232 Data Interface ( ) - RS-232C 이론2: MAX232 Datasheet

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 6 th Lecture 유명환 ( yoo@netplug.co.kr) 1 2 통신 관련이야기 시리얼통신 관련이야기 INDEX 3 ATmega128 시리얼통신회로도분석 4 ATmega128 시리얼통신컨트롤러 (USART) 분석 5 ATmega128 시리얼통신관련레지스터분석 6 ATmega128 시리얼통신실습 1 통신 관련이야기 동기

More information

Microsoft PowerPoint - Chapter 8_USART Serial Communication

Microsoft PowerPoint - Chapter 8_USART Serial Communication MEC382 마이크로프로세서응용및실습 USART Serial Communication Jee-Hwan Ryu School of Mechanical Engineering 통신방법 병렬통신 고속데이터전송이필요한곳에서이루어짐 여러개의라인에서동시에이루어짐 직렬통신 한라인에서이루어짐 데이터의송수신속도가느리다 라인수적고멀리까지통신 동기식, 비동기식있음 동기식 : 기준클럭인동기클럭라인과데이터송

More information

2주차: 입출력 제어 복습

2주차: 입출력 제어 복습 마이크로프로세서 응용및실습 ` 13-14 주차 : 직렬통신 (2) 한철수 전자공학과 2/35 직렬통신과병렬통신 직렬통신 한가닥의선으로송수신할데이터를차례대로전송하는방식 장점 : 통신선로가적기때문에경제적임 단점 : 전송속도가느림. 송수신약속이복잡해짐 병렬통신 여러가닥의선으로동시에여러개의데이터를전송하는방식 장점 : 전송속도가빠름 단점 : 직렬통신보다비쌈 3/35

More information

Microsoft PowerPoint - AVR 시리얼 통신.ppt [호환 모드]

Microsoft PowerPoint - AVR 시리얼 통신.ppt [호환 모드] AVR UART 통신 류대우 davidryu@newtc.co.kr 시리얼 (Serial) 통신이란? Serial 통신은하나의신호선을이용해서데이터를비트단위로보내는방식 8 비트비동기식통신콘트롤러 (UART : Universal Asynchronous Receiver Transmitter) 데이터는 LSB 부터 MSB 순으로데이터전송 Serial interface

More information

목차 1. UART와 RS232 개요 2. ATMega128의 USART 포트 3. UART로 Hello 보내기 4. UART로 PC와데이터주고받기

목차 1. UART와 RS232 개요 2. ATMega128의 USART 포트 3. UART로 Hello 보내기 4. UART로 PC와데이터주고받기 Chapter. 8 UART HBE-MCU-Multi AVR Jaeheug, Lee 목차 1. UART와 RS232 개요 2. ATMega128의 USART 포트 3. UART로 Hello 보내기 4. UART로 PC와데이터주고받기 UART 와 RS232 개요 UART(Uiversal Asychroous Receiver/Trasmitter) 시리얼기반의통신방식으로일반적으로

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

ATmega128 교재 - 8장 EEPROM.hwp

ATmega128 교재 - 8장 EEPROM.hwp 8.1 EEPROM 과 Flash Memory ATmega128에는프로그램메모리로서 128KB의플래시메모리를내장하고있고데이터메모리로서 4KB의 EEPROM을내장하고있다. EEPROM과플래시메모리는하나의뿌리에서발전해온매우유사한메모리이지만사용방법이서로다르다. 이것들은오늘날독립된메모리소자로서도널리사용되고있으므로충분히알아둘필요가있다. EEPROM(Electrically

More information

MAX232 MAXIM사에서생산되는 RS-232통신을가능토록해주는송수신 IC이다. 송수신드라이브를각각 2개씩가지고있다. AVR과컴퓨터가인식하는 0과 1의값이다르기때문에.. 마이컴컴퓨터 이차이를해결해주는것이다. 0 0V -10V 1 5V 10V TTL IC 의전원단자와다

MAX232 MAXIM사에서생산되는 RS-232통신을가능토록해주는송수신 IC이다. 송수신드라이브를각각 2개씩가지고있다. AVR과컴퓨터가인식하는 0과 1의값이다르기때문에.. 마이컴컴퓨터 이차이를해결해주는것이다. 0 0V -10V 1 5V 10V TTL IC 의전원단자와다 Code Vison AVR C ATmega 8535 RS232 시리얼통신 컨넥터와신호선 RS232 통신을위한컨넥터는 9핀과 25핀컨넥터가있으나, 최근에는 9핀컨넥터를많이사용한다. 실제데이터가송수신되는핀은 TXD(3) 와 RXD(2) 이고기능은다음과같다. 9 핀컨넥터의모습 TXD - Transmit Data 비동기식직렬통신장치가외부장치로데이터를보낼때, 직렬통신데이터가나오는신호선

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

데이터 통신

데이터 통신 직 / 병렬통신 1. 병렬전송 2. 직렬전송 3. RS-232 통신 4. RS-422 통신 5. RS-485 통신 직 / 병렬통신 1 전송방식 직 / 병렬통신 2 1 병렬전송 병렬전송 한번에 1 개의비트가아닌 n 개의그룹의비트를전송 n 비트를전송하기위해 n 개의전선을사용 장점 직렬전송에비해 n 배만큼전송속도가증가 단점 가격이비싸다 짧은거리만가능 직 / 병렬통신

More information

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - (Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register

More information

슬라이드 1

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

More information

개요

개요 Application Note (003) 시리얼인터페이스 (RS232/RS422/RS485) Version 1.0 솔내시스템주식회사 1. 개요 는 RS232, RS422, RS485등 3개의시리얼인터페이스를지원합니다. 사용자는 의설정용유틸리티인 ezconfig를이용해서 3개의인터페이스중에서하나를선택하여설정할수있습니다. 1.1. RS232 Ground를기준으로한전압을이용해서통신하는형태입니다.

More information

<BDC7C7E83520BFB9BAF1BAB8B0EDBCAD2E687770>

<BDC7C7E83520BFB9BAF1BAB8B0EDBCAD2E687770> 제목 : 실험 #5 예비보고서 Interrupt 제어 실험목적 - Interrupt에대한기초지식을알아본다. - Atmega128의 Interrupt를사용해보고, 동작방식과동작방법및특징을확인한다. 실험장비 - ATmega128(AVR Chip), Switch, LED(Green-LED) 실험이론 - 인터럽트 (Interrupt) 인터럽트는프로그램이수행되고있는동안에어떤조건이발생하여수행중인프로그램을일시적으로중지시키게만드는조건이나사건의발생을말한다.

More information

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고 CHAPTER 7 인터럽트 가. 레지스터구조이해하기 나. 엔코더제어하기 인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고급한일을처리한후에본래의일을다시수행하는것을말한다.

More information

시리얼통신 (USART) 범용동기및비동기시리얼수신기와송신기 (USART) 는매우유연한시리얼통신장치이다. 주요특징은다음과같다. w 송수신레지스터가독립적으로운용되는전이중방식. w 비동기또는동기동작. w 마스터또는슬레이브동기동작. w 고해상도전송속도생성기. w 5, 6, 7

시리얼통신 (USART) 범용동기및비동기시리얼수신기와송신기 (USART) 는매우유연한시리얼통신장치이다. 주요특징은다음과같다. w 송수신레지스터가독립적으로운용되는전이중방식. w 비동기또는동기동작. w 마스터또는슬레이브동기동작. w 고해상도전송속도생성기. w 5, 6, 7 CHAPTER 12 시리얼통신 가. 레지스터구조이해하기 나. 하이퍼터미널을이용하여로봇제어하기 시리얼통신 (USART) 범용동기및비동기시리얼수신기와송신기 (USART) 는매우유연한시리얼통신장치이다. 주요특징은다음과같다. w 송수신레지스터가독립적으로운용되는전이중방식. w 비동기또는동기동작. w 마스터또는슬레이브동기동작. w 고해상도전송속도생성기. w 5, 6,

More information

<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

V. 통신망 기술

V. 통신망 기술 오류검출기법 데이터전송오류 (error) 를검출하는기법 메시지전송시오류검출코드를데이터꼬리부분에부착하여전송하고수신측에서는이를사용하여오류발생여부판단 오류검출기법 패리티검사 블록합검사 (block sum check) 순환중복검사 (CRC : Cyclic Redundancy Check) 1 오류검출의기본원리 E= f(data) E,E = 오류검출코드 f = 오류검출함수

More information

1

1 - - - Data Sheet Copyright2002, SystemBase Co, Ltd - 1 - A0 A1 A2 CS0#, CS1# CS2#, CS3# CTS0#, CTS1# CTS2, CTS3# D7~D3, D2~D0 DCD0#, DCD1# DCD2#, DCD3# DSR0#, DSR1# DSR2#, DSR3# DTR0#, DTR1# DTR2#, DTR3#

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

<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

Microsoft PowerPoint - 9.Serial.pptx

Microsoft PowerPoint - 9.Serial.pptx 8051 Serial 통신 Mode 0 : 동기통신 Mode 123 1,2,3 : 비동기통신 dolicom@naver.com http://blog.naver.com/dolicom /d li 통신시동시에보내는데이터비트수 패럴럴통신 (Parallel) 두지점간데이터시데이터연결수가많다. 8비트를많이사용 LPT(Printer), SCSI(HDD), ATAPI(HDD)

More information

ATmega128

ATmega128 ATmega128 외부인터럽트실습 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring) Prof. Jae Young Choi 외부인터럽트실험 외부인터럽트를사용하기위해관렦레지스터를설정 일반적으로 I/O 포트에대한설정이끝난후에외부인터럽트나타이머 / 카운터설정 PE4~7 번까지 4 개의외부인터럽트 INT4~INT7 까지사용 외부인터럽트사용법요약

More information

슬라이드 1

슬라이드 1 AVR(Atmega128) Interrupt 1 Interrupt Polling 사용자가명령어를사용하여입력핀의값을계속읽어서변화를알아냄 모든경우의입력또는값의변화에대응하여처리가가능 Interrupt MCU 자체가하드웨어적으로그변화를체크하여변화시에만일정한동작 하드웨어적으로지원되는몇개의입력또는값의변화에만대응처리가가능 처리속도는일반적인경우인터럽트가빠름 인터럽트발생시

More information

인터럽트 * 인터럽트처리메커니즘 ATmega128 인터럽트 2

인터럽트 * 인터럽트처리메커니즘 ATmega128 인터럽트 2 ATmega128 인터럽트 1 제 04 강 인터럽트 (Interrupt) 인터럽트개요외부인터럽트참고 ) FND 회로실습및과제 인터럽트 * 인터럽트처리메커니즘 ATmega128 인터럽트 2 인터럽트 ( 계속 ) ATmega128 인터럽트 3 * 인터럽트벡터 (P.104 표 7.1 참조 ) : 35 개 인터럽트 ( 계속 ) * 인터럽트허용 / 금지메커니즘 ATmega128

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

More information

CANTUS Evaluation Board Ap. Note

CANTUS Evaluation Board Ap. Note Preliminary CANTUS - UART - 32bits EISC Microprocessor CANTUS Ver 1. October 8, 29 Advanced Digital Chips Inc. Ver 1. PRELIMINARY CANTUS Application Note( EVM B d ) History 29-1-8 Created Preliminary Specification

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

<BDC7C7E83220B0E1B0FABAB8B0EDBCAD202833C1D6C2F7292E687770>

<BDC7C7E83220B0E1B0FABAB8B0EDBCAD202833C1D6C2F7292E687770> 제목 : 실험 #2 결과보고서 외부 LED & Dip 스위치제어 실험일 : 2013. 03. 19. (3 주차 ) 실험내용 - 예비과제 : 메모리맵드 IO를통해 Dip 스위치의값을읽고, On 상태의스위치가하나이상있다면외부 LED를점멸하는프로그램 - 실험과제 : 메모리맵드 IO를통해 Dip 스위치의값을읽고, Dip 스위치의조작을통한사칙연산결과를 LED를통해출력하는프로그램.

More information

hd1300_k_v1r2_Final_.PDF

hd1300_k_v1r2_Final_.PDF Starter's Kit for HelloDevice 1300 Version 11 1 2 1 2 3 31 32 33 34 35 36 4 41 42 43 5 51 52 6 61 62 Appendix A (cross-over) IP 3 Starter's Kit for HelloDevice 1300 1 HelloDevice 1300 Starter's Kit HelloDevice

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

Microsoft PowerPoint - 부호기와 복호기.PPT

Microsoft PowerPoint - 부호기와 복호기.PPT 논리회로실험부호기와복호기 2005. 5. 3. 부호기와복호기란? 이론실험내용 개요 Encoder & Decoder 서로다른부호간의변환에사용되는것으로디지털신호를압축하거나전송시깨지지않도록바꾸는등여러가지목적에의해부호화라는장치와부호화되어전송되어온신호를다시원래의디지털신호로복호하는장치들을말한다. CODEC(enCOder DECoder) 이라고도한다. 기타 10진 to

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee 목차 1. D/A 변환기 2. 병렬 D/A 변환기로 LED 밝기제어하기 3. 직렬 D/A 변환기로 LED 밝기제어하기 D/A 변환기 D/A 변환기 (Digital to Analog Converter) 디지털데이터를아날로그전압으로변환하는소자 A/D변환기와함께마이크로프로세서응용회로에서널리사용됨.

More information

AVR Atmega128

AVR Atmega128 AVR Atmega128 외부인터럽트 중원대학교최재영 인터럽트와폴링 MCU 에서입력을받아들이는방법은폴링방식과인터럽트방식이있음 - 폴링 (Polling) 방식 : 사용자의명령어에의해서하드웨어의변경사항을주기적으로읽어들이는방식 주기적으로하드웨어의변화를체크하기때문에사용자의프로그래밍에따라다양핚변화에대응이가능하지만 CPU 의점유율이높기때문에반응속도가느리다. 인터럽트 (Interrupt)

More information

<BDC7C7E83820BFB9BAF1BAB8B0EDBCAD2E687770>

<BDC7C7E83820BFB9BAF1BAB8B0EDBCAD2E687770> 제목 : 실험 #8 예비보고서 ADC 제어 실험목적 - ADC를이용하여아날로그신호를디지털신호로변환하는과정을이해한다. - ATmega128의내장 ADC 제어방법을이해한다. 실험장비 - ATmega128(AVR Chip), 온도센서 (TC1047A), 조도센서 (TSL251R) 실험이론 - A/D 변환 아날로그신호 샘플링펄스 - A/D 변환과정 - A/D 변환과정은샘플

More information

untitled

untitled CAN BUS RS232 Line CAN H/W FIFO RS232 FIFO CAN S/W FIFO TERMINAL Emulator COMMAND Interpreter PROTOCOL Converter CAN2RS232 Converter Block Diagram > +- syntax

More information

Microsoft PowerPoint - 제5장 인터럽트 (HBE-MCU-Multi AVR).ppt [호환 모드]

Microsoft PowerPoint - 제5장 인터럽트 (HBE-MCU-Multi AVR).ppt [호환 모드] Chapter. 5 인터럽트 HBE-MCU-Multi AVR Jaeheung, Lee 목차 1. 폴링과인터럽트그리고인터럽트서비스루틴 2. ATMega128 인터럽트 3. 인터럽트로 LED 점멸시키기 4. 인터럽트로스톱워치만들기 인터럽트 1. 폴링과인터럽트그리고인터럽트서비스루틴 2. ATMega128 인터럽트 3. 인터럽트로 LED 점멸시키기 4. 인터럽트로스톱워치만들기

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

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

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

More information

MR-3000A-MAN.hwp

MR-3000A-MAN.hwp ITS Field Emulator for Traffic Local Controller [ MR-3000A ] User's Manual MORU Industrial Systems. www.moru.com - 1 - 1. 개요 MR-3000A는교통관제시스템에있어서현장용교통신호제어기의개발, 신호제어알고리즘의개발및검증, 교통신호제어기생산 LINE에서의자체검사수단등으로활용될수있도록개발된물리적모의시험장치이다.

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

Section 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역

Section 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역 Section 03 인터럽트활성화와인터럽트서비스루틴연결 33/82 Section 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역인터럽트활성화비트가 1 로셋되었을때

More information

[8051] 강의자료.PDF

[8051] 강의자료.PDF CY AC F0 RS1 RS0 OV - P 0xFF 0x80 0x7F 0x30 0x2F 0x20 0x1F 0x18 0x17 0x10 0x0F 0x08 0x07 0x00 0x0000 0x0FFF 0x1000 0xFFFF 0x0000 0xFFFF RAM SFR SMOD - - - GF1 GF0 PD IDL 31 19 18 9 12 13 14 15 1 2 3 4

More information

(MHT-SB112\273\347\276\347\274\255.hwp)

(MHT-SB112\273\347\276\347\274\255.hwp) 무한테크 Digital I/O Board MHT-SB112 경기도의왕시고천동 290-2 대영골든밸리 902 호 http:// Tel : 031-450 - 6737 Fax : 031-450 - 6738 Email : info@moohantechbiz 차례 1 사용되는용도및특징 2 구성요소 3 인터페이스구성 4 아날로그입력 5 통신프로토콜 6 딥스위치설정 7 PCB

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 4 장 UDP 소켓 제 4 장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송싞및수싞 4.4 UDP 소켓의연결 UDP 소켓의특징 UDP 소켓의특성 싞뢰할수없는데이터젂송방식 목적지에정확하게젂송된다는보장이없음. 별도의처리필요 비연결지향적, 순서바뀌는것이가능 흐름제어 (flow

More information

CAN-fly Quick Manual

CAN-fly Quick Manual adc-171 Manual Ver.1.0 2011.07.01 www.adc.co.kr 2 contents Contents 1. adc-171(rn-171 Pack) 개요 2. RN-171 Feature 3. adc-171 Connector 4. adc-171 Dimension 5. Schematic 6. Bill Of Materials 7. References

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

BY-FDP-4-70.hwp

BY-FDP-4-70.hwp RS-232, RS485 FND Display Module BY-FDP-4-70-XX (Rev 1.0) - 1 - 1. 개요. 본 Display Module은 RS-232, RS-485 겸용입니다. Power : DC24V, DC12V( 주문사양). Max Current : 0.6A 숫자크기 : 58mm(FND Size : 70x47mm 4 개) RS-232,

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

Microsoft Word - IRM9600x Spec.doc

Microsoft Word - IRM9600x Spec.doc IRM-9600x EM Tech 대전대덕구대화동 289-1 공구상가 5 동 227 호 TEL: (042) 623-4470 - 1 - 1. 주요기능및규격 PWM 변조방식 (Carrier Frequency: 307.2 KHz) Scrambler & Descrambler 기능통신지연 : 2.5 Bit 이하 ( 송신기 : 1Bit, 수신기 : 1.5 Bit) 빠른자동모드전환

More information

<BDC7C7E83120BFB9BAF1BAB8B0EDBCAD2E687770>

<BDC7C7E83120BFB9BAF1BAB8B0EDBCAD2E687770> 제목 : 실험 #1 예비보고서 GPIO LED 제어 실험목적 - AVR에대한기본적인구조및툴사용법, 프로그래밍방법등을학습한다. - AVR과연결된 LED를제어하는프로그램작성을통해 AVR의각포트별쓰임새와사용법을학습한다. 실험장비 - ATmega128(AVR Chip), LED(Blue-LED, Green-LED) 실험이론 - AVR Studio 4 ATmega128의제조사인

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

OSTSen-THL100 사용자설명서 Ver 1.1 Onsystech OSTSen-THL100 Ver1.1 1 of 8 Onsystech

OSTSen-THL100 사용자설명서 Ver 1.1 Onsystech OSTSen-THL100 Ver1.1 1 of 8 Onsystech OSTSen-THL100 사용자설명서 Ver 1.1 Onsystech OSTSen-THL100 Ver1.1 1 of 8 Onsystech 1. 제품소개 1) 제품특징 OSTSen-THL100은 UART 인터페이스를통하여온도, 습도, 조도데이터를제공하는센서모듈입니다. 이센서모듈은사용자가편리하게다양한분야에쉽게적용할수있도록소형으로제작되었습니다. PC에서 OSTSen-THL100의온도,

More information

Microsoft PowerPoint - polling.pptx

Microsoft PowerPoint - polling.pptx 지현석 (binish@home.cnu.ac.kr) http://binish.or.kr Index 이슈화된키보드해킹 최근키보드해킹이슈의배경지식 Interrupt VS polling What is polling? Polling pseudo code Polling 을이용한키로거분석 방어기법연구 이슈화된키보드해킹 키보드해킹은연일상한가! 주식, 펀드투자의시기?! 최근키보드해킹이슈의배경지식

More information

<BDC7C7E83320BFB9BAF1BAB8B0EDBCAD2E687770>

<BDC7C7E83320BFB9BAF1BAB8B0EDBCAD2E687770> 제목 : 실험 #3 예비보고서 Keypad & 7-Segment 제어 실험목적 - Atmega128을이용하여 Easy Processor Kit의 Keypad 및 7-Segment를제어한다. - Keypad의키스캔방식을통한제어와, Digit 선택을이용한다수의 7-Segment 제어방법을이해한다. 실험장비 - ATmega128(AVR Chip), 7-Segment(FND),

More information

DSP_MON 프로그램 메뉴얼

DSP_MON 프로그램 메뉴얼 UART_ 통신프로토콜사용자메뉴얼 리얼시스 TEL : 031-342-3000 FAX : 031-343-0003 주소 : 경기도안양시동안구호계동 1027번지안양IT밸리 504호 - 1 - [ 공통용어설명 ] 통신프로토콜 UART_ Analyzer 통신프로토콜공통형식 1. 동작요청명령및정상응답구조 시작문자 명령코드 Hex ASCII 데이터문자열 Check Sum

More information

<4D F736F F F696E74202D2037C0E55FC0CEC5CDB7B4C6AEC0C720B5BFC0DB2E707074>

<4D F736F F F696E74202D2037C0E55FC0CEC5CDB7B4C6AEC0C720B5BFC0DB2E707074> 7 장. 인터럽트의동작 한국산업기술대학교 이응혁교수 WWW.ROBOTICSLAB.CO.KR 1 7.1 인터럽트 (Interrupt) 개요 인터럽트개념 프로그램이수행되고있는동안에어떤조건이발생하여수행중인프로그램을일시적으로중지시키게만드는조건이나사건의발생 비동기적으로처리 다른프로그램이수행되는동안여러개의사건을처리할수있는메커니즘 인터럽트가발생하면마이크로컨트롤러는현재수행중인프로그램을일시중단하고,

More information

<BDC7C7E83120B0E1B0FABAB8B0EDBCAD202832C1D6C2F7292E687770>

<BDC7C7E83120B0E1B0FABAB8B0EDBCAD202832C1D6C2F7292E687770> 제목 : 실험 #1 결과보고서 GPIO LED 제어 실험일 : 2013. 03. 12. (2 주차 ) 실험내용 - 예비과제 : ATmega126의 8개의핀에연결되어있는 LED 점멸하는프로그램 - 실험과제 : ATmega126의 8개의 LED를순차적으로켜고끄는프로그램 실험결과 - 예비과제 - 해결방법 : 점멸되는시간 (Delay) 를구현하기위해임의의변수 i를적당한지연시간이생길정도의크기만큼증가시킨후,

More information

일반적인 네트워크의 구성은 다음과 같다

일반적인 네트워크의 구성은 다음과 같다 W5200 Errata Sheet Document History Ver 1.0.0 (Feb. 23, 2012) First release (erratum 1) Ver 1.0.1 (Mar. 28, 2012) Add a solution for erratum 1, 2 Ver 1.0.2 (Apr. 03, 2012) Add a solution for erratum 3

More information

Microsoft PowerPoint - ccs33_bios_com1_semaphore.ppt [호환 모드]

Microsoft PowerPoint - ccs33_bios_com1_semaphore.ppt [호환 모드] 1. CCS3.3 DSP/BIOS semaphore 를이용한 COM1 시리얼통신 기존의예제프로그램을바탕으로실제현장에적용가능한 BIOS 프로그램을시작하겠습니다. 이장에서사용할 H/W 는 F28335 내부에있는 UART0 포트를사용해 PC 와 RS-232 통신을 프로세서간동기를맞추는데사용하는 semaphore 를사용해작성해보겠습니다. -Semaphore 란 C

More information

Microsoft PowerPoint - 08-MP-4-interrupt

Microsoft PowerPoint - 08-MP-4-interrupt 순천향대학교컴퓨터학부이상정 1 학습내용 인터럽트기본 ATmega128 인터럽트벡터외부인터럽트인터페이스외부인터럽트프로그램예 순천향대학교컴퓨터학부이상정 2 인터럽트기본 순천향대학교컴퓨터학부이상정 3 인터럽트개념 CPU 내부또는외부의요구에의해서정상적인프로그램의실행순서를변경하여보다시급한작업 ( 인터럽트서비스루틴 ) 을먼저수행한후에다시원래의프로그램으로복귀하는것 인터럽트는주변장치의서비스요청에

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

1 1. INTRODUCTION 2 2. DOWNLOAD Windows Desktop & Server Max OS X, Linux, Windows CE 2 3. API REFERENCE CAN_OpenVcp CAN_Op

1 1. INTRODUCTION 2 2. DOWNLOAD Windows Desktop & Server Max OS X, Linux, Windows CE 2 3. API REFERENCE CAN_OpenVcp CAN_Op USB2CAN USB2CAN-VCP USB2CAN-FIFO API Reference Manual ver. 1.00 Updated in November 2013 1 1. INTRODUCTION 2 2. DOWNLOAD 2 2-1. Windows Desktop & Server 2 2-2. Max OS X, Linux, Windows CE 2 3. API REFERENCE

More information

제품 설명

제품 설명 1 절 제목 페이지 1.1 CP 341의사용 1-2 1.2 CP 341과의지점간연결에필요한컴포넌트 1-4 1.3 CP 341의설계 1-6 1.4 직렬인터페이스의속성 1-8 1.5 CP 341의통신파트너연결에사용되는케이블 1-12 지점간통신 CP 341 1-1 1.1 CP 341 의사용 CP 341 통신프로세서를사용하면지점간연결을통해프로그래머블컨트롤러나 컴퓨터사이에서데이터를교환할수있습니다.

More information

(8)

(8) 5-8. RS232 비동기통신예제 목표 : DSP28x 에는 2 개의비동기통신 (SCI) 이있다. EDU2812 KIT 에서 1 개의 SCI 는부트및데이터모니터링용으로사용하고, 나머지 1 개는 RS232C 형태로커넥터 (CN6) 에접속되어있다. 본예제에서는이 RS232C 통신을사용하여송수신인터럽트처리등에대해서학습해본 다. PC 에서특정문자를보내면일련의문자열로응답하는프로그램을작성해본다.

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

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

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

목차 1. 키패드 (KeyPAD) 2. KeyPAD 를이용한비밀번호입력기

목차 1. 키패드 (KeyPAD) 2. KeyPAD 를이용한비밀번호입력기 Chapter. 13 KeyPAD 를이용한비밀번호입력기 HBE-MCU-Multi AVR Jaeheung, Lee 목차 1. 키패드 (KeyPAD) 2. KeyPAD 를이용한비밀번호입력기 키패드 (KeyPAD) 키패드 (KeyPAD) 마이크로컨트롤러활용에서사용자의입력을받아들이기위한장치 전화기, 컴퓨터, 핸드폰, 냉장고등거의모든가전제품에서사용 키패드인터페이스방식

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

untitled

untitled CAN BUS RS232 Line Ethernet CAN H/W FIFO RS232 FIFO IP ARP CAN S/W FIFO TERMINAL Emulator COMMAND Interpreter ICMP TCP UDP PROTOCOL Converter TELNET DHCP C2E SW1 CAN RS232 RJ45 Power

More information

BMP 파일 처리

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 10 포인터 01 포인터의기본 02 인자전달방법 03 포인터와배열 04 포인터와문자열 변수의주소를저장하는포인터에대해알아본다. 함수의인자를값과주소로전달하는방법을알아본다. 포인터와배열의관계를알아본다. 포인터와문자열의관계를알아본다. 1.1 포인터선언 포인터선언방법 자료형 * 변수명 ; int * ptr; * 연산자가하나이면 1 차원포인터 1 차원포인터는일반변수의주소를값으로가짐

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

ARDUINO Open Physical Computing Platform 오탈자, 문의및보완이필요한내용은 으로알려주세요.

ARDUINO Open Physical Computing Platform 오탈자, 문의및보완이필요한내용은 으로알려주세요. ARDUINO Open Physical Computing Platform 오탈자, 문의및보완이필요한내용은 으로알려주세요. Chapter 20. I2C 와 SPI 통신을이용한아두이노연결 SPI(Serial Peripheral Interface) 는 I2C(Inter-Integrated Circuit) 와더불어마이크로컨트롤러와주변장치사이에디지털정보를간편하게전송할수있는방법을제공하기위해만들어진통신프로토콜이다.

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

Microsoft Word - ASG AT90CAN128 모듈.doc

Microsoft Word - ASG AT90CAN128 모듈.doc ASG AT90128 Project 3 rd Team Author Cho Chang yeon Date 2006-07-31 Contents 1 Introduction... 3 2 Schematic Revision... 4 3 Library... 5 3.1 1: 1 Communication... 5 iprinceps - 2-2006/07/31

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

2. Deferred Interrupt Processing A. Binary Semaphores를이용한동기 (Synchronization) i. Binary Semaphores는 Interrupt가발생하였을때특정한 를 Unblock 하는데사용할수있다. 이러한기능은 In

2. Deferred Interrupt Processing A. Binary Semaphores를이용한동기 (Synchronization) i. Binary Semaphores는 Interrupt가발생하였을때특정한 를 Unblock 하는데사용할수있다. 이러한기능은 In AVR FreeRTOS : Interrupt Management 1. 이장의개요 Embedded Real Time 시스템은주변장치로부터발생하는 Event 에실시간으로응답하여야하는응용분야에많이이용된다. 응용분야에따라서는여러개의 Interrupt Source로부터발생하는 Event를실시간으로처리하여야하고, 각각의 Interrupt 처리는서로다른처리시간과속도를필요로하기때문에최적의

More information

<4D F736F F D20BDBAC5D7C7CE20B6F3C0CEC6AEB7B9C0CCBCADB0ADC1C2202D203420C7C1B7CEB1D7B7A1B9D62E646F63>

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

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 1 목포해양대해양컴퓨터공학과 UDP 소켓 네트워크프로그램설계 4 장 2 목포해양대해양컴퓨터공학과 목차 제 4장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송신및수신 4.4 UDP 소켓의연결 3 목포해양대해양컴퓨터공학과 UDP 소켓의특징 UDP 소켓의특성 신뢰할수없는데이터전송방식 목적지에정확하게전송된다는보장이없음.

More information

MicrocontrollerAcademy_Lab_ST_040709

MicrocontrollerAcademy_Lab_ST_040709 Micro-Controller Academy Program Lab Materials STMicroelectronics ST72F324J6B5 Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun

More information

Microsoft Word - WGM-447Xx9 Spec_Transceiver_.doc

Microsoft Word - WGM-447Xx9 Spec_Transceiver_.doc WGM-447XS9 WGM-447XA9 EM Tech 대전대덕구대화동 289-1 공구상가 5 동 227 호 TEL: (042) 623-4470 http:// - 1 - 1. 주요기능및규격 GMSK UHF 송수신기 (447.9MHz) 공통 Digital GMSK 변복조방식 Scrambler & Descrambler 기능 Narrow Band (Occupied

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예 Mitsubishi FX Series Computer Link 2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK... 1 1. 시스템구성... 3 2. 시스템설정... 4 3. 사용예... 6 3.1. 사용예 1... 6 3.2. 사용예 2... 9 4. 케이블연결도... 13 4.1.

More information

OSTSen-PIR100 사용자설명서 Ver 1.1 Onsystech OSTSen-PIR100 V1.1 1 of 8 Onsystech

OSTSen-PIR100 사용자설명서 Ver 1.1 Onsystech OSTSen-PIR100 V1.1 1 of 8 Onsystech OSTSen-PIR100 사용자설명서 Ver 1.1 Onsystech OSTSen-PIR100 V1.1 1 of 8 Onsystech 1. 제품소개 1) 제품특징 OSTSen-PIR100은 UART 인터페이스를통하여인체모션감지 (PIR) 데이터를제공하는센서모듈입니다. 이센서모듈은사용자가편리하게다양한분야에적용할수있도록소형으로제작되었습니다. ( PIR: Pyroelectric

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

Microsoft Word - PLC제어응용-2차시.doc

Microsoft Word - PLC제어응용-2차시.doc 과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,

More information

Microsoft Word - SMB-63-2_KR_.doc

Microsoft Word - SMB-63-2_KR_.doc 보충 설명서 압소덱스 AX9000TS/TH-U3 (PROFIBUS-DP 사양) SMB-63K-2 머리글 이번에 당사의 압소덱스를 선정해 주셔서 대단히 감사합니다. 압소덱스는 일반 산업용 조립 기계나 검사 기계 등의 간헐 작동 턴테이블 등을 유연하고 정밀도 높게 구동하기 위해 개발된 다이렉트 드라이브 인덱 스 유닛입니다. 본 설명서는 압소덱스 AX9000TS/TH(PROFIBUS-DP

More information

C & System

C & System 1-1 마이크로컨트롤러 (MCU) MCU = CPU Core(Architecture) + Peripherals(Controllers) 1 1-2 마이크로컨트롤러동작구조 1-3 AVR ATmega128 특징 뛰어난성능 (Advanced RISC Architecture) Most Single Clock Cycle Execution 32 X 8bit General

More information

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

<4D F736F F D20B1E2BCFAC0DAB7E1202D20454F435220B8F0B5E5B9F6BDBA20C5EBBDC5C1A6C7B020BBE7BFEBB9FD202D F302E646F63>

<4D F736F F D20B1E2BCFAC0DAB7E1202D20454F435220B8F0B5E5B9F6BDBA20C5EBBDC5C1A6C7B020BBE7BFEBB9FD202D F302E646F63> 통신설정 1. Parity Bit 가무엇인가요? 어떻게설정해야합니까? 시설치단계에서통신케이블을연결하고, PCON 또는 PDM 등을통해설정을변경하여시스템과연결하고자할때 EOCR 통신제품에서지원하는프로토콜은 Modbus-RTU 로서, 데이터는 8 비트로구성되며, 데이터의무결성을검증하기위하여데이터비트에 parity bit 1 비트를더해서함께보냅니다. Even Parity

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

<4D F736F F F696E74202D2037C0E55FC0CCC0C0C7F55FBFCFBCBA205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D2037C0E55FC0CCC0C0C7F55FBFCFBCBA205BC8A3C8AF20B8F0B5E55D> 7 장. 인터럽트의동작 한국산업기술대학교 이응혁 ehlee@kpu.ac.kr WWW.ROBOTICSLAB.CO.KR 1 7.1 인터럽트 (Interrupt) 개요 인터럽트개념 프로그램이수행되고있는동안에어떤조건이발생하여수행중인프로그램을일시적으로중지시키게만드는조건이나사건의발생 비동기적으로처리 다른프로그램이수행되는동안여러개의사건을처리할수있는메커니즘 인터럽트가발생하면마이크로컨트롤러는현재수행중인프로그램을일시중단하고,

More information