Jump to content
PLC Forum


enrico72

A Qualcuno E' Mai Impazzito Un Pic

Recommended Posts

enrico72

:blink: Buogiorno a tutti

Volevo 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 esempio

ritardo

movlw 250

movwf reg1

eccetera lungo quando sivoglia

ritloop

btfsc portb,unpinqualsiasi

goto escidalritardo e va a fare un altra cosa

decfsz reg1,1

eccetera

all'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 to comment
Share on other sites


ifachsoftware

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 to comment
Share on other sites

dlgcom

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 to comment
Share on other sites

JollyRoger

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 to comment
Share on other sites

enrico72

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 to comment
Share on other sites

TALPIN

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.

Ciao

Valter

Link to comment
Share on other sites

pallottino_pisa

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.

Angelo

P.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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...