Go Down

Topic: Uploader Timing Out (Read 642 times) previous topic - next topic

Luke_Cap

I am trying to upload the following sketch to an arduino mega and I keep getting the same error that it's timing out.  I have been trying to solve it for the past two days and I can't find a way to fix it.  I am new to this so if you do know a solution please dumb down what you say.
FYI this is a copied code that I didn't modify

Code: [Select]
#include "Nextion.h"

void n0PopCallback(void *ptr);
void b0PopCallback(void *ptr);
void b1PopCallback(void *ptr);

/*
   Declare a number object [page id:0,component id:3, component name: "n0"].
*/
NexNumber n0 = NexNumber(0, 3, "n0");

/*
   Declare a button object [page id:0,component id:1, component name: "b0"].
*/
NexButton b0 = NexButton(0, 1, "b0");

/*
   Declare a button object [page id:0,component id:2, component name: "b1"].
*/
NexButton b1 = NexButton(0, 2, "b1");

char buffer[100] = {0};

/*
   Register object n0, b0, b1, to the touch event list.
*/
NexTouch *nex_listen_list[] =
{
  &n0,
  &b0,
  &b1,
  NULL
};

/*
   number component pop callback function.
*/
void n0PopCallback(void *ptr)
{
  dbSerialPrintln("n0PopCallback");
  n0.setValue(50);
}

/*
   Button0 component pop callback function.
   In this example,the value of the number component will plus one every time when button0 is released.
*/
void b0PopCallback(void *ptr)
{
  uint32_t number;

  dbSerialPrintln("b0PopCallback");

  n0.getValue(&number);

  number += 1;

  n0.setValue(number);
}

/*
   Button1 component pop callback function.

    n0.getValue(&number);
   In this example,the value of the number component will minus one every time when button1 is released.
*/
void b1PopCallback(void *ptr)
{
  uint32_t number;

  dbSerialPrintln("b1PopCallback");

  number -= 1;

  n0.setValue(number);
}

void setup(void)
{
  /* Set the baudrate which is for debug and communicate with Nextion screen. */
  nexInit();

  /* Register the pop event callback function of the current number component. */
  n0.attachPop(n0PopCallback);

  /* Register the pop event callback function of the current button0 component. */
  b0.attachPop(b0PopCallback);

  /* Register the pop event callback function of the current button1 component. */
  b1.attachPop(b1PopCallback);

  dbSerialPrintln("setup done");
}

void loop(void)
{
  /*
     When a pop or push event occured every time,
     the corresponding component[right page id and component id] in touch event list will be asked.
  */
  nexLoop(nex_listen_list);
}


and the error code is

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
An error occurred while uploading the sketch


Thank you for any help in advance!!!

Luke_Cap

Update...
I switched the TX and RX wires and it uploads now, but since I have the TX connected to the TX on the display along With the RX to the RX it will upload but not do anything.  I hope that helps.

sterretje

You can not use Serial for two purposes. During upload, disconnect the scfreen and upload; after that, connect the screen.

No experience with the nextion but according to https://randomnerdtutorials.com/nextion-display-with-arduino-getting-started/ you can use some configuration to connect the nextion to e.g. Serial1 on the Mega.

Connect the nextion to one of the other serial ports of the mega (e.g. Serial1). Change the configuration
Code: [Select]
#define nexSwerial Serial

to
Code: [Select]
#define nexSwerial Serial1


That should solve the problem; as said, no experience with the nextion.
If you understand an example, use it.
If you don't understand an example, don't use it.

Electronics engineer by trade, software engineer by profession. Trying to get back into electronics after 15 years absence.

Go Up