Other Parts Discussed in Thread: ENERGIA
I'm using latest version of Energia IDE. I'm having problem with ethernet controller of this card. First time i power-on card and try to connect to ethernetserver on card by using a tcp client on my pc i can't connect. I can read "SetupCompleted" on serial port output, but code just stops executing at "client = server.available();"
If i use the reset button on card, i can connect.
How can i fix this?
Edit: After first time i power-on the card, if i re upload code to card using energia; again i can connect to ethernetserver of card.
void setup() { //Start Serial Port Serial.begin(9600); delay(1000); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } if(EEPROM.read(EEPROM_ADDRESS_ISFIRSTRUN) == 0xFF) //First Run {
... //Writing something on EEPROM here. } else { ...
//Reading something from EEPROM here. } ethernetSettingsIsSet = EEPROM.read(EEPROM_ADDRESS_SETTINGISSET); if(ethernetSettingsIsSet != 0xFF) //User set ethernet configuration before. {
... //Read ethernet configuration from EEPROM } else //Defaults { //do nothing } //Start Ethernet server = EthernetServer(PortNo); Ethernet.begin(Mac, Ip, Dns, Gateway, Subnet); delay(1000); server.begin(); delay(100); Serial.write("SetupCompleted"); }
void loop() { delay(5); client = server.available(); if (client) { if (client.available()) { ... ... ... client.stop(); delay(10); } } delay(10); if(Serial.available() > 0) { ... } delay(10); }