Sari la conținut
ELFORUM - Forumul electronistilor

tmr0 16f877


sz3bbylA

Postări Recomandate

Cand dai un sfat, e indicat sa-l si motivezi (ca sa-l inteleaga si cel caruia il adresezi, ca altfel il ia de woodoo). Asa ca te rog sa si explici de ce e nevoie de volatile.

Ce stiu eu despre volatile asta e ce-am citit prin manualul de la picc.

 

Extras din manualul PICC9.80a

3.3.10.2 VOLATILE TYPE QUALIFIER

The volatile type qualifier is used to tell the compiler that an object cannot be guaranteed

to retain its value between successive accesses. This prevents the optimizer

from eliminating apparently redundant references to objects declared volatile

because it may alter the behavior of the program to do so.

Any SFR which can be modified by hardware or which drives hardware is qualified as

volatile, and any variables which may be modified by interrupt routines should use

this qualifier as well. For example:

volatile static unsigned int TACTL @ 0x160;

The volatile qualifier does not guarantee that any access will be atomic, which is

often not the case with the PIC10/12/16 architecture, which can only access a maximum

of 1 byte of data per instruction.

The code produced by the compiler to access volatile objects may be different to

that to access ordinary variables, and typically the code will be longer and slower for

volatile objects, so only use this qualifier if it is necessary. However failure to use

this qualifier when it is required may lead to code failure.

Link spre comentariu
  • Răspunsuri 15
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Liviu M

    6

  • sz3bbylA

    6

  • ramsesrr

    2

  • MatyC

    1

Top autori în acest subiect

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări