질문게시판 > uart 송수신 관련 질문입니다.

TODAY135 TOTAL2,275,244
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | uart 송수신 관련 질문입니다.

페이지 정보

작성자 황자르 작성일2022-06-04 00:01 조회1,243회 댓글1건

본문

	

안녕하세요 uart관련 질문 드립니다.

atmega128 코드비젼내의 터미널에서는 hex값과 아스키 값으로 볼수 가 있습니다.

uart 송수신을 할때 터미널에서 hex로 입력해준 값을 ascii로 10진수의 값으로 보고싶습니다. 

 

예를 들어 아래의 코드에서 50을 입력하면 터미널에서 hex로는 50으로 보이고 아스키로 볼때 P로 뜨는데 

저는 이 P를 hex50의 10진수 값인 80으로 보고싶습니다.

 

 

 

#include <mega128.h>

#include <stdio.h>

 

char data;

 

void uart_init()

{

 

UCSR0A = 0x00;

UCSR0B = 0x18;

UCSR0C = 0x06;

UBRR0H = 0x00;

UBRR0L = 0x67;

}

 

void main(void)

{

 

uart_init();

 

while (1)

    {

        while((UCSR0A & 0x80)==0x00);

        data = UDR0;

        

        while((UCSR0A & 0x20)==0x00);

        UDR0 = data;

    }

        

}

 

 

위의 코드를 활용해서 작성해봤는데 틀린것 같습니다.

아래의 코드좀 확인해주세요 ㅠㅠ

 

#include <mega128.h>

#include <stdio.h>

#include <delay.h>

unsigned char b[4], c[4], i;

int a, tmp ;

 

void chaege_ascii(void)

{

 

b[3]=a/1000;

tmp = a%1000;

b[2] = tmp/100;

tmp = a%10;

b[1] = tmp/10;

b[0] = tmp%10;

 

for(i=3; i>=0;i--){

c[i] = b[i] + 0x30;

}

 

return ;

 

}

 

 

void uart_init(void){

   

    

 

UCSR0A = 0x00;

UCSR0B = 0x18; 

UCSR0C = 0x06; 

UBRR0H = 0x00;

UBRR0L = 0x67;;

}

 

void main(void)

{  

 

chaege_ascii();

uart_init();

 

 

while (1) {

   while((UCSR0A & 0x20) == 0x00);

    UDR0 = c[i];  

     while((UCSR0A & 0x80) == 0x00);

   c[i] =  UDR0; 

 

 

}

 

}


  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 1

조회수 1,243

master님의 댓글

master 작성일

int rpm, tmp;
int는 음수 표현이 가능한 데이터형이지만 rpm은 양수만 있으니 연산이 더 간단합니다.
char r[10];
r[0]=rpm/10000+'0';
r[1]=rpm/1000%10+'0';
r[2]=rpm/100%10+'0';
r[3]=rpm/10%10+'0';
r[4]=rpm%10+'0';
r[5]=0; // null
r배열을 문자열로 시리얼 전송하면 됩니다.

void U0_TX(char c){ while(!(UCSR0A&0x20)); UDR0=c; }
void U0_STR(char *s){ while(*s)U0_TX(*s++); }
함수 선언하고
U0_STR(r); // r문자열 전송

시리얼모니터에서는 ASC-II 모드로 보면 됩니다.
줄넘김을 하고 싶다면 라인피드 명령도 추가하면 되겠죠
r[0]=rpm/10000+'0';
r[1]=rpm/1000%10+'0';
r[2]=rpm/100%10+'0';
r[3]=rpm/10%10+'0';
r[4]=rpm%10+'0';
r[5]='\n'; // LF
r[6]=0; // null

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
질문 도트 매트릭스를 통한 장애물 피하기 게임 질문댓글[3] 끼룩 22-06-14 1199
질문 아두이노 센서3개와 모터제어 코딩 도와주세요!댓글[2] RLOP35 22-06-13 1292
질문 아두이노 도트 매트릭스 코딩댓글[1] 이미지첨부파일 끼룩 22-06-13 967
질문 아두이노 레오나르도 업로딩 오류댓글[1] 면지지 22-06-13 1079
질문 통신에 대한 기초 책 추천댓글[2] 하리 22-06-13 1425
질문 스텝모터,릴레이모듈 9V 인가 (회로도 포함)댓글[1] 이미지첨부파일 아두이노대학 22-06-12 1239
질문 esp32댓글[1] 이미지첨부파일 ejdog 22-06-12 1317
질문 Simpletimer 라이브러리 질문입니다 홍머생 22-06-11 1274
답변 답변글 답변 : Simpletimer 라이브러리 질문입니다댓글[1] master 22-06-13 881
질문 millis()? 질문드립니다.댓글[3] 브링미히어 22-06-11 1657
답변 답변글 답변 : millis()? 질문드립니다.댓글[2] master 22-06-13 688
질문 토글스위치 질문드립니다.댓글[3] 412904 22-06-11 710
질문 조도센서로 서보모터 제어 질문입니다. 왕초보입니다 22-06-11 924
답변 답변글 답변 : 조도센서로 서보모터 제어 질문입니다.댓글[1] master 22-06-11 1851
질문 블루투스와 적외선센서댓글[1] 지훈 22-06-11 1113
질문 아두이노 수위센서 모터 3개 ...댓글[1] 고옹대 22-06-10 1432
질문 atmega128 인터럽트 이용한 dc모터 제어댓글[2] 이미지첨부파일 박맹 22-06-10 1819
질문 아두이노간 블루투스 질문 드립니다.댓글[8] 흐규흐규 22-06-10 2723
질문 토글스위치를 사용한 dc모터 정역회전 제어 부분에 있어서 질문드립니다...댓글[4] 쿤싼 22-06-10 1715
질문 atmega isp 연결관련해서 질문드려요댓글[3] 아트메가넘어려워 22-06-10 1609
질문 TFT LCD 이상이 있습니다댓글[4] 이미지 플립플롭 22-06-10 1985
질문 atmega128 순차적신호 질문있습니다댓글[1] 이미지첨부파일 졸업예정 22-06-10 1289
답변 답변글 답변 : atmega128 순차적신호 질문있습니다 master 22-06-10 1555
질문 아두이노 센서 3개와 모터 bldc연동 코딩 첨부파일 RLOP35 22-06-09 1065
답변 답변글 답변 : 아두이노 센서 3개와 모터 bldc연동 코딩댓글[4] master 22-06-09 1628
질문 atmega 128 led 순차적 제어입니다 졸업예정 22-06-09 1523
답변 답변글 답변 : atmega 128 led 순차적 제어입니다 master 22-06-09 1361
질문 ATMEGA128 인터럽트 관련질문입니다댓글[2] 짜요쩌요 22-06-09 1383
질문 아두이노 코드를 보던 중, define부분이 이해가 안되서 해석 부탁드립니다댓글[2] 선학 22-06-09 1198
질문 LCD 화면 문자출력이 안되요..댓글[3] 이미지첨부파일 chelsea 22-06-09 653
게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기