-3
플랫폼을 작동하지 않습니다. 레이저 (VL53L0X)은 2 ~ 4 숫자 장소에서 읽기 받고있다.기능은
Serial.print(mmLaser);
작업 (이상 4 곳, MAX 8190 밖으로 이동하지 않습니다)하지만 4 곳을 포맷 할 수 없습니다. 나는 함수를 호출하는 경우
I 함수를 호출하지 않고 오류
**ERROR:** invalid conversion from 'char' to 'char*' [-fpermissive]
내가 컴파일하는 경우를 얻을 : 오류 내가 잘못 뭐하는 거지
? 바르 선언
는
char c_temp;
uint16_t mmLaser = 0; // hold laser reading
uint16_2_char(mmLaser, c_temp);
Serial.print(c_temp);
기능이라는 기능은
// Convert uint16_t to char*
// param 1 n - uint16_t Number
// param 2 c - char to return char value to
//
void uint16_2_char(uint16_t n, char* c){
sprintf(c, "%04d", (int) n);
}
'char'를 함수에 전달하는 것에 대해 말하자. 'char *'를 기대하니? – EOF
'char c_temp;'->'char c_temp [100];' "네 곳을 결코 지나칠 수 없다"에서 나는 _never_를 믿지 않는다고 생각합니다. 버퍼를 최대 크기 (int)로 생성하는 것이 가장 좋습니다. – chux
나는 서명되지 않은 int *에 소수점이 없다는 것을 지적하고 있다는 이상한 생각이 들었다. 이것이 이상한 퍼즐 조각이라는 것은 도움이되지 않습니다. [ask]를 읽으십시오. 그것을 마음에 가져라. [mcve] – Tibrogargan