Jag har googlat runt men hittar ingen bra beskrivning om hur man skall tillverka C och H filen utifrån de 2 programmen som jag visar. Jag tyckte det var enkelt i MPASM men här hittar jag bara röriga beskrivnigar av folk som inte verkar veta så bra själva. Det är väl det som är det största problemet i Arduino-världen kan jag tänka.
Det är för mycket amatörprogrammerare (som jag) som gärna vill visa vad de kan (inte kan). Här på forumet vet jag att det finns bra kunskap så i stället för att googla runt i sophögen så frågar jag om hjälp här.

Hur jag skriver programmet som en enda sammansatt sketch är inga problem. Men jag skulle vilja ha alla olika valen i separata program som man ropar på i menydelen.
Menyvals-sketchen ser ut så här och det är i loopen i slutet på programmet jag vill ropa på de andra delprogrammen:
Kod: Markera allt
#include <UTouch.h>
#include <UTFT.h>
// Declare which fonts we will be using
extern uint8_t SmallFont[];
// Set the pins to the correct ones for your development shield
UTFT myGLCD(ITDB32S,38,39,40,41);
UTouch myTouch(20,21,22,23,24);
int x, y;
// Setup the LCD
void setup()
{
myTouch.InitTouch();
myTouch.setPrecision(PREC_MEDIUM);
myGLCD.InitLCD();
myGLCD.clrScr();
myGLCD.setFont(SmallFont);
drawButtons();
}
void drawButtons()
{
myGLCD.fillScr(VGA_BLACK);
// Draw the upper row of buttons
y = 0;
for (x=0; x<2; x++)
{
myGLCD.setColor(VGA_RED);
myGLCD.fillRoundRect (15+(x*150), 17+y, 153+(x*150), 73+y);
myGLCD.setColor(VGA_BLUE);
myGLCD.fillRoundRect (18+(x*150), 20+y, 150+(x*150), 70+y);
myGLCD.setBackColor(VGA_BLUE);
myGLCD.setColor(VGA_YELLOW);
}
myGLCD.print("WATER TEMP",45,39+y);
myGLCD.print("OIL TEMP",202,39+y);
// Draw the second row of buttons
y = 75 ;
for (x=0; x<2; x++)
{
myGLCD.setColor(VGA_RED);
myGLCD.fillRoundRect (15+(x*150), 17+y, 153+(x*150), 73+y);
myGLCD.setColor(VGA_BLUE);
myGLCD.fillRoundRect (18+(x*150), 20+y, 150+(x*150), 70+y);
myGLCD.setBackColor(VGA_BLUE);
myGLCD.setColor(VGA_YELLOW);
}
myGLCD.print("DIESELFUEL",44,39+y);
myGLCD.print("FRESH WATER",192,39+y);
// Draw the last row of buttons
y = 150 ;
for (x=0; x<2; x++)
{
myGLCD.setColor(VGA_RED);
myGLCD.fillRoundRect (15+(x*150), 17+y, 153+(x*150), 73+y);
myGLCD.setColor(VGA_BLUE);
myGLCD.fillRoundRect (18+(x*150), 20+y, 150+(x*150), 70+y);
myGLCD.setBackColor(VGA_BLUE);
myGLCD.setColor(VGA_YELLOW);
}
myGLCD.print("RUDDER IND:",44,39+y);
myGLCD.print("NEXT PAGE",200,39+y);
}
void loop()
{
int y = 0;
if (myTouch.dataAvailable())
{
myTouch.read();
x=myTouch.getX();
y=myTouch.getY();
}
if ((y>=20) && (y<=70)){ // Upper row
UTFT_visa_sidan_1();
}
if ((y>=80) && (y<=160)){ // midle row
UTFT_visa_sidan_2();
}
if ((y>=160) && (y<=210)){ // last row
UTFT_visa_sidan_3();
}
}
/* Ritar en pil 60 x 150 med centrum 30 x 125
* på en färgdiplay 240 x 320
*/
#include <UTFT.h>
// Declare which fonts we will be using
extern uint8_t SmallFont[];
UTFT myGLCD(ITDB32S,38,39,40,41);
extern unsigned short roderpil[0x2328];
void setup()
{
myGLCD.InitLCD();
myGLCD.setFont(SmallFont);
myGLCD.fillScr(VGA_WHITE);
myGLCD.setColor(VGA_WHITE);
myGLCD.drawBitmap (130, 80, 60, 150, roderpil,90,30,125);
}
void loop()
{