Dubbio programmazione PIC - Aiuto!

Dec 06, 2008 4 Replies

Ciao a tutti. Ho da poco iniziato a programmare i PIC e a tal proposito volevo chiedervi di illuminarmi su un dubbio: per far iniziare la conversione A/D di un PIC basta utilizzare la seguente istruzione



bsf ADCON0,GO



poi per controllarne lo stato ho visto che tutti i programmi utilizzano quest'altre due istruzioni



btfss ADCON0,GO goto $-1



Ora la funzione btfss salta l'istruzione successiva quando il bit considerato (in questo caso GO) del registro in questione (in questo caso ADCON0) vale 1; ma quando la conversione termina, il bit GO passa da 1 a 0 indicando il termine del processo quindi come può l'istruzione btfss ADCON0,GO saltare l'istruzione goto $-1 se ora il bit in questione vale 0? Non dovrebbe essere btfsc ADCON0,GO che salta l'istruzione goto quando il bit viene azzerato?



Vi prego aiutatemi perchè sto diventando matto!!! Saluti Luca



Il giorno Sat, 6 Dec 2008 13:37:38 +0100, "LuckyLuke" ha scritto:

Infatti:

............ bsf ADCON0,GO_DONE ; Start convertion on AN0 channel tm_wait btfsc ADCON0,GO_DONE ; End of convertion on AN0 channel ? goto tm_wait ; No, wait ............

Ma allora se è giusto come pensiamo noi due, come mai nei programmi trovati in rete si ha sempre l'istruzione btfss e non btfsc?

Pestando alacremente sulla tastiera "LuckyLuke" ebbe l'ardire di profferire:

Link?

Every program is either trivial or it contains at least one bug. News 2002 [v 2.2] / StopDialer / PopDuster - http://www.socket2000.com Akapulce portal: http://www.akapulce.net

Il giorno Sat, 6 Dec 2008 19:02:24 +0100, "LuckyLuke" ha scritto:

Riporta il collegamento alla pagina in rete, e forse riusciremo a spiegare il mistero.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required