티스토리 뷰



한이음중

초음파센서, 2개의 압력센서 값을 하나의 변수로 묶어 블루투스 전송을 하기위해 char배열로 묶는 중

sprintf를 사용해 float를 String으로 변환하면 '?'의 값으로 찍이는 것을 확인했다

이경우 dtostrf라는 함수를 사용해서 String 변환을 해야한다고한다



dtostrf()  개요

  - dtostrf() 함수는 부동소수(double, float) 변수를 주어진 형식에 따른 문자열을 출력

  - The dtostrf() function converts the double value passed in val into an ASCII representation that will be 

    stored under s.



char * dtostrf(double __val, signed char __width, unsigned char __prec, char * __s);



width : 음수부호(-)와 소수점을 포함한 전체 자리수

prec : 소수점을 제외한 소수점 자릿수



사용 예시

dtostrf(Rfsr, 5, 2, ChrBufferRfsr);  // float to String


sprintf(buf, "%d;%s;%s;", DistanceData, ChrBufferRfsr, ChrBufferLfsr);


도움이 되셨다면.. Buy me a coffeeBuy me a coffee
댓글
댓글쓰기 폼
«   2020/08   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
글 보관함
Total
120,493
Today
9
Yesterday
204