![]() |
Attivare 2 Uscite CIAO,ho proseguito il mio circuito, mi sono trovato un piccolo problema, l'ho bypassato ma vorrei sapere il perchè: quando il comparatore mi da uscita alta attiva 2 uscite, con due istruzioni come a seguito non succede nulla: BSF GPIO,LED BSF GPIO,RF ho modificato con MOVLW B'00110000' MOVWF GPIO così ottengo il mio scopo, dopo un tot di tempo devo spegnere il led,mettto BCF GPIO,LED |
Citazione:
Michele |
ciao, ho impostato LED e RF in due modi: ho collocato 2 memorie FLY1 EQU 0X24 FLY2 EQU 0X25 poi ho collocato nelle memorie i seguenti binari MOVLW B'00110000' MOVWF FLY1 MOVLW B'00010000' MOVWF FLY2 in questo modo FLY1 mette a valore alto il bit n°5 (LED) e n°4 (RF) è FLY2 mette a valore alto il bit n°4(RF) nel programma ho bisogno di RF attivo e LED lampeggiante per un lasso di tempo x. con l'istruzione go MOVF FLY1,GPIO ;"dovrei" accendere il LED e abilitare l'uscita RF. CALL TIME1 ;tempo di ritardo per lampeggio LED MOVF FLY2,GPIO ;"dovrebbe" spegnere il LED e restare attivo RF. GOTO go :huh: invece non si attiva nulla. ho risolto togliendo i FLY1 e FLY2 e modificato il programma così go MOVLW B'00110000' ; :) MOVWF GPIO ; :) CALL TIME1 ; :) MOVLW B'00010000' ; :) MOVWF GPIO ; :) GOTO go così ho 5 istruzioni dove, secondo il mio ragionamento ne bastano 3! Ho anche provato a mettere FLY1 EQU B'00110000' FLY2 EQU B'00010000' ho tolto le 4 istruzioni per collocare i binari nelle 2 FLY ma nulla ho usato anche #DEFINE FLY1 B'00110000' ; ho anche sostituito il binario con 30H #DEFINE FLY2 B'00010000' ; ho anche sostituito il binario con 10H ma nulla, mi sono tenuto il programma con le faccette. forse è il mio ragionamento che è errato? :mumble: |
Citazione:
MOVF FLY1,GPIO Non puoi muovere direttamente il contenuto di un registro in un altro: devi sempre passare dal registro W; l'istruzione MOVF reg,d muove il contenuto del registro in W se d=0 in reg se d=1. Nel tuo caso ti servono due valori costanti da usare per settare le uscite di GPIO; la soluzione più semplice è: #define FLY1 0x30 #define FLY2 0x10 . . . MOVLW FLY1 MOVWF GPIO Michele |
Tutti gli orari sono GMT +2. Adesso sono le 14:07. |
Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002