FH-Köln Campus Gummersbach
//---------- Main Function -------------------------------------
int main( void )
{
Start:
enable = 1;
//Freigabe für Initialisierung
INIT(enable);
//Initialisierungsfunktion
RECEIVE(Number); //Empfangsfunktion für n ASCII Zeichen
DISPLAY(Number); //Empfangene Zeichen anzeigen
//....Ende...............
enable = 0;
INIT(enable);
//IRQ's sperren
//......................
if(fRepeat==true)
{
goto Start;
//Wiederholung der Routine, wenn fRepeat==true!
}
while(fStop==false)
{
//Endlosschleife zum Schluß
_BIS_SR(LPM0_bits + GIE); // Schlafen legen der CPU
// Neustart nach IRQ
}
return 0;
}
//--------------- Subroutines/Functions ------------------------
void INIT(int Release)
{
if(Release == 1)
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
// Port 1 Initialization
P1DIR = 0x7F; //P0.6 Outputs, P1.7 = Input
P1OUT = 0x00; //Bei Start P1 (alle 7 Bits) auf 0 setzen
P1IE = 0x80; //Interrupt Enable P1.7
P1IFG = 0x00; //eventuelle Interrupt-Flags löschen
P1IES = 0x80; //High -> low Interrupt
//.................................................................
Juni 2012
MSP430 Mikrocontroller
40 |
S e i t e