티스토리 뷰



한이음중

초음파센서, 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
댓글
댓글쓰기 폼