Stap 7: Wacht Milli-tweede functie
Een van de meest nuttige functies is wait_ms. dit echter is niet een functie in de standaard bibliotheek, en zal moeten worden geprogrammeerd door u. Voor deze uitvoering zal er een lus die de processor houden zal totdat de bepaalde tijd verstreken is.PIC18F microcontrollers moet 4 klokcycli te voeren één coderegel en vergadering. Daarom met een kloksnelheid van 16MHz, lijnen zal worden uitgevoerd op 4 miljoen lijnen per seconde = 4000 lijnen per milli-seconden. Aangezien een voor lus één instructie telkens voor de vergelijking, en twee voor de operatie een voor de hoofdtekst van de lus duurt, het werkt perfect. We hoeven alleen maar de voor lus aan lus 1000 keer per milli-seconden.
- In system.c een nieuwe functie te maken aan de onderkant van het bestand van het type void wait_ms(uint16_t time)
- Hieronder vindt u de voltooide functie
/** * Wait for a given number of milli-seconds using busy waiting scheme. * time - time in ms to wait. */ void wait_ms(uint16_t time) { static long timel = 0; timel = time * 1000l; for( ; timel; timel--);// no initial condition, while time is >0, decrement time each loop }
- Open system.h in de map van de Header Files in de project-browser
- Aan het einde toevoegen de lijn nietig wait_ms(uint16_t); prototype van de functie.
- Wijzig regel 8 van 8000000L 16000000L
- Bouwen en controleren op fouten/waarschuwingen