AT89C52 Port0 έχεις πρόβλημα!

TechToys έγραψε:

Γεια Βοήθεια

Το ερώτημα είναι:Να φτάσουμε δεδομένα μνήμη RAM μεγαλύτερη από 256Mbyte δηλώνοντας τα στοιχεία που πρέπει να xdata μόνος;Φύλλο δεδομένων για 89S52 αναφέρει ότι υπάρχει RAM 256MB on-chip.
ΧΩΡΙΣ εξωτερική RAM chip, do we get δεδομένα RAM μεγαλύτερη από ότι από την κήρυξηxdata unsigned char α [50];Αν μπορέσουμε να απαντήσουμε σε αυτό το ερώτημα, θα λύσει το πρόβλημα, νομίζω.

John
 
C-Man έγραψε:Έτσι και πάλι, εάν το CPU δεν έχει εξωτερική RAM δεν μπορείτε να χρησιμοποιήσετε xdata.
 
Νομίζω ότι ο compiler δεν έχει τρόπο να μάθω αν υπάρχει υλικό xRAM ή μη.Η δήλωση xdata unsigned char α [50] είναι σωστή όσον αφορά τη σύνταξη, αλλά αυτό δεν σημαίνει να δώσουμε το αποτέλεσμα, όπως αναμενόταν.Το ίδιο το αποτέλεσμα της προσομοίωσης.

John

 
Νομίζω ότι όταν χρησιμοποιείτε xdata, MCU χρήση P0 έλεγχο και να προσπαθήσουμε να εξωτερική RAM και δεν μπορείτε να χρησιμοποιήσετε P0, εάν έχουν την ευκαιρία να χρησιμοποιήσετε ένα άλλο λιμάνι για τα LED.i P2 συνήθως χρησιμοποιούν για τα LED, τα LED έχουν περισσότερο όταν κάνω μια απλή ενότητα με 74hc595 για στροφή.
το τελευταίο μου έργο ήταν με 80 ομάδες οδήγησαν:))
89x51 έχουν εσωτερική μνήμη RAM 128 bytes,
89x52 έχουν 256 byte εσωτερική μνήμη RAM.

 
Γεια σου,

Κάθε συμπέρασμα;με xdata ΧΩΡΙΣ xdata τι είχαν συμβεί και στην πράξη;LED μου εξακολουθεί να εργάζεται πρόστιμο!Μόνο που πρέπει να παίζουν γύρω από τον πυρήνα!

Οποιοσδήποτε μπορεί να με κάνει σαφές;Εγώ έχω abit αμαυρώ

<img src="http://www.edaboard.com/images/smiles/icon_neutral.gif" alt="Ουδέτερη" border="0" />Σε ευχαριστώ.

 
Αυτό που εννοούσα σε προηγούμενα μηνύματα είναι ότι, έστω και αν είναι δυνατόν να δηλώσει xdata μεταβλητές όπως:

xdata unsigned char a [], ο κωδικός

α = 1? δεν θα διαθέσει η τιμή του 1 σε επειδή η δεν υπάρχει (δεν x RAM για το hardware).

LED αναβοσβήνει ακόμη (μέσω κωδικού 'countNum = μετράνε ») δεν συνεπάγεται κατανομή αξίας από τον κώδικα σε είναι επιτυχής.LED αναβοσβήνει, δεδομένου ότι ο κώδικας εκτελείται ούτως ή άλλως, όταν η γραμμή εκτελείται

countNum = count => P0 = μετράνε.

John

 
Γεια σου,

Σύμφωνα τι συζητάμε νωρίς.

so we exclude the a and put it behind of P0=count to flash the LED.

Η P0 είναι όταν χρησιμοποιούνται για την αντιμετώπιση xdata = 1 εκτελούνται
έτσι ώστε να αποκλειστεί η α και να το πίσω της P0 = μετράνε να αναβοσβήνει το LED.

TechToys έγραψε:

α = 1? δεν θα διαθέσει η τιμή του 1 σε επειδή η δεν υπάρχει (δεν x RAM για το hardware).

 
Απόσπασμα:

Είμαι AT89C52 χρησιμοποιείτε δεν έχει x RAM!
Έτσι, αν κρίνει την α [], όπωςxdata unsigned char a []?Υπάρχει κάποιο πρόβλημα σε αυτό;
 
Haha ... εννοείτε xdata μου δήλωση μπορεί να λειτουργήσει ακόμα μου κώδικα και του κώδικα εξακολουθεί να εργάζεται για πρόστιμο αλλά μου ελεγκτής δεν έχουν αυτά τα στοιχεία για τη μνήμη;

Μέση θα χαλαρά κάποια λειτουργία, όταν τρέχει μου uController, θες να πεις ότι;

Σε ευχαριστώ

 
Απόσπασμα:

Haha ... εννοείτε xdata μου δήλωση μπορεί να λειτουργήσει ακόμα μου κώδικα και του κώδικα εξακολουθεί να εργάζεται για πρόστιμο αλλά μου ελεγκτής δεν έχουν αυτά τα στοιχεία για τη μνήμη;
 

Welcome to EDABoard.com

Sponsor

Back
Top