Ανάγκη Σετ Ματιών εύρεσης λάθους - PIC18F4550

S

SamanthaL

Guest
Γεια σε όλους!

Είμαι πραγματικά περίεργο και αν έχετε ένα σφάλμα από κωδικό μου και δεν μπορώ να καταλάβω το εάν προέρχεται από την!Ακολουθεί ένα απόσπασμα του κώδικα μου.Έχω σχολιάζοντας ένα πολλά πράγματα για να προσπαθήσει να απομονώσει αυτό το σφάλμα.Παρακάτω είναι ο κώδικας που πιστεύω ότι είναι εκτέλεσης.(Εάν δεν είναι, δεν μπορώ να βρω τον λόγο!)

Εκκίνηση
? goto Debug? Debugging κωδικός
clrf TRISB? Κάντε PORTB pins όλων των αποτελεσμάτων
clrf PORTB? Χωρίς κωδικοποίηση PORTB εκροές

clrf TRISD? Κάντε PORTD καρφίτσες όλες τις εκροές
clrf PORTD? Χωρίς κωδικοποίηση PORTD εκροές

clrf Test_Count? Counter δοκιμής περιπτώσεις - ξεκινούν από 0
clrf Test_Case? Stores 8 bit του τεστ - ξεκινούν από 0
MOVLF b'00000011 », TRISC? Set I / O για λιμενικές C

Generate_Test_Cases
movf b'11111111 ', Δ
movwf Test_Case
BSF PORTC, 6? MC κωδικός είναι 01
BCF PORTC, 2? MC τώρα έτοιμο για την αποστολή δεδομένων
? Debugging ΚΩΔΙΚΟΣ
goto MC_Transmission_Ready

MC_Transmission_Ready
movf Test_Case, W
movwf PORTD
Περιμένετε goto
BSF PORTC, 2? MC κώδικα είναι τώρα 10
BCF PORTC, 6? MC έτοιμη για τα δεδομένα από FPGA
goto Contact_FPGA

κλπ. ..

Οι παραπάνω κώδικα θα πρέπει απλώς σειρά για όλα τα LED του.Αντί του 1111, να είμαι 0100.(Είμαι μόνο κοιτάζοντας τα πρώτα 4 bits, επειδή έχω μόνο
το 4 LED). Μπορείτε να δείτε, όταν αυτό προέρχεται από την παραγωγή;Σκέφτηκα για μια στιγμή ότι οι Επικοινωνία FPGA υπορουτίνα ήταν η πηγή του προβλήματος, αλλά παρατήρησε ότι και πήδηξε από πάνω του και ακόμη και τώρα είμαι παράξενα πράγματα.Παρακαλώ βοηθήστε!

Το αρχικό κώδικα και screenshot του config bits επισυνάπτεται.

Ευχαριστώ όλους για το χρόνο σας!
Λυπούμαστε, αλλά χρειάζεται login για να δείτε αυτό το συνημμένο

 
διδασκαλίας "movf b'11111111 ', Δ"
δεν μετακινείται b'11111111 »σε WREG
Κινείται τιμή που είναι αποθηκευμένη στη διεύθυνση b'11111111 να WREG

φορτίο WREG να το κάνετε αυτό:

movlw b'11111111 "

Γιώργος

 
Ουάου.Σε ευχαριστώ!Ήξερα ότι ήταν κάτι απλό όπως το ότι δεν είχα δει!

Έτσι, η διαφορά μεταξύ l και f είναι η πραγματική vs κυριολεκτική η διεύθυνση;Όταν είμαι ανάθεση b'11111111 'στο Test_Case, b'11111111 »είναι η λέξη και είναι Test_Case τόπο όπου είναι αποθηκευμένο το γράμμα.Έχω κατανόηση ότι σωστά;

 
Ναι
κατά τη χρήση του κώδικα:
cblock Bank0RAM
Test_Count? Counter μεταβλητή για να δείτε πόσες υποθέσεις έχουν
? Εφαρμόστηκαν
Test_Case? Περίπτωση δοκιμής

assiging σας διεύθυνση σε αυτές τις μεταβλητές και compilier υποκατάστατα αυτής της διεύθυνσης για τη μεταβλητή

Αν Δείτε Αποσυναρμολόγηση κατάλογος θα δείτε αυτό.

Γιώργος

 
SamanthaL έγραψε:

Ουάου.
Σε ευχαριστώ!
Ήξερα ότι ήταν κάτι απλό όπως το ότι δεν είχα δει!Έτσι, η διαφορά μεταξύ l και f είναι η πραγματική vs κυριολεκτική η διεύθυνση;
Όταν είμαι ανάθεση b'11111111 'στο Test_Case, b'11111111 »είναι η λέξη και είναι Test_Case τόπο όπου είναι αποθηκευμένο το γράμμα.
Έχω κατανόηση ότι σωστά;
 

Welcome to EDABoard.com

Sponsor

Back
Top