BASIC4MCU | 질문게시판 | Atmega128 UART통신에서 ECHO 관련 질문드립니다.
페이지 정보
작성자 dsfdfsa 작성일2022-05-22 02:27 조회1,223회 댓글0건본문
#include <avr/io.h>
#include <avr/interrupt.h>
#include <string.h>
#define BAUD_38400 25
#define UART0_RX_INT_ENABLE (UCSR0B|=(1<<RXCIE0))
char RBYTE[20]={};
char EMPTY[20]={};
char EMPTY2[20]={};
unsigned char i=0;
char answer[]="LED1 ON";
char answer2[]="LED1 OFF";
char answer3[]="LED2 ON";
char answer4[]="LED2 OFF";
ISR(USART0_RX_vect)
{
RBYTE[i] = UDR0;
i++;
if(strcmp(RBYTE,"1")==0)
{
i=0;
for(int k=0;k<30;k++)
UDR0 = answer[k];
for(int j=0;j<20;j++) {
RBYTE[j]=EMPTY[j];
UDR0 = EMPTY2[j];
}
}
interrupt를 사용한 uart 통신 작업에서 질문 있습니다.
comport master에서 1을 입력받으면 echo로 LED1 ON을 출력하는 코드를 만들려고 하는데
ECHO가 "LE" 까지 밖에 출력이 안 되는데 이유를 모르겠습니다.
for문의 k값을 조정하거나 for문 대신
while(answer[k] !=0)
{UDR0=answer[k];
k++;
}
이렇게 while을 써도 L 하나만 출력되거나 LE만 출력됩니다. 부탁드려요!
댓글 0
조회수 1,223등록된 댓글이 없습니다.