enrico72 Inserito: 30 marzo 2004 Segnala Share Inserito: 30 marzo 2004 Buogiorno a tuttiVolevo chiedervi se a qualcuno di voi e' mai capitato che un pic programmato in assembler apparentemente in maniera corretta, desse dei problemi durante il funzionamento.Mi spiego meglio una routine che gira bene e poi viene ampliata mi ha dato dei problemi ,il fatto e' che l'ampliamento non ha modificato la routine esistente eppure le rogne sembra che vengano fuori proprio da li cioe' dalla parte che ha sempre girato lo dico con con una "certa certezza" perche' il pic mi finisce in un loop che mi fa identificare una precisa area della routine,ma potrei anche sbagliare perche' non dispongo di un debugger.Naturalmente per capire il problema bisognerebbe osservare le routine, se a qualcuno di voi interessano potrei inviargliele per darci un occhiata.Un altra cosa se sono in un ritardo ad esempioritardo movlw 250 movwf reg1 eccetera lungo quando sivogliaritloop btfsc portb,unpinqualsiasi goto escidalritardo e va a fare un altra cosa decfsz reg1,1 ecceteraall'andare a 1 del pin in questione non dovrei uscire dal ritardo?invece succede che dal ritardo non si esce proprio piu' ilpic rimane indefinitamente e non mi fa il return.Se c'e' qualcuno che appena ha un minutino mi puo spiegare dove sbaglio o cosa ignoro lo pregherei di rispondermi.grazie. Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 30 marzo 2004 Segnala Share Inserita: 30 marzo 2004 Non e' detto che con l'aggiunta per esempio scrivi in una zona di memoria usata dall'altra routine o che salti in una zona di programma sbagliata ....Ciao Link al commento Condividi su altri siti More sharing options...
dlgcom Inserita: 30 marzo 2004 Segnala Share Inserita: 30 marzo 2004 Un consiglio che ti posso dare e' di simulare il tuo programma con MPLAB , facendo un animazione potresti vedere se il programma funziona.Seconda cosa , stai attento di disabilitare il WatchDog quando scrivi il Pic ... Link al commento Condividi su altri siti More sharing options...
JollyRoger Inserita: 2 aprile 2004 Segnala Share Inserita: 2 aprile 2004 Prova a mettere in quel loop un istruzione che ti faccia capire se il programma sia andato a finire proprio li.Per esempio puoi impostare un pin con uscita alta e mettere un led che ti avvisi quando entri in quel pezzo di programma.ifachsoftware sei chi penso che tu sia????ciao sono Enzo del corso!!hai dato un occhiata a quei link che ti ho inviato per posta?ciao Link al commento Condividi su altri siti More sharing options...
enrico72 Inserita: 2 aprile 2004 Autore Segnala Share Inserita: 2 aprile 2004 Ciao ringrazio gli amici che mi hanno risposto,comunque se qualcuno di loro volesse dare un occhiata alle routine in assembler che ho scritto ne sarei contento.Riguardo alla mia domanda su come uscire da un delay(tranne che con un interrupt su rb0 che gia ' lo utilizzo per un altra funzione) sapete dirmi qualcosa?Enrico Link al commento Condividi su altri siti More sharing options...
TALPIN Inserita: 2 aprile 2004 Segnala Share Inserita: 2 aprile 2004 Che tipo di PIC usi? E' importante perchè nelle versioni con la memoria paginata l'istruzione return o un goto potrebbero portarti in una zona non scritta...Postami il software indicandomi la zona dove credi di avere il problema, vedo se riesco a debuggarlo con MPLAB nel weekend.CiaoValter Link al commento Condividi su altri siti More sharing options...
pallottino_pisa Inserita: 3 aprile 2004 Segnala Share Inserita: 3 aprile 2004 Il pic "deve" uscire dal ritardo quando la porta va a 1!Il fatto che non esca puo' essere causato da mille motivi, ma tutti riconducibili a nostri errori.Vedo che gia' qualcuno si e' offerto di aiutarti, comunque se vuoi posso provare anch'io a darti una mano se mi invii il codice sorgente; anche se ormai da molto tempo uso il c per programmare i Pic, credo e spero di ricordarmi che per molti anni ho usato l'assembler e come fare per debuggare il tuo sorgente.Se vuoi, io rimango in attesa.AngeloP.S. Mi sono appena inscritto al forum, saluto tutti i partecipanti e spero di non creare disturbo a insermi al volo in un tread senza che nessuno mi conosca.Angelo Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora