Fråga om AD-omvandling 16f676
Fråga om AD-omvandling 16f676
När man gör en AD-omvandling på en 16f676 sätter man ADCON<1> till ett för att starta omvandlingen. När omvandlingen är klar sker två saker: ADCON<1> nollas och PIR1<6> sätts till ett. Nu undrar jag vad som skiljer dom åt? Eller om man kan kolla på vilken av dom som helst (för att se när omvandlingen är klar), jag misstänker att man bara behöver använda sig av PIR1<6> när man vill få ett avbrott. Jag kommer inte att använda mig av avbrott utan polla manuellt, är det då OK att bara polla ADCON<1> efter en nolla och strunta i PIR1?
Först,
Skriv *ALDRIG* "PIR1<6>" eller "ADCON<1>" !
Du tvingar (som nu) den som vill svara att plocka fram databladet för att se vad dessa bitar betyder.
Skriv PIR1<ADIF> (eller bara ADIF går också bra) istället...
Generellt, skriv aldrig bitnummer numeriskt, använd de definierade symbolerna. Både här, men även i din kod, så klart...
Med det sagt,
Om du vill vänta ("polla") på att det blir klart, kan du kolla på vilken av de två bitarna som helst.
Om du däremot vill kunna göra annat under tiden (normalt), så ska du
se till att interrupt miljön är initierad, och att du har en ISR där du "tar hand" om värdet från omvandligen.
Skriv *ALDRIG* "PIR1<6>" eller "ADCON<1>" !
Du tvingar (som nu) den som vill svara att plocka fram databladet för att se vad dessa bitar betyder.
Skriv PIR1<ADIF> (eller bara ADIF går också bra) istället...
Generellt, skriv aldrig bitnummer numeriskt, använd de definierade symbolerna. Både här, men även i din kod, så klart...
Med det sagt,
Om du vill vänta ("polla") på att det blir klart, kan du kolla på vilken av de två bitarna som helst.
Om du däremot vill kunna göra annat under tiden (normalt), så ska du
se till att interrupt miljön är initierad, och att du har en ISR där du "tar hand" om värdet från omvandligen.
Jag tycker nog att jag var väldigt tydlig i min fråga jämfört med "forumstandard", och jag tror att de flesta inte vet utan att kolla med ett datablad vad ADIF betyder.
Jag har inte hittat någon lista över vad MPLAB känner igen som fördefinierade uttryck, så därför har jag alltid känt det som säkrast att ange bit:en numeriskt, men jag kan hålla med om att det blir tydligare om man kan ange ett namn som t.ex. ADIF.
Nu när jag besvarat "kritiken" så: Tack för hjälpen
Jag har inte hittat någon lista över vad MPLAB känner igen som fördefinierade uttryck, så därför har jag alltid känt det som säkrast att ange bit:en numeriskt, men jag kan hålla med om att det blir tydligare om man kan ange ett namn som t.ex. ADIF.
Nu när jag besvarat "kritiken" så: Tack för hjälpen

> Jag tycker nog att jag var väldigt tydlig...
Bättre än de flesta inlägg, ja...
> och jag tror att de flesta inte vet utan att kolla med ett datablad vad ADIF betyder.
Den som har anledning att svara bör nog veta det. Eller om du är osäker
så kan ju *du* tala om att det är "interrupt flaggan för AD omvandlaren".
> Jag har inte hittat någon lista över vad MPLAB känner igen som fördefinierade uttryck,
p16f676.INC
Men detta är ju bara en lite detalj, det viktiga var att det klarnade
kring hanteringen av ADON och ADIF.
Bättre än de flesta inlägg, ja...

> och jag tror att de flesta inte vet utan att kolla med ett datablad vad ADIF betyder.
Den som har anledning att svara bör nog veta det. Eller om du är osäker
så kan ju *du* tala om att det är "interrupt flaggan för AD omvandlaren".
> Jag har inte hittat någon lista över vad MPLAB känner igen som fördefinierade uttryck,
p16f676.INC
Men detta är ju bara en lite detalj, det viktiga var att det klarnade
kring hanteringen av ADON och ADIF.
INC filen är (som du just sett
) ganska central.
Förrutom definitioner för alla rellevanta register, så finns
det även sist i filen en beskrivning över rellevanta CONFIG inställningar
för den aktuella processorn. Det underlättar om man har den
listan (tillsammans med beskrivningen äver CONFIG bitarna
i databladet) när man skall bestämma/sätta sina CONFIG bitar...
Systemet med INC filer kan naturligtsvis utökas med *egna* INC filer
där man har sina egna macros och annat som man vill använda
i olika applikationer...

Förrutom definitioner för alla rellevanta register, så finns
det även sist i filen en beskrivning över rellevanta CONFIG inställningar
för den aktuella processorn. Det underlättar om man har den
listan (tillsammans med beskrivningen äver CONFIG bitarna
i databladet) när man skall bestämma/sätta sina CONFIG bitar...
Systemet med INC filer kan naturligtsvis utökas med *egna* INC filer
där man har sina egna macros och annat som man vill använda
i olika applikationer...