0
Χαίρεται.
Εδώ κι 1,5 χρόνο ασχολούμαι (με έναυση το αντίστοιχο μάθημα της σχολής) με μικροελεγκτές της Microchip. Στο πέρασμα του χρόνου τα προγράμματά μου γίνονται όλο και πιο 'περίεργα', πιο πολύπλοκα, πιο μεγάλα. Χθες λοιπόν μου συνέβη κάτι για πρώτη φορά και πολύ θα ήθελα να διαβάσω τη γνώμη σας για το τι φταίει και το πια μπορεί να είναι η πιθανή λύση...
Κάνοντας κάποια στιγμή compile τον κώδικά μου, έφτασα την RAM=18% και την ROM=55%. Με την προσθήκη μίας εντολής ακόμη, μου έβγαζε «Error 71: Out of ROM, A segment or the program is too large MAIN». Αυτό που παρατήρησα ήταν πως όταν έγραφα εντολή για κάποια πόρτα του pic τότε δεν υπάρχει πρόβλημα μνήμης, όταν έγραφα έστω και μία εντολή ακόμη (σε οποιοδήποτε σημείο του κώδικα, είτε σε interrupt, είτε σε συνάρτηση, είτε στο κυρίως πρόγραμμα) που είχε να κάνει με κάποια πράξη, με κάποια καταχώριση σε μεταβλητή, τότε προέκυπτε το συγκεκριμένο λάθος '71'. Είναι δυνατόν από το 55%, μια εντολή να ανεβάζει τη ROM πάνω από το 100%;
Να αναφέρω ότι χρησιμοποιώ τον PIC 16f877, με τον CCS c compiler (PCWHD v.4.093).
Σας ευχαριστώ εκ των προτέρων.