Zitat Zitat von Robinsam
Beim kompilieren zeigt mir WinAVR Program: 17,6% Full und 2758 Bytes. Die Datei hat aber 8K im Explorer.... (Genau 7.778 Bytes). Was beinhaltet sie noch?
Neben dem reinen Code sind noch andere Informationen in der Binärdatei -- unterschiedlich je nachdem, auf welches Format du dich beziehst (elf, ihex, bin, srec,...) Es können etwa Debug-Informationen drinne sein, die ja nicht auf dem Flash/EEPRIOM landen.

Wenn's auf Codegrösse ankommt, ist wohl so was am knackigsten, ohne viel zu hacken:
Code:
...
   data <<= 4;
   uint8_t offset = 0;
	
   switch (ink)
	{
		case '0' ... '9': 
			offset = '0'; 
			break;
		case 'A' ... 'F':
			offset = 'A'-10;
			break;
			
		case 'a' ... 'f':
			offset = 'a'-10;
			break;
			
		case 10:	
		case 13:	
			break;
		default:
			// ???
			break;
	}
	
	data += ink-offset; 
...