Σελίδα 2 από 2 ΠρώτηΠρώτη 1 2
Εμφάνιση αποτελεσμάτων : 11 έως 17 από 17

Θέμα: PIC16F877A EEPROM write (no write δλδ...)

  1. #11
    Μέλος Το avatar του χρήστη klik
    Όνομα
    just a click away
    Εγγραφή
    Oct 2009
    Περιοχή
    Θεσσαλλλονίκη
    Μηνύματα
    2.561

    Προεπιλογή

    The WREN bit, when set, will allow a write or erase
    operation. On power-up, the WREN bit is clear. The
    WRERR bit is set when a write (or erase) operation is
    interrupted by a MCLR or a WDT Time-out Reset during
    normal operation
    . In these situations, following
    Reset, the user can check the WRERR bit and rewrite
    the location. The data and address will be unchanged
    in the EEDATA and EEADR registers.
    ο μΕ σου κάνει μάλλον κάνει συνεχώς reset...
    Για να το επιβεβαιώσεις, κάνε μια ακίδα έξοδο, βάλε και μια αντίσταση pull up 10ΚΩ και κάνε την output και 0 στο ξεκίνημα.
    Αν με το πολύμετρο μετράς 0V τότε δεν κάνει reset. Αν μετράς πάνω από 0,3V, τότε κάνει reset συνεχώς.

    Οπότε ελέγχεις MCLR (βάλε πυκνωτάκι ή ακύρωσε το MCLR), έλεγξε τον κρύσταλλο με τους πυκνωτές, έλεγξε την τροφοδοσία (decoupling κλπ) για BOR.
    Απ' ότι είδα έχεις WDT off, οπότε δεν είναι από τσοπανόσκυλο το πρόβλημα.

    0 Not allowed! Not allowed!

  2. #12
    Μέλος Το avatar του χρήστη bchris
    Όνομα
    Χρηστος
    Εγγραφή
    Nov 2011
    Περιοχή
    Lugano
    Μηνύματα
    2.104

    Προεπιλογή

    Το δοκιμασα το προγραμμα και σε αλλο PIC16F877A, ο οποιος δουλευει σιγουρα μια χαρα.
    Εκανε τα ιδια......

    Παρ' ολα αυτα, θα το κανω το test που λες.

    EDIT:
    Μα τι λεω?
    Αμα δεις, αυτος ελεγχει 4 7 seg displays που οταν ξεκιναει τα παει σε 0 1 2 3 (νομιζω με τις τοσες δοκιμες δεν θυμαμαι)
    και μετα με ενα ir remote, αλλαζειο νουμερα.
    Αν εκανε reset θα ξαναπηγαινε παλι στο 0123...

    Οχι φιλε, δεν παιζει κατι τετοιο.

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη bchris : 30-07-13 στις 16:21

  3. #13
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Feb 2010
    Περιοχή
    Αθήνα
    Μηνύματα
    4.618

    Προεπιλογή

    Διάβασε και στο list flie (.lst) τα PAGESEL μεταφράζονται ως bcf και bsf PCLATH;
    (Ευχαριστώ, ... δεν έχω MPLΑB μαζί μου)


    edit: νομίζω καλείς το EE_DATA_WRITE από 0x1xx χωρίς να έχεις κάνει PAGESEL από το "SETUP_FOR_UNPAIRED" (αλλά δεν είμαι σίγουρος ότι περνά από εκεί το πρόγραμμά σου)

    edit2: νομίζω ότι το πρόγραμμα χωράει όλο στο "κάτω μέρος" (έως 0x7FF), βάλτο εκεί και κράτα ψηλά μόνο τα table reads που έχεις πριν/μετά PAGESEL

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη GeorgeVita : 30-07-13 στις 16:37 Αιτία: ---> PAGESEL

  4. #14
    Μέλος Το avatar του χρήστη bchris
    Όνομα
    Χρηστος
    Εγγραφή
    Nov 2011
    Περιοχή
    Lugano
    Μηνύματα
    2.104

    Προεπιλογή

    Εννοειται οτι δεν εχεις mplab.

    Εγω απορω που εχεις και computer

    0 Not allowed! Not allowed!

  5. #15
    Μέλος Το avatar του χρήστη klik
    Όνομα
    just a click away
    Εγγραφή
    Oct 2009
    Περιοχή
    Θεσσαλλλονίκη
    Μηνύματα
    2.561

    Προεπιλογή

    Κάποια banksel και pagesel μου φάνηκαν να λοίπουν.
    Όμως σε mplab λειτουργεί και γράφει στην eeprom (δοκιμασμένο με mplab-simulator).
    Τώρα σε hardware μορφή, δεν έχω τέτοιο τσιπάκι για να το δοκιμάσω.

    0 Not allowed! Not allowed!

  6. #16
    Μέλος Το avatar του χρήστη bchris
    Όνομα
    Χρηστος
    Εγγραφή
    Nov 2011
    Περιοχή
    Lugano
    Μηνύματα
    2.104

    Προεπιλογή

    Αμα ελειπαν BANKSEL/PAGESEL ουτε στο simulator θα εγραφε. Τι σοι simulator θα ηταν αλλωστε?

    Γμτ καποιο αλλο λακκο εχει η φαβα


    0 Not allowed! Not allowed!

  7. #17
    Μέλος Το avatar του χρήστη klik
    Όνομα
    just a click away
    Εγγραφή
    Oct 2009
    Περιοχή
    Θεσσαλλλονίκη
    Μηνύματα
    2.561

    Προεπιλογή

    Βλέπω ότι μετά το test write κάνεις ατέρμονο loop. (goto $).
    Δοκίμασες να διαβάσεις αυτό που έγραψες, αμέσως μόλις τελείωσε το write.
    Ενεργοποίησε κάποια έξοδο σαν ένδειξη ότι το διάβασε σωστά, κάποια άλλη αν το διάβασε λάθος, κάποια 3η αν έχει wrerr και κάποια 4η αν διάβασε 0xff.
    (ΣΤο poweron να κάνεις εξόδους όλες αυτές τις ακίδες και να δίνεις 0 στα latch pins τους).

    0 Not allowed! Not allowed!

Σελίδα 2 από 2 ΠρώτηΠρώτη 1 2

Παρόμοια Θέματα

  1. Flash rated to last 100 erase/write cycles
    By bchris in forum Εξαρτήματα & Datasheets
    Απαντήσεις: 1
    Τελευταίο Μήνυμα: 28-11-12, 17:05
  2. Pic16f877a και σειριακη
    By mike^^ in forum Μικροελεγκτές
    Απαντήσεις: 14
    Τελευταίο Μήνυμα: 12-08-11, 03:47
  3. PIC16F877A - LCD2x16
    By AR15 in forum Μικροελεγκτές
    Απαντήσεις: 15
    Τελευταίο Μήνυμα: 14-06-11, 08:22
  4. pic16f877a In-Circuit Serial Programming
    By esvvidi in forum Μικροελεγκτές
    Απαντήσεις: 16
    Τελευταίο Μήνυμα: 16-02-11, 12:53
  5. Απαντήσεις: 4
    Τελευταίο Μήνυμα: 09-05-09, 14:27

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας