Chciałbym wiedzieć, gdzie mogę zobaczyć dane wyjściowe, gdy używam polecenia printf
. Programuję przy użyciu interfejsu Arduino.
Aktualizacja
Dodam kilka wierszy kodu dla lepszego zrozumienia:
#include <stdio.h> int main(void) { printf("Hello World"); return 0; }
Komentarze
Odpowiedź
Jeśli pracujesz ze standardowym środowiskiem i bibliotekami Arduino, nie” nic nie wyświetla. Powodem jest to, że mikrokontrolery można w jakikolwiek sposób podłączyć do dowolnej liczby różnych urządzeń wyjściowych / komunikacyjnych. stdio
nie miałby pojęcia jak i gdzie wysłać t dane.
Najczęstszym podejściem do wyprowadzania tekstu z Arduino (szczególnie podczas programowania) jest wysłanie go do głównego portu UART za pomocą Serial.begin()
i Serial.print()
. Jeśli Arduino jest podłączone do komputera przez USB, to szeregowy monitor Arduino IDE powinien wyświetlić wynik.
Jeśli naprawdę chcesz użyć printf()
jednak wtedy można sprawić, by działał (lub zaimplementować podobną funkcjonalność). Pełne wyjaśnienie znajduje się na tej stronie:
Odpowiedz
W setup()
, uruchom serial i wybierz prędkość:
Serial.begin(9600);
Gdziekolwiek chcesz pisać do serialu:
Serial.write("write this");
Wszędzie tam, gdzie potrzebujesz nowej linii:
Serial.println();
przykład
void setup() { // put your setup code here, to run once: Serial.begin(9600); Serial.write("Hello World"); } void loop() { // put your main code here, to run repeatedly: }
Komentarze
- Moje pytanie brzmi: gdzie właściwie drukuję, jeśli nie ' t zdefiniuj
Serial
wvoid setup()
i po prostu wpiszprintf
wvoid loop()
? - @ironzion lew, jeśli przeczytasz dokumentację printf .. znajdziesz ją …
- @ironzionlion to ' s wyświetlacz LCD … tadaaaaaaa plac zabaw.arduino.cc/Main/Printf
setup
do inicjalizacji iloop
dla ciągłej pętlimain
, ale jest on ukryty seeedstudio.com/wiki/Where_is_Main_Function