728x90
반응형
한이음중
초음파센서, 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);
반응형