Hier mal ein paar Kommentare zum Code:
Code:
 
#include "RP6ControlLib.h"
int main(void)
{
	initRP6Control();
	initLCD();

	showScreenLCD("################", "################");
   	mSleep(1900);
   	showScreenLCD("<<RP6  Control>>", "<<LC - DISPLAY>>");
   	mSleep(2900);
   	showScreenLCD("  Demo ", " Zähler ");
   	mSleep(2900);
   	clearLCD();

   	setLEDs(0b111111);
   	mSleep(500);
   	setLEDs(0b000000);
   	uint8_t o = 0;
   	uint8_t i = 0;
   	uint8_t p = 0;
	while(i < 1)  //Das soll wohl eine Endlosschleife sein? nimm doch while(true)
	{
   		setCursorPosLCD(0, 0);
   		writeStringLCD_P("1: ");
   		setCursorPosLCD(1, 0);
   		writeStringLCD_P("2: ");

		if(key) //Wo kommt diese Variable her?
      		{ 
         		uint16_t key_adc = readADC(ADC_KEYPAD);  //Wozu machst du das? Du verwendest diese Variable nicht mehr...     
         
         		while(getPressedKeyNumber()); //Solange eine Taste gedrückt ist?
         		{         
         			switch(key) //Wieder diese ominöse Variable
         			{
            				case 1:                  
   						setCursorPosLCD(0, 9);
         					writeIntegerLCD(o, DEC);
         					writeStringLCD_P("   ");
             					o++;	
            				break;

            				case 2:
               					setCursorPosLCD(1, 9);
         					writeIntegerLCD(o, DEC);
         					writeStringLCD_P("   ");
              					p++;
            				break;
         			}	         
         
   			}
   			return 0;
		}
//Hier würden jetzt noch zwei "}" fehlen...