Was mir so aufgefallen ist:
- Wenn Du ne Aufzählung nutzt, dann erstell auch ne Instanz dieses Datentyps
- beim zweiten case hat die Konstante nicht gestimmt.
- beim zweiten case fehlt beim brake ein Semikolon
- und bitte rücke Dein Code mal etwas besser ein, macht alles deutlich einfacher zu lesen

Code:
//--------------------------------------------------------------------------
//--ENUM------------------------------------------------------------------
//--------------------------------------------------------------------------
enum SCANMOD
{
	NormalMode,
	SpeedMode,
	TurboMode
} scanmode;

//--------------------------------------------------------------------------
//--Unterprogramm next_channel_number----------------------------
//--------------------------------------------------------------------------
void next_channel_number (void)
{
	switch (scanmode)
	{
		case NormalMode:
			(channel++) & CHANNEL_BIT_MSK;
			channel_temp = channel;
			break;
		case SpeedMode:
			(channel++) & CHANNEL_BIT_MSK;
			channel_temp = (channel & 7) << 1;
			if (channel & (1 << 3))
				channel_temp |= 1;
			break;
	}
}