UBI >> Contents Κεφάλαιο 1 Εισαγωγική Επισκόπηση MSP430 Teaching Materials Texas Instruments Incorporated University of Beira Interior (PT) Pedro Dinis.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

Τύποι δεδομένων και τελεστές,
Ημιαγωγοί – Τρανζίστορ – Πύλες - Εξαρτήματα
ΜΑΘ 3122 (106) Γλώσσα προγραμματισμού
Τύποι πραγματικών αριθμών
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΤΕΛΕΣΤΕΣ - ΕΚΦΡΑΣΕΙΣ ΜΑΘΗΜΑ 4.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
ΜΕΤΑΒΛΗΤΕΣ - ΤΥΠΟΙ ΜΑΘΗΜΑ 3.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Σημειώσεις : Χρήστος Μουρατίδης
ΕΝΟΤΗΤΑ 8η Μετατροπείς Αναλογικού Σήματος σε Ψηφιακό (ADC)
ΣΥΣΤΗΜΑΤΑ ΣΥΛΛΟΓΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΚΑΙ ΜΕΤΡΗΣΕΩΝ
ΣΥΝΑΡΤΗΣΕΙΣ.
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
Ενότητα Α.4. Δομημένος Προγραμματισμός
ΗΜΥ 100: Εισαγωγή στην Τεχνολογία Διάλεξη 17 Εισαγωγή στα Ψηφιακά Συστήματα: Μέρος Γ TΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ.
Αντικειμενοστραφής Προγραμματισμός & JAVA
ΘΠ06 - Μεταγλωττιστές Εισαγωγή στον Bison Φροντιστήριο - 23/03/2010.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών Κ. Χαλάτσης, Εισαγωγή στην Επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών 1 Παράσταση Πληροφοριών.
ΜΑΘ 3122/106 – Γλώσσα Προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ-3122/106 Γλώσσα Προγραμματισμού Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΨΗΦΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
Επιστημονικός Υπολογισμός Ι Πρώτο Εργαστήριο Εισαγωγή στο matlab 15 Οκτωβρίου 2010 Γιώργος Δρακόπουλος ΤΜΗΥΠ.
ΗΜΥ 100: Εισαγωγή στην Τεχνολογία Διάλεξη 16 Εισαγωγή στα Ψηφιακά Συστήματα: Μέρος B TΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ.
Βασικά στοιχεία της Java
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 2: Συναρτήσεις Εισόδου ⁄ Εξόδου. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
ΕΙΣΑΓΩΓΗ μέρος 2 ΜΙΚΡΟΕΛΕΓΚΤΕΣ - ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Π. ΚΩΣΤΑΡΑΚΗΣ Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Ενότητα 2 η Σήματα και Συστήματα. Σήματα Γενικά η πληροφορία αποτυπώνεται και μεταφέρεται με την βοήθεια των σημάτων. Ως σήμα ορίζουμε την οποιαδήποτε.
Βασικές έννοιες προγραμματισμού Κεφάλαιο 7 ο. Βασικές έννοιες προγραμματισμού Αλφάβητο και τύποι δεδομένων Σταθερές και μεταβλητές Τελεστές, συναρτήσεις.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Εισαγωγή στην Python.
Έβδομο μάθημα Ψηφιακά Ηλεκτρονικά.
ΚΕΦΑΛΑΙΟ 2ο - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
ΣχεδΙαση ΨηφιακΩν ΣυστημΑτων Συστηματα αριθμησησ Δυαδικοι αριθμοι
Ένατο μάθημα Ψηφιακά Ηλεκτρονικά.
Δεδομένα, μεταβλητές, υπολογισμοί
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι Ιωάννης Έλληνας Τμήμα Η/ΥΣ
Ενότητα 3 : Αναπαράσταση αριθμών στο δυαδικό σύστημα
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Τύποι Μεταβλητών.
ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΚΕΡΑΙΩΝ
Η ΑΡΙΘΜΙΤΙΚΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Η Γλώσσα Pascal Υποπρογράμματα
Μανασσάκης Βασίλης Καθηγητής Πληροφορικής
Εισαγωγή στον Προγ/μό Υπολογιστών
“Ψηφιακός έλεγχος και μέτρηση της στάθμης υγρού σε δεξαμενή"
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 10 Streams.
Εντολές και δομές αλγορίθμου
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Χειμερινό εξάμηνο 2017 Στέλιος Πετράκης
ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 2008
ΗΜΥ 210: Λογικός Σχεδιασμός
Τύποι δεδομένων και τελεστές,
ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ
ΕΝΟΤΗΤΑ 5 Αναλογικά σήματα.
UNIT 1 Τα Πρώτα Προγράμματα.
Μεταγράφημα παρουσίασης:

UBI >> Contents Κεφάλαιο 1 Εισαγωγική Επισκόπηση MSP430 Teaching Materials Texas Instruments Incorporated University of Beira Interior (PT) Pedro Dinis Gaspar, António Espírito Santo, Bruno Ribeiro, Humberto Santos University of Beira Interior, Electromechanical Engineering Department Copyright 2009 Texas Instruments All Rights Reserved

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 2 Περιεχόμενα  Αναλογικά και ψηφιακά σήματα και συστήματα  Μαθηματική σημειογραφία  Αριθμητική σταθερών και κινητής υποδιαστολής  Πώς να διαβάζουμε φυλλάδια δεδομένων  Θέματα προγραμματισμού  Τελεστές και Εκφράσεις  Καλές πρακτικές λογισμικού για χαμηλή κατανάλωση ισχύος  Κουίζ

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 3 Αναλογικά και ψηφιακά σήματα (1/5)  Στη φύση, κάθε μετρ ή σιμη ποσότητα στο χρόνο ή στο χώρο μπορεί να θεωρηθεί ως ένα σήμα;  Παράδειγμα: Η ταχύτητα ενός σώματος, σαν συνάρτηση τού χρόνου ή σαν συνάρτηση τού χώρου, μπορεί να αντιπροσωπευθεί από ένα σήμα.  Το Αναλογικό σήμα μπορεί:  Να αναπαριστά κάθε πιθανή τιμή;  Να παίρνει τιμές από ένα συνεχές πεδίο τιμών;  Να παρέχει πληροφορίες για κάθε χρονική στιγμή.  Ένα ψηφιακό σήμα παίρνει τιμές από πεδίο με περιορισμένο αριθμό τιμών και ορίζεται σε διακριτά σημεία στο χρόνο.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 4 Αναλογικά και ψηφιακά σήματα (2/5)  Παράδειγμα: αναλογικό σήμα:

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 5 Αναλογικά και ψηφιακά σήματα (3/5)  Παράδειγμα: διακριτό αναλογικό σήμα:  Αυτό το αναλογικό σήμα μπορεί να είναι διακριτό στον χρόνο (ασυνεχές), χρησιμοποιώντας περίοδο δειγματοληψίας, T:

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 6 Αναλογικά και ψηφιακά σήματα (4/5)  Η πληροφορία πού περιέχεται στο σήμα μπορεί να χρησιμοποιηθεί από ένα υπολογιστή μόνο με την μετατροπή του αναλογικού σήματος σε ψηφιακό.  Ψηφιακό σήμα:  Στρογγυλοποιεί τις τιμές με μία συγκεκριμένη ακρίβεια ή ένα συγκεκριμένο αριθμό ψηφίων.  Προτέρημα Ψηφιακού Σήματος:  Ευκολία στην αποθήκευση και διαχείριση δεδομένων.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 7 Αναλογικά και ψηφιακά σήματα (5/5)  Παράδειγμα: κβαντισμένο ψηφιακό σήμα:  Αποτέλεσμα μετατροπής αναλογικού σήματος, χρησιμοποιώντας ένα 12-bit Αναλογικό σε Ψηφιακό μετατροπέα (Analogue-to-Digital Converter -ADC) με πλήρη κλίμακα (full-scale) 2.5 V.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 8 Πώς να διαβάζουμε Τεχνικά Έγγραφα (1/6)  Οι κατασκευαστές ηλεκτρονικών εξαρτημάτων παρέχουν φυλλάδια δεδομένων πού περιέχουν προδιαγραφές και περιγράφουν τα χαρακτηριστικά τους.  Τα φυλλάδια δεδομένων δίνουν τα ηλεκτρικά χαρακτηριστικά τής διάταξης και τις λειτουργίες των ακροδεκτών (pins), χωρίς όμως να περιγράφουν λεπτομερειακά την εσωτερική λειτουργία τους.  Για τις πιο πολύπλοκες διατάξεις παρέχονται τεχνικά έγγραφα πού βοηθούν στην ανάπτυξη εφαρμογών, όπως:  Σημειώσεις Εφαρμογών;  Οδηγούς Χρηστών;  Οδηγούς Σχεδιαστών;  Πακέτα σχεδίων, κτλ…

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 9 Πώς να διαβάζουμε Τεχνικά Έγγραφα (2/6)  Τα φυλλάδια δεδομένων περιλαμβάνουν πληροφορίες:  Σχετικά με την χαρακτηριστική αρίθμηση της διάταξης ή της σειράς της διάταξης.  Ηλεκτρικά χαρακτηριστικά: Μέγιστη και ελάχιστη τάση λειτουργίας Εύρος θερμοκρασίας χρήσης π.χ. 0 έως 70 βαθμούς C Η δυνατότητα οδήγησης για κάθε ακροδέκτη εξόδου, όπως επίσης το συνολικό όριο του ολοκληρωμένου. Συχνότητες Ρολογιού Τα ηλεκτρικά χαρακτηριστικά των ακροδεκτών (χωρητικότητα, αγωγιμότητα, αντίσταση) Ανοχή θορύβου ή ο θόρυβος πού παράγεται από την ίδια την διάταξη. Φυσικές ανοχές…

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 10 Πώς να διαβάζουμε φυλλάδια δεδομένων (3/6)  Φυλλάδια δεδομένων του MSP430:  Η διάταξη έχει ένα μεγάλο αριθμό περιφερειακών  Κάθε ακροδέκτης εισόδου/εξόδου συνήθως έχει πάνω από μία λειτουργία;  Περιλαμβάνει πίνακα περιγραφής της λειτουργίας κάθε ακροδέκτη  Παράδειγμα, Αριθμός ακροδέκτη 2 = P6.3/A3; Ψηφιακή θύρα 6 εισόδου/εξόδου bit 3; 3 η αναλογική είσοδος.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 11 Πώς να διαβάζουμε Τεχνικά Έγγραφα (4/6)  Οδηγός χρήστη MSP430 :  Τα περισσότερα περιφερειακά αναπαρίστανται με Δομικά Διαγράμματα.  Παράδειγμα: Μέρος του τμήματος του δομικού διαγράμματος ρολογιού τού MSP430F44x :

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 12 Πώς να διαβάζουμε Τεχνικά Έγγραφα (5/6)  Οδηγός Χρήστη MSP430:  Παράδειγμα: Δομικό Διάγραμμα Μέρος τμήματος ρολογιού τού MSP430F44x: Λεπτομέρεια SELMx;  Πολυπλεξία: (4 είσοδοι σε 1 έξοδο): SELMx = 00: Η έξοδος δρομολογείται στην 1η έξοδο του πολυπλέκτη SELMx = 01: Η έξοδος δρομολογείται στην 2η έξοδο του πολυπλέκτη και αυτό συνεχίζεται.. SELMx είναι μια μνημονική λέξη 2-bit: SELM1 (MSB), SELM0 (LSB).  Για να χρησιμοποιηθεί το περιφερειακό, είναι αναγκαίο να διαμορφωθούν οι καταχωρητές: SELMx βρίσκεται στον FLL_CTL1 καταχωρητή.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 13 Πώς να διαβάζουμε Datasheets (6/6)  Οδηγός χρήστη (User’s Guide) του MSP430 :  SELMx είναι το 3 ο και 4 ο bit τού FLL_CTL1 καταχωρητή ελέγχου. BitDescription 6SMCLKOFFDisable the submain clock signal (SMCLK): SMCLKOFF = 0SMCLK active SMCLKOFF = 1SMCLK inactive 5XT2OFFDisable the second crystal oscillator (XT2): XT2OFF = 0XT2 active XT2OFF = 1XT2 inactive 4-3SELMxSelect the master clock (MCLK) source: SELM1 SELM0 = 0 0DCO SELM1 SELM0 = 0 1DCO SELM1 SELM0 = 1 0XT2 SELM1 SELM0 = 1 1LFXT1 2SELSSelect the submain clock (SMCLK) source: SELS = 0DCO SELS = 1XT2 1-0FLL_DIVxSelect the auxiliary clock (ACLK) signal divider: FLL_DIV_0 = 0 0Divider factor: /1 FLL_DIV_1 = 0 1Divider factor: /2 FLL_DIV_2 = 1 0Divider factor: /4 FLL_DIV_3 = 1 1Divider factor: /8

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 14 Θέματα Προγραμματισμού (1/14)  Γλώσσα Προγραμματισμού C:  Η C είναι μία αλγοριθμική γλώσσα  Η C αναπτύχθηκε για λειτουργικά συστήματα  Βασίζεται σε εκφράσεις  Μία έκφραση μπορεί να είναι αποτέλεσμα μιας λειτουργίας ή συνάρτησης  Η ροή τού προγράμματος επιτυγχάνεται χρησιμοποιώντας ένα σύνολο κατάλληλων δομών πού επιτρέπουν την επιλογή, βασισμένη σε μία λογική λειτουργία, της σειράς των λειτουργιών πού θα γίνουν από την CPU  Αυτές οι δομές επιτρέπουν κυκλική εκτέλεση των εκφράσεων πού συνθέτουν ένα τμήμα του προγράμματος.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 15 Θέματα Προγραμματισμού (2/14)  Πρότυπα Προγραμματισμού:  Ο τρόπος με το οποίο έχει γραφτεί ο κώδικας καθορίζει την ευκολία με την οποία το πρόγραμμα μπορεί να διαβαστεί, ερμηνευτεί ή να ξαναχρησιμοποιηθεί  Η συντήρηση τού γραπτού πηγαίου κώδικα, όταν τηρεί ένα πρότυπο κωδικοποίησης, είναι εύκολο να ερμηνευτεί, να συντηρηθεί και να τροποποιηθεί  Οι προγραμματιστές μπορούν να αναπτύξουν το δικό τους τρόπο προγραμματισμού. Όμως, για μια ομαδική εργασία, πρέπει να πληρείται ένα σύνολο κανόνων πού παρέχουν ομοιομορφία για να επιτρέπουν εύκολη ερμηνεία τού κώδικα από όλα τα μέλη της ομάδος  Στις επόμενες σελίδες δίνεται ένα σύνολο τυπικών κανόνων προγραμματισμού.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 16 Θέματα Προγραμματισμού (3/14)  Στυλ προγραμματισμού: Συμβάσεις ορισμού Μεταβλητών:  Ονόματα τύπων δεδομένων: Να αρχίζουν με κεφαλαίο γράμμα: Π.χ. Line ή AverageVelocity.  Ονόματα Μεταβλητών: Να αρχίζει με γράμμα και να αποφεύγεται ή συντομογραφία ονομάτων ή η χρήση ονομάτων με πολλές έννοιες: line, averageVelocity.  Οι μεταβλητές να παίρνουν αρχικές τιμές όταν δηλώνονται  Η χρήση καθολικών μεταβλητών να αποφεύγεται (μόνιμη χρήση τής μνήμης, αλλά πιο γρήγορη εκτέλεση)  Όπου είναι δυνατόν να χρησιμοποιούνται τοπικές μεταβλητές (η μνήμη ελευθερώνεται μετά την χρήση)

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 17 Θέματα Προγραμματισμού (4/14)  Στυλ προγραμματισμού: Συμβάσεις ορισμού Μεταβλητών:  Μεταβλητές πού έχουν σχέση με επανάληψη αναγνωρίζονται ως: i, j, k.  Σταθερές: Όλες με κεφαλαία γράμματα: RED, GREEN, BLUE, WHITE.  Συναρτήσεις: να χρησιμοποιούνται ρήματα με το αρχικό γράμμα με μικρό: calculateVelocity( ) or activateOutput( ).  Τμήματα τού κώδικα πρέπει να συγκεντρώνονται και να ξεχωρίζουν μεταξύ τους με ένα ή περισσότερα κενά διαστήματα.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 18 Θέματα Προγραμματισμού (5/14)  Στυλ προγραμματισμού: Περιθώρια  Τα τμήματα τού προγράμματος θα πρέπει να ευθυγραμμίζονται χρησιμοποιώντας περιθώρια: Κώδικας με περιθώρια: P3OUT |= 0x04; while(1){ if(!CMBufIsEmpty()){// polling the command receiver buffer cmd = CMGetCommand();//get the new command ACStop();//stops the action being executed switch (cmd){ case DEMO1: //demo1 procedure...

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 19 Θέματα Προγραμματισμού (6/14)  Στυλ προγραμματισμού : Τελεστές  Χωρισμένοι με κενά διαστήματα για να βελτιωθεί ή αναγνωσιμότητα  Οι λέξεις που είναι δεσμευμένες από την γλώσσα προγραμματισμού C θα πρέπει να ακολουθούνται από κενό διάστημα  Ένα κενό διάστημα θα πρέπει να χρησιμοποιηθεί μαζί με το κόμμα, ερωτηματικό, ή άνω κάτω τελεία.  Example: a = (4 + c) * 2; // ΟΧΙ: a=(4+c)*2

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 20 Θέματα Προγραμματισμού (7/14)  Στυλ προγραμματισμού : Σχόλια  Ο πηγαίος κώδικας θα πρέπει να έχει επιπρόσθετες πληροφορίες σε μορφή σχολίων για να ερμηνεύεται εύκολα  Σχόλια σε μία γραμμή κώδικα: Διπλές δεξιά κάθετες ( // )  Κομμάτι Σχολίων: Αρχίζει με ( /* ) και τελειώνει με ( */ )  Παράδειγμα: /* The source code should be written in such a way that enough information is provided for the reader to fully understand the function of the code */

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 21 Θέματα Προγραμματισμού (8/14)  Δήλωση Δεδομένων:  Οι μεταβλητές μπορεί να είναι ακέραιοι (integer) ή πραγματικοί (real)  Ο τύπος null ( void ) χρησιμοποιείται για να υποδείξει ότι μία συνάρτηση δεν επιστρέφει καμία παράμετρο  Οι τύποι δεδομένων Integer αντιπροσωπεύουν ακέραιους αριθμούς ( int ), με πρόσημο (signed) ή χωρίς ( unsigned)  Ο ι τιμές εκφράζονται με συμπλήρωμα ως προς δύο ( two’s complement) (εκτός του τύπου unsigned-μη προσημασμένου )

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 22 Θέματα Προγραμματισμού (9/14)  Δήλωση Δεδομένων:  Οι τύποι πραγματικών αριθμών αναπαρίστανται με μια μορφή ( float ), πού επιτρέπει την αναπαράσταση κάθε κλασματικού αριθμού.  Επιτρέπουν τη χρήση μετατροπέων για την αλλαγή του τύπου των εκάστοτε δεδομένων: short : για να μειώσει την περιοχή αναπαράστασης τού τύπου τής μεταβλητής long : για να αυξήσει την περιοχή αναπαράστασης τού τύπου τής μεταβλητής signed : να καθορίσει την με πρόσημο αναπαράσταση τού τύπου μεταβλητής; unsigned : να καθορίσει την αναπαράσταση θετικών αριθμών μόνο.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 23 Θέματα Προγραμματισμού (10/14)  C Τύποι Δεδομένων (Οι Τύποι δεδομένων εξαρτώνται και από τη χρήση τού C μεταγλωττιστή: CCE και IAR για τον MSP430): ΤύποςΜέγεθος [bits] ΑπεικόνισηΕύρος Τιμών ΕλάχιστοΜέγιστο signed char8ASCII char, unsigned char8ASCII0255 short, signed short162’s complement unsigned short16Binary int, signed int162’s complement unsigned int16Binary long, signed long322’s complement unsigned long32Binary float32IEEE 32-bit e e+38 double32IEEE 32-bit e e+38 long double32IEEE 32-bit e e+38

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 24 Θέματα Προγραμματισμού (11/14)  Δήλωση Μεταβλητών:  Πρέπει πάντα να γίνεται στην αρχή τού προγράμματος  Καθολικές (Global) Μεταβλητές: Προσβάσιμες σε όλο τον κώδικα  Τοπικές (Local) Μεταβλητές: δηλώνονται μέσα σε μία συνάρτηση και είναι προσβάσιμες μόνο κατά την διάρκεια εκτέλεσης αυτής της συνάρτησης  Εάν μία μεταβλητή δηλωθεί μέσα σε ένα τμήμα του προγράμματος, είναι μόνο προσβάσιμη εφόσον ή ροή τού προγράμματος έχει ξεκινήσει μέσα στο συγκεκριμένο τμήμα.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 25 Θέματα Προγραμματισμού (12/14)  Ονόματα Συμβόλων:  Κανόνες: Ο μέγιστος αριθμός χαρακτήρων είναι 31 Χρησιμοποίησε μόνο γράμματα, αριθμούς, ή τον χαρακτήρα '_' Ο πρώτος χαρακτήρας πρέπει να είναι γράμμα ή ό χαρακτήρας '_' Υπάρχει διαφορά μεταξύ κεφαλαίων και μικρών-case sensitive Το όνομα της μεταβλητής δεν μπορεί να είναι το ίδιο με μία λέξη που είναι δεσμευμένη από την γλώσσα προγραμματισμού ή με το όνομα ενός υποπρογράμματος.  Παράδειγμα: unsigned int weight; // unsigned integer variable int temperature; // signed integer variable float speed, // real variable

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 26 Θέματα Προγραμματισμού (13/14)  Ονόματα Συμβόλων:  const : Χρησιμοποιείται για να δηλώσει μία σταθερά (το περιεχόμενο της οποίας δεν αλλάζει κατά τη διάρκεια εκτέλεσης τού κώδικα) Αποθηκεύονται στο τμήμα μνήμης τού προγράμματος.  extern : Χρησιμοποιείται για αναφορά σε μεταβλητές δηλωμένες αλλού, για παράδειγμα σε άλλο αρχείο.  register : Χρησιμοποιείται για να αποθηκευθεί μία μεταβλητή σε ένα καταχωρητή τού επεξεργαστή Διασφαλίζει την γρηγορότερη πρόσβαση στα περιεχόμενα της μεταβλητής Χρησιμοποιείται μόνο τοπικά και εξαρτάται από την διαθεσιμότητα τού καταχωρητή.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 27 Θέματα Προγραμματισμού (14/14)  Ονόματα Συμβόλων:  static : Κατηγορία μνήμης πού δηλώνεται σε μία συνάρτηση ή τμήμα ενός προγράμματος; Η μνήμη πού χρησιμοποιείται απελευθερώνεται, και μαζί με αυτήν και τα περιεχόμενα της; Διατηρεί τη μεταβλητή ακόμα και εάν έχει εκτελεστεί μία συνάρτηση ή το τμήμα του προγράμματος.  volatile : Χρησιμοποιείται εάν ένα γεγονός εκτός τού προγράμματος μπορεί να αλλάξει το περιεχόμενο μίας μεταβλητής, για παράδειγμα ένας ADC; Μία τέτοια δήλωση ενημερώνει τον μεταγλωττιστή ότι αυτή ή μεταβλητή δεν πρέπει να βελτιστοποιηθεί.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 28 Τελεστές και Εκφράσεις (1/9)  Αριθμητικοί Τελεστές:

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 29 Τελεστές και Εκφράσεις (2/9)  Τελεστές Σχέσεων:

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 30 Τελεστές και Εκφράσεις (3/9)  Άλλοι Τελεστές:

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 31 Τελεστές και Εκφράσεις (4/9)  Τελεστές Καταχώρησης: Συμπαγής μορφήΠρωτότυπη μορφή x += yx = x + y x -= yx = x - y x *= yx = x * y x /= yx = x / y x %= yx = x % y x &= yx = x & y x |= yx = x | y x ^= yx = x ^ y x << yx = x << y x >> yx = x >> y

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 32 Τελεστές και Εκφράσεις (5/9)  Προτεραιότητα των τελεστών: ΠροτεραιότηταΤελεστές Περιγραφή Υψηλότερη() [] -> Grouping, scope, array/member access ! ~ + - & Size of type cast (most) unary operations, … * / % Multiplication, division, modulo + - Addition, subtraction > Bitwise shift left and right >= Comparisons: less-than,... == != Comparisons: equal and not equal & Bitwise AND ^ Bitwise exclusive OR | Bitwise inclusive (normal) OR && Logical AND || Logical OR ? Conditional expression (ternary operator) = += -= *= /= %= &= |= ^= >= Assignment operators Χαμηλότερη. Concatenation ("comma“)

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 33 Τελεστές και Εκφράσεις (6/9)  Τελεστές Δυαδικών Ψηφίων:

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 34 Τελεστές και Εκφράσεις (7/9)  Ολίσθηση Ψηφίων:  Ψηφία πού ολισθαίνουν από οποιαδήποτε πλευρά απορρίπτονται (όχι στον assembler – εκεί θα τοποθετούνταν στο ψηφίο κρατουμένου);  Αριστερή Ολίσθηση (με κρατούμενο-carry): Στην αριστερή αριθμητική ολίσθηση, μηδενικά ολισθαίνουν από τα δεξιά;

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 35 Τελεστές και Εκφράσεις (8/9)  Ολίσθηση Ψηφίων: Αριστερή Ολίσθηση  Τελεστής αριστερής ολίσθησης: ( << )  Παράγει μία τιμή, ολισθαίνοντας τα δυαδικά ψηφία τού αριστερού τελεστέου προς τα αριστερά τόσες θέσεις όσες καθορίζονται από τον δεξιό τελεστέο  Παράδειγμα: x = y << 2  Για ολίσθηση ενός μόνο ψηφίου: x = y << 1

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 36 Τελεστές και Εκφράσεις (9/9)  Τελεστές Ολίσθησης: Δεξιά Ολίσθηση (με carry)  Το ψηφίο συμβόλου ολισθαίνει από τα αριστερά, διατηρώντας έτσι το σύμβολο τού τελεστή;  Τελεστής δεξιάς ολίσθησης: ( >> )  Παράδειγμα: x = y >> 1 ; Ολισθαίνοντας τη τιμή y στα δεξιά δίνει την τιμή x.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 37 Καλές πρακτικές λογισμικού για χαμηλή κατανάλωση ισχύος (1/2)  Συμβουλές Προγραμματισμού C:  Χρησιμοποίησε τοπικές μεταβλητές όσον το δυνατόν περισσότερο (Οι τοπικές μεταβλητές χρησιμοποιούν καταχωρητές της CPU ενώ οι καθολικές μεταβλητές χρησιμοποιούν RAM)  Χρησιμοποίησε unsigned τύπους δεδομένων όπου είναι δυνατόν  Χρησιμοποίησε δείκτες για να έχεις πρόσβαση σε δομές και συλλογές  Χρησιμοποίησε την κλάση “static const” για να αποφύγεις κατά τον χρόνο εκτέλεσης προγράμματος αντιγραφές δομών, συλλογών, και πινάκων  Απέφυγε την διαίρεση ακέραιου υπολοίπου  Χρησιμοποίησε βρόγχους επανάληψης “for” αντίστροφης μέτρησης.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 38 Καλές πρακτικές λογισμικού για χαμηλή κατανάλωση ισχύος(2/2)  Αρχές για εφαρμογές χαμηλής ισχύος:  Μεγιστοποίησε το χρόνο σε αναμονή  Χρησιμοποίησε interrupts για τον έλεγχο της ροής τού προγράμματος;  Αντικατέστησε τις συναρτήσεις λογισμικού με αντίστοιχα περιφερειακά  Διαχειρίσου την κατανάλωση ισχύος των εσωτερικών περιφερειακών  Διαχειρίσου την κατανάλωση ισχύος των εξωτερικών διατάξεων  Ή επιλογή της διάταξης μπορεί να κάνει τη διαφορά;  Ο αποτελεσματικός κώδικας είναι ο υπέρτατος στόχος. Η εκτέλεση κάθε μιας μη χρήσιμης εντολή έχει σαν αποτέλεσμα την απώλεια τμήματος της ισχύος της μπαταρίας που δεν μπορεί να ανακτηθεί ξανά.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 39 Κουίζ (1/7)  1. Ένα αναλογικό σήμα: (a) Αλλάζει με ασυνέχεια; (b) Αποτελείται από μία σειρά υψηλού-επιπέδου και χαμηλού- επιπέδου σήματα; (c) Αλλάζει ομαλά και συνεχόμενα; (d) Τίποτα από τα παραπάνω.  2. Ψηφιακές ποσότητες: (a) Μπορούν να διατηρηθούν σε υψηλή ακρίβεια και σε υψηλούς ρυθμούς; (b) Δεν μπορούν να επεξεργαστούν (c) Έχουν αργή απόκριση ή πολλή υψηλή ακρίβεια; (d) Τίποτα οπό τα παραπάνω.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 40 Κουίζ (2/7)  3. Ό μεγαλύτερος αριθμός πού μπορεί να αντιπροσωπευθεί από έναν μη προσημασμένο (unsigned) δυαδικό αριθμό 8-ψηφίων είναι: (a) 256; (b) 255; (c) 16; (d) 128.  4. Ό υπολογιστής εκτελεί αριθμητική με πρόσημο χρησιμοποιώντας: (a) Unsigned binary; (b) Two’s complement; (c) Όλα από τα παραπάνω; (d) Κανένα από τα παραπάνω.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 41 Κουίζ (3/7)  5. Ή απεικόνιση τής δυαδικής ψηφιολέξης με πρόσημο: σε δεκαεξαψήφιο και δεκαδικό είναι: (a) 0x75B, ; (b) 0x8A4, ; (c) 0x8A4, ; (d) 0x75B,  6. Η κυρίως διαφορά μεταξύ της απεικόνισης One’s και Two’s complement είναι: (a) Το One’s complement αντιπροσωπεύει και +0 και -0; (b) Αντιστρέφει το MSB ψηφίο; (c) Αντιστρέφει το LSB ψηφίο; (d) Η απεικόνιση Two’s complement αντιστρέφει όλα τα ψηφία και προσθέτει την μονάδα.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 42 Κουίζ (4/7)  7. Στην απεικόνιση Two’s complement, το 1 στο MSB ψηφίο υποδεικνύει: (a) Ένα θετικό αριθμό; (b) Ένα αρνητικό αριθμό; (c) Ένα σύνθετο αριθμό; (d) Carry.  8. Η τιμή σε απεικόνιση Two’s complement είναι: (a) -5; (b) -13; (c) 3; (d) -3.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 43 Κουίζ (5/7)  9. Η τιμή τής αριθμοσειράς σε unsigned binary είναι: (a) ; (b) ; (c) 4.375; (d)  10. Η παρακάτω πρόσθεση θα έχει σαν αποτέλεσμα κρατούμενο στην μη-προσημασμένη αναπαράσταση του αποτελέσματος: (a) ; (b) ; (c) ; (d) Τίποτα από τα παραπάνω.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 44 Κουίζ (6/7)  11. Ό αντίστοιχος δεκαεξαψήφιος αριθμός τού δεκαδικού −36 είναι: (a) 0xDC; (b) 0x24; (c) 0xDB; (d) 0x23.  12. Μία πρόσθεση προσημασμένων-signed θα προκαλέσει υπερχείλιση όταν: (a) Προκύπτει κρατούμενο από το LSB; (b) Προκύπτει κρατούμενο από το MSB; (c) Προσθέτοντας δύο αρνητικούς αριθμούς έχει σαν αποτέλεσμα έναν θετικό αριθμό (d) Το μέγεθος τού αποτελέσματος είναι μικρότερο από το μέγεθος τού μικρότερου τελεστέου.

UBI >> Contents Copyright 2009 Texas Instruments All Rights Reserved 45 Κουίζ (7/7)  Απαντήσεις:  1. (c) Αλλάζει ομαλά και συνεχόμενα.  2. (a) Μπορούν να διατηρηθούν σε υψηλή ακρίβεια και σε υψηλούς ρυθμούς  3. (b) 255.  4. (b) Two’s complement.  5. (d) 0x75Bh,  6. (d) Το One’s complement αντιπροσωπεύει και το +0 και το -0.  7. (b) Έναν αρνητικό αριθμό.  8. (d) -3.  9. (b)  10. (b)  11. (a) 0xDC.  12. (c) Προσθέτοντας δύο αρνητικούς αριθμούς επιφέρει ένα θετικό αποτέλεσμα.