hallo
möchte in WinAVR ein ansteuerung des Multiplexers (4 Steuerltg)
programmieren. µC ist ein AT90S8535
Er soll mehrere Modi haben:
1. 0-15 zählen
2. zuerst die gerade (0,2,..) und dann die ungerade (1,3,...) aufwärts
zählen.
Wie programmiert man, dass der Atmel zuerst gerade und dann ungerade
zählt?
Die Auswahl der Modi wird mit enum realisiert.
#include <avr-port-enum.h>
enum SCANMODE {
1;
2;
};
unsigned char ScanWerte;
switch (ScanWerte)
{
case 1;
break;
case 2;
break;
}
habe ich dabei etwas vergessen?
mfg
Das Zählen in Einerschritten sollte klar sein:
Für die anderen Werte geht z.B. (ist wohl am schnellsten)Code:var = (var+1) & 0xf; // 0,1,2...15,0,1,...
Code:var = (var+1) & 0xf; // 0,1,2...15,0,1,... var2 = (var & 7) << 1; if (var & (1 << 3)) var2 |= 1;
Disclaimer: none. Sue me.
Lesezeichen