estou montando um projetilzinho e vou ter q fazer umas multiplicação mas ta dando errado 

código simples:

unsigned long tempo;
int a ;
int b ;


void setup()
{
Serial.begin(115200);


}

void loop()
{
a = 3600 ;
b = 10 ;
tempo = a * b ;

so esta um parte a variável b não sera fixa ela vai de 0 a 24 essa conta é uma conversão de hora para segundo 

se coloco o valor de b ate 9 a conta fica certa porem de 10 pra cima a conta da muito errada 

alguém sabe o pq ? obrigado 

Exibições: 211

Responder esta

Respostas a este tópico

Olá Guilherme!

O  tipo int do Arduino suporta uma faixa de números que vai de -32768 a 32767.

10 * 3600 = 36000

Puf! Estourou.

Para corrigir, use unsigned long também para as variáveis a e b.

Por curiosidade, você está configurando um baud rate de 115200 para a Serial.

Qual versão da placa está usando?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço