Go Down

Topic: Ajuda com envio e recebimento de dados(SERIAL.READ E SERIAL.PRINT) (Read 805 times) previous topic - next topic

guiba2s

Bem, é o seguinte eu gostaria de saber como é que faz para enviar dados via teclado
e aparecer no Serial monitor. Eu utilizo o seguinte código
#include <stdlib.h> 

int incomingByte = 0;   // for incoming serial data

void setup() {
        Serial.begin(9600);     // opens serial port, sets data rate to 9600 bps
}

void loop() {

        // send data only when you receive data:
        if (Serial.available() > 0) {
                // read the incoming byte:
                incomingByte = Serial.read();

                // say what you got:
                Serial.print("I received: ");
                Serial.println(incomingByte, DEC);
        }
}

Mas quando eu digito por exemplo 100, o serial monitor imprimi 49. A questão é a seguinte, eu gostaria de digitar um número e este mesmo número seja imprimido na tela. Desde já agradeço

mmoscz

O serial.read(), retorna apenas um caracter por vez, não o número, e você esta usando DEC no Serial.println(incomingByte, DEC);
Tente isso
Code: [Select]

#include <stdlib.h> 

char incomingChar;   // for incoming serial data

void setup() {
        Serial.begin(9600);     // opens serial port, sets data rate to 9600 bps
}

void loop() {

        // send data only when you receive data:
       if (Serial.avalaible()) {
                // say what you got:
                Serial.print("I received: ");
            }
         

        while (Serial.available() > 0) {
                // read the incoming char:
                incomingChar = Serial.read();
                Serial.print(incomingChar);
        }

}
4x Duemilanove (clone)
Uno torrado (clone)
Amiga 1200 40MB
Windows XP

guiba2s

A sim, eu retirei o DEC e mudei o tipo da variavel para char, como no seu código, e funcionol perfeitamente.
Obrigado

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy