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

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

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


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

페이지 정보

작성자 황자르 작성일2022-06-04 00:01 조회2,797회 댓글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

조회수 2,797

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
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
답변 답변글 답변 : 댓글 : millis()? 질문드립니다.댓글[1] master 22-06-14 1733
질문 모션센서 민감도 조절..댓글[3] 이미지첨부파일 남산 22-06-14 2805
질문 아두이노 코딩질문 Alpaka 22-06-14 2919
답변 답변글 답변 : 아두이노 코딩질문 master 22-06-14 2914
질문 심박수 측정값 오류 원인댓글[1] 이미지 카키 22-06-14 3032
질문 도트 매트릭스를 통한 장애물 피하기 게임 질문댓글[3] 끼룩 22-06-14 2644
질문 아두이노 센서3개와 모터제어 코딩 도와주세요!댓글[2] RLOP35 22-06-13 2743
질문 아두이노 도트 매트릭스 코딩댓글[1] 이미지첨부파일 끼룩 22-06-13 2342
질문 아두이노 레오나르도 업로딩 오류댓글[1] 면지지 22-06-13 2071
질문 통신에 대한 기초 책 추천댓글[2] 하리 22-06-13 2695
질문 스텝모터,릴레이모듈 9V 인가 (회로도 포함)댓글[1] 이미지첨부파일 아두이노대학 22-06-12 2385
질문 esp32댓글[1] 이미지첨부파일 ejdog 22-06-12 2595
질문 Simpletimer 라이브러리 질문입니다 홍머생 22-06-11 1987
답변 답변글 답변 : Simpletimer 라이브러리 질문입니다댓글[1] master 22-06-13 2197
질문 millis()? 질문드립니다.댓글[3] 브링미히어 22-06-11 3301
답변 답변글 답변 : millis()? 질문드립니다.댓글[2] master 22-06-13 1649
질문 토글스위치 질문드립니다.댓글[3] 412904 22-06-11 1260
질문 조도센서로 서보모터 제어 질문입니다. 왕초보입니다 22-06-11 1688
답변 답변글 답변 : 조도센서로 서보모터 제어 질문입니다.댓글[1] master 22-06-11 3312
질문 블루투스와 적외선센서댓글[1] 지훈 22-06-11 1964
질문 아두이노 수위센서 모터 3개 ...댓글[1] 고옹대 22-06-10 2611
질문 atmega128 인터럽트 이용한 dc모터 제어댓글[2] 이미지첨부파일 박맹 22-06-10 3332
질문 아두이노간 블루투스 질문 드립니다.댓글[8] 흐규흐규 22-06-10 5118
질문 토글스위치를 사용한 dc모터 정역회전 제어 부분에 있어서 질문드립니다...댓글[4] 쿤싼 22-06-10 3188
질문 atmega isp 연결관련해서 질문드려요댓글[3] 아트메가넘어려워 22-06-10 3419
질문 TFT LCD 이상이 있습니다댓글[4] 이미지 플립플롭 22-06-10 4039
질문 atmega128 순차적신호 질문있습니다댓글[1] 이미지첨부파일 졸업예정 22-06-10 2765
답변 답변글 답변 : atmega128 순차적신호 질문있습니다 master 22-06-10 2798
질문 아두이노 센서 3개와 모터 bldc연동 코딩 첨부파일 RLOP35 22-06-09 1748
답변 답변글 답변 : 아두이노 센서 3개와 모터 bldc연동 코딩댓글[4] master 22-06-09 3033
게시물 검색

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
모바일버전으로보기