[한양대 에리카 A+] 마이크로프로세서응용 serial_printf.c를 simulator를 이용하여 실행
- 최초 등록일
- 2020.05.17
- 최종 저작일
- 2019.03
- 6페이지/ MS 워드
- 가격 1,500원
소개글
A+받은 레포트입니다.
실습 과정 하나하나 캡쳐해서 설명 써놨습니다.
목차
1. 배경
2. 결과
3. 결론 및 Discussion
본문내용
Chapter 1. 배경
위 사진은 이번 실습에 사용된 코드(serial_printf.c)이다.
① 명령어 dtostrf
빨간색으로 박스표시해둔 for문이 사용된 부분에 대해 알아보자.
dtostrf라는 명령어가 사용되어 있는데, 그 이유는 아두이노에서는 실수값을 출력하면 정상적인 값이 출력되지 않기 때문이다. 근데 변수 i와 변수 x의 자료형이 각각 short와 float로 모두 실수값을 갖는다. 따라서 drostrf라는 명령어를 이용하여 실수를 문자열로 변환한 후 사용하고자 하는 것이다.
dtostrf의 각 변수들을 설명하자면 아래와 같다.
dtostrf(a, b, c, d);
a: 변환하고자 하는 실수값 데이터
b: 소수점을 포함한 전체 자리수
c: 소수점 이하의 자리수
d: 변환된 문자열(변환하고자 하는 값보다 자리수가 커야 한다.)
따라서 변수 x는 소수점 아래로는 3자리를, 위로는 2자리를 갖게 된다. 즉, 총 5자리를 갖게 된다. (00.000의 꼴)
② ASCII Table
string 배열의 값을 해석하기 위해서는 ASCII Table을 이용해야 한다.
이번 실습에서는 빨간색으로 박스표시해둔 부분의 값을 이용할 것이다.
Chapter 2. 결과
위의 사진은 실행버튼을 한 번 누른 후의 변수들의 상태이다. for loop의 첫째 실행 후 멈춘 상태이기 때문에 x=1.123*i의 연산 결과 (i=0이므로) 변수 x와 변수 i의 값 모두 0이다. 그리고 string에 저장된 값은 앞서 Chap 1에서 말했듯 변환된 문자열이다. 위의 사진의 string에 저장된 숫자를 ASCII Table에 따라 해석하면 0.000이다. x의 값과 결국 같은 값을 나타냄을 볼 수 있다.
참고 자료
없음