PDA

Επιστροφή στο Forum : Pic 12F683 Προβλημα!



ventouza6969
17-06-09, 01:26
Εχω επισυναψει το παρακατω προγραμμα!
Εχει a/d & pwm λειτουργια το εχω φτιαξει βαση του datasheet του αντιστοιχου πικ.Αλλα δεν λειτουργει κ δεν γνωριζω τον λογο...
υπαρχει καπιος ο οποιος να μπορει να βοηθησει??????

typografos
17-06-09, 01:54
;==========================================
org 0x00
;========================================== Ρε συ Ventousa6969 εκείνο το org 0x00 είναι σωστό ?

Νομίζω ότι το πρόγραμμα στα pic δεν ξεκινάει από Hex 00 ????

γιατί απλούστατα η θέση 00h είναι το reset vector και παρακάτω η θέση μνήμης 04h είναι το interrupt vector.

Για ρίξε λίγο διάβασμα στο datasheet (Για την οργάνωση μνήμης του pic12F683 σελίδα 7 από http://ww1.microchip.com/downloads/en/DeviceDoc/41211D_.pdf )

ventouza6969
17-06-09, 02:22
Φιλε τυπογραφε ειναι πολυ σωστο να τονιζεις τα λαθη!
Αλλα τα λαθη που εχουν ουσια και καταλυτικη σημασια για μενα...Αν γνωριζεις κατι τελος παντων για το υπολοιπο προγραμμα πες το κ απλα μην φλυαρεις!

Ευχαρστω!

typografos
17-06-09, 03:22
Άμα βγάζει τέτοια "παιδιά" το ΤΕΙ ΠΕΙΡΑΙΑ τότε ντρέπομαι κι εγώ !
Άσχετα αν εγώ τελείωσα το '90 ....

Σιγά μη σου γράψω και το πρόγραμμα !

Αν δεν μάθεις να ακούς, ποτέ δεν θα μάθεις !

Αν δεν μοιράζεσαι τη γνώση αυτή (η δική σου) δεν μεγαλώνει !

Αν νομίζεις ότι φλυαρώ τότε δεν έχεις καταλάβει τίποτα ακόμα (και ούτε θα καταλάβεις γιατί απλούστατα δεν αφήνεις τους άλλους να σου δώσουν ερεθίσματα)

Μην περιμένεις τη λύση του προβλήματος "στο πιάτο"

Είσαι και αγενής !

Έχω 20 χρόνια εμπερία στον προγραμματισμό Mcs και ξέρω τι λέω. Διάβασε πρώτα κανα data sheet και μετά έλα να ρωτήσεις...

Το να ρωτάς τί κάνει το πρόγραμμα επισσυνάπτοντας αρχεία δεν μου λέει τίποτα. Δεν ξέρεις τι θέλεις ... Κοίταξε τα post που έχεις κάνει και ρώτα τον ευατό σου αν ξέρει τι θέλει.

Μάλλον το βεντούζα σου πάει !

Κι αν ξέρεις τι θέλεις πες μου τι είναι το Interrupt vector (για να μη σε πω άσχετο και αρχίσεις και βρίζεις μετά)...

kopla
17-06-09, 03:32
Γειά σου Φάνη

τι λαθος εντοπίζεις στο org 0x00 ?

typografos
17-06-09, 03:41
@ Kopla

Μα ΔΕΝ γράφουμε κώδικα εκεί που είναι αποθηκευμένες οι διευθύνσεις (Jump) goto πως να το πω που ξεκινάει μετά από reset ο pic. Ο κώδικας που γράφουμε σε αυτές τις διευθύνσεις μνήμης είναι πάντα goto (και όχι call).

EDIT: και για νο το εξηγήσω καλύτερα: τι θα γίνει αν σου σκάσει ένα interrupt ? αν έχεις ξεκινήσει να γράφεις κώδικα από 00h

To σωστό είναι:

org 00h
GOTO MAIN_PROGRAM ή ΙΝΙΤ αν προτιμάς
org 04h
GOTO ISR ; δηλ Interrupt Service Routine

και μετά ξεκίνα από χαμηλά με

org 06h
MAIN_PROGRAM κ.τ.π.

Ο λόγος που τα πήρα με τον βεντούζα6969 (δες και τα άλλα post του) είναι ότι χωρίς κύκλωμα, χωρίς στοιχεία και αόριστα ζητά να του πούμε γιατί δεν δουλεύει....

kopla
17-06-09, 03:53
Στην 0x0 είναι το reset vector και στην 0x4 to interrupt vector. Γιατί πρεπει να βαλουμε οπωσδήποτε goto στην 0x0 ? Αν δεν προκειται να χρησιμοποιήσεις interrupts δεν υπάρχει πρόβλημα αν γραψεις πάνω στη 0x4.

ventouza6969
17-06-09, 03:56
Απο το Τει Πειραια τελειωνω Ηλεκτρολογος Μηχανικος και οχι ηλεκτριτζης και σε καμια περιπτωση δεν τελειωνω προγραμματιστης με αποτελεσμα να μην γνωριζω καθολου απο assembly τι ειναι μικροελεγκτης κ.τ.λ. .Κανω μια τεραστια προσπαθεια μονος και με την βοηθεια του site φυσικα κ ολων των παιδιων να κατανοησω αυτα, που για εσας ειναι ευκολονοειτα,δηστυχως ομως εγω δεν τα εχω διδαχθει ποτε.Ναι ειμαι συμφωνος μαζι σου οτι αυτα που ρωταω ειναι παιδιαστικα , ειναι γελοια αλλα για μενα ειναι σημαντικα ,αν παλι τωρα αυτα που ρωταω σε προσβαλουν ή σου υποβιβαζουν την παιδεια πανω στους pic θα σε παρακαλεσω μην τα διαβαζεις ή μην τα σχολιαζεις.Για οτηδηποτε αλλο παρε με τηλεφωνο να μου τα πεις κατυδειαν και οχι να δειχνεις το επιπεδο σου δημοσια.
Επισης να σου τονισω αλλα ενα πραγμα:

Το x στο 0x00 σημαινει hex.

Ζητω συγνωμη σε ολους τους φιλους που θα διαβασουν αυτα τα ποστ εξαιτιας ενος ΤΥΠΟΓΡΑΦΙΚΟΥ ποστ.

Κ παλι συγνωμη!

Ευχαριστω!

typografos
17-06-09, 04:13
@ kopla

Σαφώς δεν έχεις πρόβλημα αν δεν χρησιμοποιήσεις interrupts...

Ερωτώ όμως ΕΙΝΑΙ ΔΥΝΑΤΟΝ να κάνεις οποιαδήποτε σοβαρή εφαρμογή χωρίς interrupts ?:confused1:

Να σοβαρευτούμε. Δεν θέλουμε να ανάψουμε ένα led. Με τους mcs κάνεις δουλειά. Και για να κάνεις δουλειά σωστά θέλεις interrupts.

Μήπως γνωρίζεις πόσα interrupts έγιναν στο pc μου στο pc σου στο server του forum και στα routers όσο έγραφα αυτό το μήνυμα ?

Πας να κάνεις PWM χωρίς interrupts ? Αδύνατο !

Είναι και θέμα τάξης.

Και τώρα που η μνήμη είναι άπλετη από 060h θα ξεκινήσω !

typografos
17-06-09, 04:24
Αν φάνηκα αγενής ζητώ εγώ συγνώμη, φίλε ventouza6969

και αν έκανα κάτι δεν το έκανα για να δείξω το επίπεδό μου ούτε να θίξω το επίπεδο κανενός !

Αν διαβάσεις και προηγούμενα post να βοηθήσω ήθελα : δες και εδώ http://www.hlektronika.gr/forum/showthread.php?t=45867

Απλά νομίζω ότι βιάστηκες λίγο.

Ειλικρινά αν φάνηκε ότι θέλω να πουλήσω μούρη mea coulpa.

Καυστικός μπορεί να ήμουνα αλλά πιστεύω σε αυτά που έγραψα:

Αν δεν μάθεις να ακούς, ποτέ δεν θα μάθεις !

Αν δεν μοιράζεσαι τη γνώση αυτή (η δική σου) δεν μεγαλώνει !

και ειδικά αυτό το τελευταίο. και λέγοντας η δική σου γνώση δεν εννούσα τη δική σου αλλά και τι δική μου και του οποιδήποτε. Πρωσοποποίησα - αν προσέξεις το post μου - μόνο συγκεκριμένα.

Πες μας ξεκάθαρα τι θέλεις να κάνεις και ΝΑΙ θα σου γράψω και τον κώδικα.

Σε παρακαλώ. Μ'εκανες ράκος ξημερώματα.

kopla
17-06-09, 04:28
Σοβαρή εφαρμογή χωρίς interrupts? Βεβαίως. Αναλογα του τι θες να κανεις. Υπάρχουν περιπτώσεις όπου ενώ μπορείς να χρησιμοποιήσεις interrupts, να επιβάλλεται να κανεις polling. ( and vice versa )
Δεν είναι όμως εκεί το θέμα, ούτε μπορείς να χαρακτηρίσεις μια εφαρμογή μη σοβαρή αν δεν χρησιμοποιεί interrupts.

ventouza6969
17-06-09, 04:33
Το προβλημα λυθηκε και το καινουργιο προγραμμα εχει ηδη επισυναπτει...
Ειχα κανει λαθος στο right justify ενω ηθελε left.Επισης ηθελε αλλαγη και η σειρα με την οποια εχω συνταξει τους καταχωρητες...
Για οσους δεν εχουν καταλαβει τι ζητουσα ,με ενα ποντεσιομετρο να μπορω να εχω παλμους διαμορφωσης ευρους(pwm) μεσω αναλογικου σηματος.

@Κυριε Τυπογραφε το τηλεφωνο δεν το σβηνω ειμαι προθυμος να ακουσω την συμβουλη οποιουδηποτε για να με βοηθησει, Κ ειδικοτερα απο εσας γιατι ειμαι σιγουρος οτι το τηλεφωνο το κρατησες για να με βοηθησεις στο μελλον
και οχι για να με βρισεις ή να με γιουχαρεις ποσο μαλλον αφου εχεισ κ 20 χρονια εμπειρια πανω στο θεμα.

Ευχαριστω!