질문게시판 > 아트메가128 송수신 의사코드 질문..

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

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


BASIC4MCU | 질문게시판 | 아트메가128 송수신 의사코드 질문..

페이지 정보

작성자 hund 작성일2018-10-16 22:12 조회2,609회 댓글2건

본문

	

아트메가128 MCU의 UART기능을 통해 두 아트메가128 MCU 사이에 unsigned char 타입의 8비트 데이터를 송수신하는 통신 프로그램을 작성되어있을때 이 프로그램을 일부 수정하여 두 MCU 사이에 float 타입 변수를 송수신하기 위한 아이디어를 제시하고 의사코드를 작성해야하는 데 어떻게 해야하나요.. 

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

댓글 2

조회수 2,609

master님의 댓글

master 작성일

1바이트는 그냥 전송하면 되지만
float 타입은 4비이트이므로
패킷을 만들어서 전송해야 하는지
그냥 4바이트만 전송해도 수신쪽에서 알아서 받는지를 먼저 정하세요

1바이트 전송 예제가 있으면 첨부하세요

master님의 댓글

master 작성일

#include <stdio.h>
//
typedef union{
  char  c[4];
  float f;
}union_data;
//
int main(){
  union_data data;
  char str[30];
  data.b = 1.234;
  sprintf(str,"%x %x %x %x\n", data.a[0], data.a[1], data.a[2], data.a[3]);
  tx_str(str);
  sprintf(str,"%f\n", data.b);
  tx_str(str);
  while(1);
  return 0;
}

구조체로 전송해도 되고 유니온으로 전송해도 됩니다.
수신에서는 보내는 것과 역순으로 저장해서 사용하면 되죠
//
구조체나 유니온을 사용하는 방법외에 포인터를 사용 할 수도 있습니다.

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

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
게시물 검색

Privacy Policy
MCU BASIC ⓒ 2017
모바일버전으로보기