Как исправить код ошибки "expected primary-expression before '%' token"?

Я пытаюсь использовать этот код, чтобы получить значения температуры и влажности от датчика DHT11 и отправить его в Python, и мне нужно написать значения температуры и влажности в одной строке. Но я продолжаю получать код ошибки

ожидаемое первичное выражение перед токеном '%'

Как я могу это исправить?

#include <dht.h>
#include <stdio.h>
int a = 0;
int b = 0;
char buffer [64];

dht DHT;

#define DHT11_PIN 7

void setup(){
  Serial.begin(9600);
}

void loop(){
  a = DHT.temperature;
  b = DHT.humidity;
  int chk = DHT.read11(DHT11_PIN);
  sprintf(buffer, %d %d, a, b);
  Serial.print(buffer);
  delay(1000);
}

, 👍-2

Обсуждение

В ошибке упоминался номер строки. Вы смотрели на эту строчку?, @timemage


1 ответ


Лучший ответ:

1

Вам не хватает кавычек для второго параметра sprintf:

sprintf(buffer, "%d %d", a, b);
,

пожалуйста, не отвечайте на вопросы о синтаксических ошибках. они не по теме, @Juraj