• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 19, 2025, 00:25:55 am

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 19, 2025, 00:25:55 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
H Στοά των Off Topic
by Katarameno
[June 18, 2025, 20:28:39 pm]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 18, 2025, 19:40:47 pm]

[ΣΗΕ ΙΙ] Γενικές απορίες ...
by chatzikys
[June 18, 2025, 19:26:00 pm]

Σιδηροδρομικό Δυστύχημα σ...
by Katarameno
[June 18, 2025, 18:22:39 pm]

[Μεταφορά και Διανομή ΗΕ]...
by tzortzis
[June 18, 2025, 07:55:05 am]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by chris_p30
[June 18, 2025, 00:45:33 am]

[Ψηφιακά Ολοκληρωμένα Κυκ...
by tzortzis
[June 17, 2025, 21:25:42 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[June 17, 2025, 20:59:13 pm]

[Γραφική] Λυμένα θέματα
by okanpala
[June 17, 2025, 18:56:22 pm]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[June 17, 2025, 14:25:00 pm]

Αντικατάστασης πυκνωτή σε...
by george14
[June 17, 2025, 13:58:20 pm]

Πότε θα βγει το μάθημα; -...
by tzortzis
[June 17, 2025, 13:19:53 pm]

Αποτελέσματα Εξεταστικής ...
by george14
[June 17, 2025, 12:08:25 pm]

[ΨEE] Γενικές απορίες και...
by Juror8
[June 17, 2025, 12:06:57 pm]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]
Στατιστικά
Members
Total Members: 9965
Latest: Poli
Stats
Total Posts: 1426723
Total Topics: 31711
Online Today: 187
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 43
Guests: 126
Total: 169
aachmet
estoimea
ggalamat
arswagdapro
Captain
kkuro123
kyriakipa
Χρήστος Κίτσος
georsoti
alexbaroutes
Deviate
ioannisdamantis
Tasaras
vevi
Mr Watson
elias_farhood
DidosK
astra
theodoradr
Nicotre
AlexKyr
Xaralampos_al
Christina_R
sterxz
zaroumaria
ThanosKoutsoump
alexandros_and
esroussou
PolarBear
vajulin
mmamougiorgi
Bill g
evax
Ulmo
Athinaaz
Λέσχη Επιστημόνων
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Πληροφορίες Καθηγητών
THMMY.gr > Forum > Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών  > 8ο Εξάμηνο > Μικροεπεξεργαστές και Περιφερειακά > AVR Εποχή > [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
0 Members and 1 Guest are viewing this topic.
Pages: 1 [2] 3 Go Down Print
Author Topic: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017  (Read 6016 times)
lodi
Θαμώνας
****
Gender: Male
Posts: 331



View Profile
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #15 on: June 19, 2017, 23:12:25 pm »

Γενικά όταν έχουμε ADC ή External Interrupt ή κάτι τέτοιο , πρέπει το αντίστοιχο Pin να το θέσουμε σαν είσοδο ή γίνεται αυτόματα ;
« Last Edit: June 22, 2017, 21:16:41 pm by Tarzanello » Logged

all you need is love
princess_of_the_dawn
Καταστραμμένος
********
Gender: Female
Posts: 5768


με μια σφαίρα στο κεφάλι το μυαλό σου θ αλλάξει!


View Profile
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #16 on: June 19, 2017, 23:34:04 pm »

ΑΝ κατάλαβα τί εννοείς, που δεν είμαι και πολύ σίγουρη, πρέπει στο .cseg να βάλεις ένα από τα διανύσματα που αντιστοιχούν σε external interrupts από το cheatsheet το οποίο μες στο πρόγραμμα να μηδενίζει τη σημαία Τ κάθε φορά που συμβαίνει η διακοπή. Από κει και πέρα πρέπει στους καταχωρητές EICRA και EIMSK να θέσεις τα bits που ενεργοποιούν τη διακοπή που έχεις όπως σου υποδεικνύει το cheatsheet.

εδιτ: αν εννοείς ότι οι διακοπές συνδέονται με καποιο PORT που σου δίνει, που μάλλον αυτό εννοείς, ναι πρέπει τα bits που συνδέονται με τη διακοπή να τα μηδενίσεις για να θέσεις το PORT ως είσοδο
δες πχ στην άσκηση του εργαστηρίου με το σηματοδότη, στο σχήμα που δίνει συνδέει τα bits 0-3 του PORTA με τα κουμπιά που αντιπροσωπεύουν την εξωτερική διακοπή και τα υπόλοιπα με κάποια από τα φανάρια
τότε εσύ πρέπει να θέσεις το μισό PORT ως είσοδο και το μισό ως έξοδο
Logged

λευκά κελιά για σένα

https://www.behance.net/Thomas_Kef
lodi
Θαμώνας
****
Gender: Male
Posts: 331



View Profile
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #17 on: June 20, 2017, 10:36:36 am »

To 2o εννοούσα. Οκ, ευχαριστώ !  Μήπως χρειάζεται να κάνω enable και τις αντιστάσεις ; Δηλαδή εκτός από cbi DDRD,0 ξέρω εγώ να κάνω και sbi PortD,0 ?
Logged

all you need is love
Indy
Θαμώνας
****
Gender: Male
Posts: 367


View Profile WWW
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #18 on: June 20, 2017, 13:10:07 pm »

Τί είναι τα external interrupts? "Custom" interrupts του προγραμματιστή που τα προκαλεί αυτός μέσω software? Κι αν ναι πώς ορίζεις πότε θα προκαλούνται; Άντε με τα EICRA και EIMSK ορίζεις πχ ότι θα προκαλούνται με άνοδο του παλμού. Τί σημαίνει αυτό; Άνοδο του παλμού ποιανού πράγματος; πχ στο micro-compre.pdf στο θέμα 2 Σεπτ 2007 λέει ότι η πίεση του κουμπιού από το χρήστη θα διαβάζεται μέσω external interrupt.. και όντως θέτει ότι θα γίνεται (μέσω EICRA, EIMSK) στο rising edge (ποιανού πράγματος είπαμε?) και στο interrupt vector label ορίζει τί θα γίνεται όταν προκαλείται το interrupt.. πού ορίζει όμως πότε θα προκαλείται;
Logged

Programs must be written for people to read, and only incidentally for machines to execute.
Andromedas
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 504



View Profile
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #19 on: June 20, 2017, 13:24:04 pm »

Quote from: Indy on June 20, 2017, 13:10:07 pm
Τί είναι τα external interrupts? "Custom" interrupts του προγραμματιστή που τα προκαλεί αυτός μέσω software? Κι αν ναι πώς ορίζεις πότε θα προκαλούνται; Άντε με τα EICRA και EIMSK ορίζεις πχ ότι θα προκαλούνται με άνοδο του παλμού. Τί σημαίνει αυτό; Άνοδο του παλμού ποιανού πράγματος; πχ στο micro-compre.pdf στο θέμα 2 Σεπτ 2007 λέει ότι η πίεση του κουμπιού από το χρήστη θα διαβάζεται μέσω external interrupt.. και όντως θέτει ότι θα γίνεται (μέσω EICRA, EIMSK) στο rising edge (ποιανού πράγματος είπαμε?) και στο interrupt vector label ορίζει τί θα γίνεται όταν προκαλείται το interrupt.. πού ορίζει όμως πότε θα προκαλείται;
Τσέκαρε εάν θες αυτό το post μου. Βάση της πρώτης άσκησης του Πετρου εξηγεί τις διαφορές μέθοδο σημαιών - μέθοδο interrupts.
Και έχω κάνει και μια μέθοδο σημαιών με software interrupt 
Quote from: Andromedas on June 22, 2016, 19:52:00 pm
Logged
Indy
Θαμώνας
****
Gender: Male
Posts: 367


View Profile WWW
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #20 on: June 20, 2017, 14:33:09 pm »

Quote from: Andromedas on June 20, 2017, 13:24:04 pm
Τσέκαρε εάν θες αυτό το post μου. Βάση της πρώτης άσκησης του Πετρου εξηγεί τις διαφορές μέθοδο σημαιών - μέθοδο interrupts.
Και έχω κάνει και μια μέθοδο σημαιών με software interrupt  

Ευχαριστώ, αλλά δε διακρίνω και πολύ καλά τα γράμματα. Επίσης, βλέπω ότι κάνεις ό,τι γίνεται και στην επίλυση του θέματος 2 Σεπτεμβρίου 2007, δηλαδή ενεργοποιείς τα external interrupts 0 και 1, στο rising edge, αλλά δεν καταλαβαίνω πώς θέτεις πότε ενεργοποιούνται αυτά. Αν μου εξηγούσε κανείς με δυό λόγια θα ταν καλά (γιατί από τα παραδείγματα μόνο δεν κατάλαβα πλήρως).

Έχει να κάνει με τις τιμές στα pins? αλλά σε ποιά Pins και ποια bits?

Στην ουσία τα external interrupts είναι interrupts που καλούνται όταν πατιέται το αντίστοιχό τους (dedicated) κουμπί; Όταν πχ στο θέμα λέει "όταν ο χρήστης πατάει το κουμπί ACKNOWLEDGE να γίνεται αυτό κι αυτό" τότε θεωρούμε δεδομένο πως αυτό το κουμπί αντιπροσωπεύεται από το pin του INT0 και όταν αυτό πατηθεί, θα γίνει trigger το interrupt? (αφού πρώτα σετάρουμε τον EICRA και τον EIMSK)?
« Last Edit: June 20, 2017, 16:53:49 pm by Indy » Logged

Programs must be written for people to read, and only incidentally for machines to execute.
lodi
Θαμώνας
****
Gender: Male
Posts: 331



View Profile
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #21 on: June 20, 2017, 20:13:22 pm »

Λοιπόν , πάνε ATmega128 Datasheet σελίδα 2, στο Pin Configuration . Βλέπεις εκεί τα PinD από 0-7 ή αλλιώς PD[0-7] έχουν και ένα άλλο όνομα μέσα στην παρένθεση. Αυτό εκφράζει μια εν δυνάμη λειτουργεία τους . Τα συγκεκριμμένα Pins μέσα στην παρένθεση περιέχουν τα INT[0:7] . Αυτή η λειτουργία μπορεί να ενεργοποιηθεί μέσω του καταχωρητή EIMSK για τα αντίστοιχα PIN 0-7.

Τι σημαίνει αυτή η λειτουργία ;
Καταρχάς να σου πω σελ 89 στο Datasheet τα λέει αρκετά καλά, σε περίπτωση που δεν το διάβασες.
Κατα  τ' άλλα τα external interrupts εφόσον είναι enabled για ένα συγκεκριμμένο PIN (π.χ. το ΙΝΤ0 που στεγάζει στο PD0 ,και ενεργοποιείται με τον EIMSK να παίρνει την τιμή 0b00000001 ) υλοποιεί την εξής λειτουργία : Παρακολουθεί το INT0 ανά πάσα στιγμή και σε συγκερκριμμένες περιπτώσεις ανάλογα με αυτό που βλέπει καλεί INTERRUPT τύπου ext_INT0 στην 0002 codeSegment.
Οι συγκεκριμμένες περιπτώσεις ορίζονται από τον EICRA. Π.χ. για 0b00000011 EICRA σημαίνει ότι το INT0 (εφόσον έχει ενεργοποιηθεί από τον EIMSK) θα προκαλέσει interrupt όταν η τάση στο INT0 γίνει από 0 σε 1 (rising edge) .

Τώρα εφαρμογές , είναι πολλές . Αρκετές φορές όπως έχω δεν σου λέει πώς να το κάνεις και τα external interrupt αποτελούν συχνά λύση στο πρόβλημά σου. Στο συγκεκριμμένο παραδειγμα υποθέτεις ότι το κουμπι ACKNOWLEDGE στο πάτημά του δημιουργεί έναν παλμό στο INT0 από το 0->1 και μετά από κάποιους κύκλους πάλι στο 0.

Ελπίζω να κατάλαβες κάπως. Σου προτείνω να δεις και το Datasheet τι λέει γιατί τα συγκεκριμμένα τα εξηγεί καλά.
Logged

all you need is love
Indy
Θαμώνας
****
Gender: Male
Posts: 367


View Profile WWW
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #22 on: June 20, 2017, 22:28:06 pm »

Quote from: lodi on June 20, 2017, 20:13:22 pm
Λοιπόν , πάνε ATmega128 Datasheet σελίδα 2, στο Pin Configuration . Βλέπεις εκεί τα PinD από 0-7 ή αλλιώς PD[0-7] έχουν και ένα άλλο όνομα μέσα στην παρένθεση. Αυτό εκφράζει μια εν δυνάμη λειτουργεία τους . Τα συγκεκριμμένα Pins μέσα στην παρένθεση περιέχουν τα INT[0:7] . Αυτή η λειτουργία μπορεί να ενεργοποιηθεί μέσω του καταχωρητή EIMSK για τα αντίστοιχα PIN 0-7.

Τι σημαίνει αυτή η λειτουργία ;
Καταρχάς να σου πω σελ 89 στο Datasheet τα λέει αρκετά καλά, σε περίπτωση που δεν το διάβασες.
Κατα  τ' άλλα τα external interrupts εφόσον είναι enabled για ένα συγκεκριμμένο PIN (π.χ. το ΙΝΤ0 που στεγάζει στο PD0 ,και ενεργοποιείται με τον EIMSK να παίρνει την τιμή 0b00000001 ) υλοποιεί την εξής λειτουργία : Παρακολουθεί το INT0 ανά πάσα στιγμή και σε συγκερκριμμένες περιπτώσεις ανάλογα με αυτό που βλέπει καλεί INTERRUPT τύπου ext_INT0 στην 0002 codeSegment.
Οι συγκεκριμμένες περιπτώσεις ορίζονται από τον EICRA. Π.χ. για 0b00000011 EICRA σημαίνει ότι το INT0 (εφόσον έχει ενεργοποιηθεί από τον EIMSK) θα προκαλέσει interrupt όταν η τάση στο INT0 γίνει από 0 σε 1 (rising edge) .

Τώρα εφαρμογές , είναι πολλές . Αρκετές φορές όπως έχω δεν σου λέει πώς να το κάνεις και τα external interrupt αποτελούν συχνά λύση στο πρόβλημά σου. Στο συγκεκριμμένο παραδειγμα υποθέτεις ότι το κουμπι ACKNOWLEDGE στο πάτημά του δημιουργεί έναν παλμό στο INT0 από το 0->1 και μετά από κάποιους κύκλους πάλι στο 0.

Ελπίζω να κατάλαβες κάπως. Σου προτείνω να δεις και το Datasheet τι λέει γιατί τα συγκεκριμμένα τα εξηγεί καλά.

Ναι, κατάλαβα, thanks.
Logged

Programs must be written for people to read, and only incidentally for machines to execute.
Indy
Θαμώνας
****
Gender: Male
Posts: 367


View Profile WWW
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #23 on: June 22, 2017, 19:00:28 pm »

Μπορεί να μου εξηγήσει κάποιος πάνω στην αρχή στα .org (για το reset και τα interrupts) πόσα reti βάζουμε μεταξύ των .org? Στην αρχή νόμιζα πως βάζουμε τα μισά από τη διαφορά επόμενο_org - προηγούμενο_org αλλά βλέποντας παλιά λυμένα θέματα βλέπω ότι δεν το κάνουν πάντα έτσι.
« Last Edit: June 22, 2017, 21:16:54 pm by Tarzanello » Logged

Programs must be written for people to read, and only incidentally for machines to execute.
Andromedas
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 504



View Profile
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #24 on: June 22, 2017, 19:33:16 pm »

/off topic ας συγχωνευθεί στις ασκήσεις

Quote from: Indy on June 22, 2017, 19:00:28 pm
Μπορεί να μου εξηγήσει κάποιος πάνω στην αρχή στα .org (για το reset και τα interrupts) πόσα reti βάζουμε μεταξύ των .org? Στην αρχή νόμιζα πως βάζουμε τα μισά από τη διαφορά επόμενο_org - προηγούμενο_org αλλά βλέποντας παλιά λυμένα θέματα βλέπω ότι δεν το κάνουν πάντα έτσι.
το interrupt vector δηλαδή το .org διευθυνση θέλει ένα. πχ:
.ORG OVF1addr
JMP Timer1OverFlow
.αλλά interrupt vectors


Timer1OverFlow:
....
reti ('ωστε να γίνει το flag του  SR Ι από 0->1 και να μπορεί να ξανακάνει interupt "με μια επιφύλαξη)

κάθε interrupt γυρίζει με reti
το reset δεν είναι interrupt απλά επειδή πάει και διαβάζει τις εντολές από το 0x00 πρέπει να του πεις να πάει κάπου αλλιώς θα πάει στο επόμενο μέχρι να βρει εντολή που πολύ πιθανών να είναι κάτι το οποίο δεν θες πχ interrupt vector

« Last Edit: June 22, 2017, 21:17:15 pm by Tarzanello » Logged
Indy
Θαμώνας
****
Gender: Male
Posts: 367


View Profile WWW
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #25 on: June 22, 2017, 19:45:43 pm »

Quote from: Andromedas on June 22, 2017, 19:33:16 pm
/off topic ας συγχωνευθεί στις ασκήσεις
το interrupt vector δηλαδή το .org διευθυνση θέλει ένα. πχ:
.ORG OVF1addr
JMP Timer1OverFlow
.αλλά interrupt vectors


Timer1OverFlow:
....
reti ('ωστε να γίνει το flag του  SR Ι από 0->1 και να μπορεί να ξανακάνει interupt "με μια επιφύλαξη)

κάθε interrupt γυρίζει με reti
το reset δεν είναι interrupt απλά επειδή πάει και διαβάζει τις εντολές από το 0x00 πρέπει να του πεις να πάει κάπου αλλιώς θα πάει στο επόμενο μέχρι να βρει εντολή που πολύ πιθανών να είναι κάτι το οποίο δεν θες πχ interrupt vector



Δεν εννοώ ακριβώς αυτό. Βλέπω ότι ανάμεσα στα .org στην αρχή (όχι στο "σώμα" του interrupt) βάζουν κάτι reti(x21) reti(x10) κλπ. Αυτά εννοώ πώς κρίνουμε τί πρέπει να τα βάλουμε.
« Last Edit: June 22, 2017, 21:17:25 pm by Tarzanello » Logged

Programs must be written for people to read, and only incidentally for machines to execute.
Andromedas
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 504



View Profile
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #26 on: June 22, 2017, 19:54:26 pm »

Quote from: Indy on June 22, 2017, 19:45:43 pm
Δεν εννοώ ακριβώς αυτό. Βλέπω ότι ανάμεσα στα .org στην αρχή (όχι στο "σώμα" του interrupt) βάζουν κάτι reti(x21) reti(x10) κλπ. Αυτά εννοώ πώς κρίνουμε τί πρέπει να τα βάλουμε.

γενικά δεν χρειάζεται να βάλεις κάτι νομίζω ότι είναι macro αυτά που βλέπεις.

και το
.ORG OVF1addr
JMP Timer1OverFlow
.ORG OVF2addr
JMP Timer2OverFlow
....
Timer1OverFlow:
{body_1}
reti

Timer1OverFlow:
{body_2}
reti

είναι το ίδιο με το

.ORG OVF1addr
{body_1}
reti
.ORG OVF2addr
{body_2}
reti
αν θες ανέβασε κώδικα αλλά http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_RETI.html
« Last Edit: June 22, 2017, 21:17:39 pm by Tarzanello » Logged
Indy
Θαμώνας
****
Gender: Male
Posts: 367


View Profile WWW
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #27 on: June 22, 2017, 20:02:11 pm »

Quote from: Andromedas on June 22, 2017, 19:54:26 pm
γενικά δεν χρειάζεται να βάλεις κάτι νομίζω ότι είναι macro αυτά που βλέπεις.

και το
.ORG OVF1addr
JMP Timer1OverFlow
.ORG OVF2addr
JMP Timer2OverFlow
....
Timer1OverFlow:
{body_1}
reti

Timer1OverFlow:
{body_2}
reti

είναι το ίδιο με το

.ORG OVF1addr
{body_1}
reti
.ORG OVF2addr
{body_2}
reti
αν θες ανέβασε κώδικα αλλά http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_RETI.html

mikro2-compre.pdf λύση θέματος 2 Ιουνίου 08 τί είναι αυτό το reti(x21) που έχει στις αρχές;
Όπως και βιβλίο Πεκμεστζή σελίδα 94
« Last Edit: June 22, 2017, 21:17:48 pm by Tarzanello » Logged

Programs must be written for people to read, and only incidentally for machines to execute.
Andromedas
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 504



View Profile
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #28 on: June 22, 2017, 20:15:57 pm »

Quote from: Indy on June 22, 2017, 20:02:11 pm
mikro2-compre.pdf λύση θέματος 2 Ιουνίου 08 τί είναι αυτό το reti(x21) που έχει στις αρχές;
Όπως και βιβλίο Πεκμεστζή σελίδα 94
Δεν ξέρω, δεν χρειάζεται....
δεν είναι interrupt για να θέλει reti ||The first vector isn't an interrupt but the reset vector, performing no stack operation!||
εδώ για το reset ...
http://www.avr-asm-tutorial.net/avr_en/beginner/JUMP.html
μαζί με κώδικα
« Last Edit: June 22, 2017, 21:18:04 pm by Tarzanello » Logged
bsp
Καταξιωμένος/Καταξιωμένη
***
Posts: 157


View Profile
Re: [Μικρο ΙΙ] Ασκήσεις-Σχολιασμός Απορίες 2017
« Reply #29 on: June 22, 2017, 20:38:32 pm »

Με επιφύλαξη, στο βιβλιο κάνει ουσιαστικά οτι κανει  στις διαφανειες 22-23 στο ethmmy -> Υλη -> I/o Ports -> IOPorts.ppt.
Αν τα έχω καταλάβει σωστά όταν συμβαινει ενα interrupt εκτελείται η εντολή που βρίσκεται στην αντίστοιχη θέση της μνήμης σύμφωνα με την διαφάνεια 22.
Αυτοί ξεκινάνε απο το 0 και βάζουν jmp reset έτσι ώστε οταν συμβεί το reset να πάει στην θέση 0 της μνήμης και να εκτελέσει το reset. Μετά για όσα interrupts δεν τους ενδιαφέρουν επειδή δεν θα συμβούν βάζει στην αντίστοιχη θέση μνήμης το reti με το οποίο ουσιαστικά δε θα  συμβεί τίποτα. Άμα θές να γράψεις κώδικα για το 10ο interrupt γράφεις μετά το reset 8 reti έτσι ώστε η επόμενη εντολή που θα γράψεις π.χ. jmp interrupt να γραφτεί στην θέση μνήμης του συγκεκριμένου interrupt για να τρέχει ο κώδικας για την συγκεκριμένη διακοπή και όχι για κάποια άλλη.
Με το .org 0x0004
   jmp EXT_INT1_ISR
ουσιαστικα γράφεις την εντολή κατευθείαν στην θέση μνήμης που θές και δεν ξεκινάς απο το 0 γράφοντας κάθε θέση μνήμης μέχρι να φτάσεις εκεί που θες. Οπότε στην λύση του θέματος δεν νομίζω ότι χρειάζονται τα reti.

« Last Edit: June 22, 2017, 21:18:13 pm by Tarzanello » Logged
Pages: 1 [2] 3 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...