Das Quellcode lässt sich bei mir nicht fehlerfrei compilieren. In der for schleife in warten() wird y inkrementiert und y ist nicht definiert.
Main bitte als void main(void) definieren, so schlägt das XC8 User's Guide vor.
In die leere for Schleife in delay() würde ich noch ein NOP() setzen, damit man hier ein Breakpoint setzen kann.
In main fehlt noch eine Endlosschleife, damit das träge menschliche Auge sieht, dass die 7 angezeigt wurde.
Mit dem Bisschen Kosmetik läuft das bei mir im Simulator:
Code:
void warten(int x) // Warteschleifen Versuch 1
{
for (int z = 0; z <= x; z++)
{
__delay_ms(1);
}
}
//*************************************************************************************
void delay() // Warteschleifen Versuch 2
{
long int y;
for(y = 0; y < 100; y++) {
NOP();
}
}
//*************************************************************************************
void main(void) {
// PORT D = Ausgang für Segmente der Anzeige, LOW aktiv
TRISD = 0B00000000; // D0..7 OUTPUT
PORTD = 0B11000000; // eine 0 anzeigen
warten(100); // geht doch
delay(); // geht doch auch
PORTD = 0B11111000; // eine 7 anzeigen
while(1);
}
Hilft das?
Gruß
witkatz
- - - Aktualisiert - - -
Fürs Debuggen benutze ich meistens den Simulator. Dafür kopiere ich mir die Konfiguration (Project Properties -> Manage Configurations -> Duplicate -> Rename) und setze das Hardware Tool in der neuen Konfiguration auf Simulator. Dann kann man in der Menuleiste bequem zwischen der Default- und Simulatorkonfiguration hin und her schalten
Lesezeichen