Offline
Newbie
Karma: 0
Posts: 13
|
 |
« on: July 12, 2012, 08:05:06 pm » |
Boa noite, tenho um arduino mega 2560 e quando vou fazer o upload deste código trava tudo e não consigo concluir o up.
#include <SPI.h> #include <Ethernet.h>
byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x49, 0xD6 }; byte ip[] = {192,168,12,5}; // IP address of WiShield byte gateway[] = {192,168,12,1}; // router or gateway IP address byte subnet[] = {255,255,255,0};
EthernetServer server(80); //server port int PinoLed = 5;
void setup() { Ethernet.begin(mac, ip, gateway, subnet); server.begin(); pinMode(PinoLed, OUTPUT); Serial.begin(9600); }
void loop() { EthernetClient client = server.available(); if (client) { boolean currentLineIsBlank = true; String vars; int varOnOff = 0; while (client.connected()) { if(client.available()) { char c = client.read(); Serial.print(c); vars.concat(c); if(vars.endsWith("/on")) varOnOff = 1; else if(vars.endsWith("/off")) varOnOff = 2; if(c == '\n' && currentLineIsBlank) { client.println("HTPP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(); if(varOnOff == 1) { client.println("Ligado"); } else if(varOnOff == 2) { client.println("Desligado"); } else { client.println("Bem vindo!!!!"); } break; } if (c == '\n'){ currentLineIsBlank = true; } else if(c != '\r'){ currentLineIsBlank = false; } } } delay(1); client.stop(); Serial.println("client disonnected"); } }
Depois eu tenho que fazer o upload de outro código exemplo o blink para o arduino voltar a funcionar. Alguém sabe o que pode ser?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 13
|
 |
« Reply #1 on: July 12, 2012, 09:27:21 pm » |
Fazendo alguns teste observei que o meu problema esta na linha:
if(c == '\n' && currentLineIsBlank)
Quando utilizo de forma equivoca o '/n' o arquivo fica com o tamanho de 13.972 bytes e consigo fazer o upload. Mas quando eu concerto e uso o '\n' o arquivo fica om o tamanho de 14.192 bytes e não consigo mais fazer o upload e o led "13" fica aceso direto. Alguém já viu isso?
|
|
|
|
|
Logged
|
|
|
|
|
'round the world...
Offline
Edison Member
Karma: 20
Posts: 2308
|
 |
« Reply #2 on: July 13, 2012, 02:43:51 am » |
Já experimentaste colocar um blink no meio do código para ver se realmente o led fica bloqueado? Segundo o teu código é isso que ele vai fazer. :S Experimenta colocar Um Serial.print no fim da setup para tirar isto a limpo. 
|
|
|
|
|
Logged
|
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o. Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum). Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.
Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 13
|
 |
« Reply #3 on: July 13, 2012, 06:39:19 am » |
Eu acho que você não entendeu muito bem, o led fica aceso na hora do upload quando esta tudo travado. Ai eu tenho que tirar o arduino da usb e colocar novamente para poder voltar a se comunicar com o pc. Só que deste modo não consigo gravar nada no chip.
|
|
|
|
|
Logged
|
|
|
|
|
'round the world...
Offline
Edison Member
Karma: 20
Posts: 2308
|
 |
« Reply #4 on: July 13, 2012, 08:14:59 am » |
Eu percebi o que disseste. Mas como sabes que o programa ficou empancado sem serial prints ou digital writes?
O arduino dá indicação de erro ao fazer upload?
|
|
|
|
|
Logged
|
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o. Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum). Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.
Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 13
|
 |
« Reply #5 on: July 13, 2012, 08:27:39 am » |
Não. O arduino nem completa o upload. Fica a mensagem "Uploading" e o led fica aceso direto, o programa trava e não sai disso. Ai tenho que tirar da usb e conectar de novo mas ai o led começa a piscar uma vez rápida e duas lentas.
|
|
|
|
|
Logged
|
|
|
|
|
Brasil
Offline
Sr. Member
Karma: 2
Posts: 306
|
 |
« Reply #6 on: July 16, 2012, 07:52:36 am » |
Esse problema me acontece com o Arduino UNO, eu tenho que MUDAR de porta USB e ele passa a fazer o upload. Com meus duemilaenove isso não ocorre.
|
|
|
|
|
Logged
|
4x Duemilanove (clone) Uno torrado (clone) Amiga 1200 40MB Windows XP
|
|
|
|
|