Pls verklaren het gebruik van Oneindige Terwijl / For-lus in de Firmware

  • Thread starter senthilnathan.rajesh
  • Start date
S

senthilnathan.rajesh

Guest
Kunt u uitleg over de betekenis van de oneindige while-lus in de belangrijkste functie van een firmware. (Voorbeeld: Firmware voor Blinking LED's met behulp van 8051) Is de lus nodig is om continu draaien van de firmware of kunnen worden is het voor het optreden van een Scheduler ...?
 
Zonder een oneindige lus zal het programma amok uitgevoerd als de processor voert niet-geprogrammeerde geheugen.
 
Ik heb deze vraag beantwoord in een andere thread, maar hier komt het: Als u het einde van je code verwerken te bereiken, de Instructie pointer zal blijven verhogen en het uitvoeren van code. Stel dat ik gebruikte 45k van 64K in de chip. Toen ik het einde van mijn code hit, blijf ik in de 45k - 64K range. Ik wil niet, want de informatie hierboven 45k is onvoorspelbaar. Ik wil wel de eigenschappen te houden, dus ik zit het programma in een oneindige lus aan het eind van het programma. Je kunt ook gewoon het programma lus, maar het punt is dat je nodig hebt om de eigenschappen van bekende uw programma te houden, zodat het doet niets onvoorspelbaar.
 
En er is nog een andere reden. De meeste van micocontrollers vereist enige intialization fase na de reset. Meestal is dit initialisatie duurt enige tijd (zelfs honderden milliseconden) en wenselijk is om slechts een keer uitgevoerd. Als de oneindige lus zou bestaan niet, als het programma teller gaat over 64K range keert hij terug naar 0 te pakken en opnieuw uitvoeren van de initialisatie. Het zou zijn alsof een reset gegenereerd elke keer dat het programma teller gaat over de programma-geheugen bereik.
 

Welcome to EDABoard.com

Sponsor

Back
Top