1. Εισαγωγή στη γλώσσα C για τους AVR

Ένα μικροϋπολογιστικό σύστημα αποτελείται από την κεντρική μονάδα επεξεργασίας CPU, τη μνήμη προγράμματος στην οποία εκχωρείται ο κώδικας της εφαρμογής, τη μνήμη για την αποθήκευση των δεδομένων κατά την εκτέλεση της εφαρμογής και τα κυκλώματα εισόδου – εξόδου με τα οποία το σύστημα επικοινωνεί με τον έξω κόσμο. Ένας μικροελεγκτής AVR είναι ένα ολοκληρωμένο κύκλωμα […]

2. Μεταβλητές και τύποι δεδομένων στη C για τους AVR

Σε αυτή τη σειρά άρθρων, θα παρουσιάσουμε τη γλώσσα προγραμματισμού C, πάνω στους μικροελεγκτές AVR. Η γλώσσα C, αντικατέστησε την γλώσσα Assembly, σε εφαρμογές με τους μικροϋπολογιστές AVR για διάφορους λόγους. Ο πιο σημαντικός λόγος είναι ότι, ο χρήστης μπορεί να γράφει κώδικα σε επίπεδο αρκετά υψηλότερο από εκείνο της γλώσσας Assembly, με αποτέλεσμα την […]

3. Αριθμητικές και λογικές παραστάσεις

Παράσταση είναι μια έκφραση που έχει καθορισμένο τύπο. Μια παράσταση εμπλέκει αριθμητικές ή λογικές πράξεις, μεταξύ μεταβλητών, σταθερών ή κλήσεων συναρτήσεων, στα μέλη που αποτελείται. Όταν μια παράσταση σχηματίζεται με αριθμητικούς τελεστές ή πραξεις και δίνει μια αριθμητική τιμή λέμε ότι έχουμε μια αριθμητική παράσταση. Οι αριθμητικοί τελεστές μπορεί να είναι ο πολλαπλασιασμός (*), η […]

4. Εντολές συνθήκης

Στην συνέχεια των άρθρων, θα εξετάσουμε τις εντολές υπό συνθήκη, όπου ένα μπλοκ κώδικα εκτελείται ή όχι, εάν μια συνθήκη είναι αληθής ή ψευδής. Για παράδειγμα, ένα πρόγραμμα θα μπορούσε να εξετάζει αν είναι πατημένο ένα μπουτόν και όταν είναι πατημένο να ανάβει το δεξιό LED ενώ όταν δεν είναι να ανάβει το αριστερό LED. […]

5. Εντολές επανάληψης

Η C όπως και οι υπόλοιπες γλώσσες προγραμματισμού, διαθέτουν εντολές για την επαναλαμβανόμενη εκτέλεση  μπλοκ κώδικα μέσα σε ένα πρόγραμμα. Αυτή η διαδικασία επανάληψης προτάσεων, καλείται βρόγχος και οι προτάσεις που εκτελούνται αποτελούν το σώμα του βρόγχου. Η C υποστηρίζει τρεις δομές επανάληψης, που υλοποιούνται με τις αντίστοιχες εντολές while, do – while και for. […]

6. Η έννοια της συνάρτησης

Κάθε πρόγραμμα σε C αποτελείται από συναρτήσεις, που μπορούμε να τις βρούμε σε έτοιμες βιβλιοθήκες τις οποίες εισάγουμε στο πρόγραμμα μας ή να να γράψουμε τις συναρτήσεις μας στο πρόγραμμα μας. Πρέπει να προσέξουμε ότι, σε κάθε πρόγραμμα είναι υποχρεωτική η συνάρτηση main(), όπου από εκεί αρχίζει η εκτέλεση του προγράμματος μας. Οι συναρτήσεις βοηθούν […]

7. Αυτόματη και ρητή μετατροπή τύπου

Τα δεδομένα που διακινούνται κατά την εκτέλεση ενός προγράμματος, μπορούν να είναι διαφόρων τύπων, όπως char, int, float, double κ.τ.λ. Μια παράσταση στη C η οποία εμπεριέχει μεταβλητές, σταθερές και τελεστές έχει ένα συγκεκριμένο τύπο που καθορίζεται από τον τύπο των μεταβλητών και σταθερών της. Μια παράσταση στη C μπορεί να αποτελείται από μεταβλητές μέλη […]

8. Προτεραιότητα τελεστών στις παραστάσεις

Μια παράσταση ορίζει πράξεις μεταξύ των δεδομένων που την απαρτίζουν. Οι πράξεις ορίζονται με τους αριθμητικούς, λογικούς και δυαδικούς τελεστές στα μέλη μιας παράστασης. Όμως η σειρά των πράξεων που ορίζονται με τους τελεστές, γίνονται με μια συγκεκριμένη σειρά, που αναφέρεται ως προτεραιότητα των τελεστών. Ο πίνακας δείχνει την προτεραιότητα των τελεστών αλλά και τη […]

9. Οδηγίες προς τον προμεταγλωττιστή

Πριν ένα πρόγραμμα σε γλώσσα C μεταγλωττιστεί, οδηγείται πρώτα στον προμεταγλωττιστή, ο οποίος εκτελεί τις λεγόμενες «οδηγίες» που δεν είναι τίποτε άλλο παρά εντολές ειδικά γραμμένες για τον προμεταγλωττιστή. Οι οδηγίες αυτές δεν είναι μέρος της γλώσσας αλλά τμήμα του περιβάλλοντος μεταγλώττισης. Οι οδηγίες προς τον προμεταγλωττιστή, μπορούν να εκτελέσουν την συμπερίληψη άλλων αρχείων προς […]

10. Εμβέλεια μεταβλητών

Οι μεταβλητές είναι ονόματα θέσεων μνήμης στα οποία αποθηκεύονται δεδομένα τα οποία έχουν καθορισμένο τύπο. Πριν χρησιμοποιηθούν οι μεταβλητές πρέπει να δηλωθούν. Κατά τη δήλωση των μεταβλητών ορίζεται το όνομα και ο τύπος τους. Οι μεταβλητές μπορούν να δηλωθούν σε διαφορετικά σημεία του προγράμματος. Η θέση και το είδος της δήλωσης μιας μεταβλητής, ορίζει την […]

11. Πίνακες και αλφαριθμητικά

Η οργάνωση σύνθετων δεδομένων σε ομάδες με σκοπό την απλοποίηση του χειρισμού τους, αποτελούν τις λεγόμενες δομές δεδομένων. Μια σχετικά απλή δομή δεδομένων είναι ο πίνακας. Η δημιουργία πίνακα διευκολύνει την ταυτόχρονη παρουσία στην μνήμη του υπολογιστικού συστήματος μεγάλου πλήθους δεδομένων που συνδέονται μεταξύ τους με κάποια λογική σχέση. Πίνακας είναι ένα σύνολο μεταβλητών του […]

12. Η έννοια του δείκτη

Ένα βασικό γνώρισμα της γλώσσας C είναι η χρήση δεικτών. Οι δείκτες είναι μεταβλητές που περιέχουν την διεύθυνση μιας άλλης μεταβλητής. Έχουμε δει μέχρι στιγμής ότι οι μεταβλητές που ορίζουμε περιέχουν τιμές που εκφράζουν δεδομένα κάποιου συγκεκριμένου τύπου π.χ. ακεραίου, χαρακτήρα κ.τ.λ. Οι δείκτες διαφέρουν από τις κοινές μεταβλητές στο γεγονός ότι οι τιμές των […]

13. Η έννοια της δομής

Μια δομή είναι ένας τύπος δεδομένων, οριζόμενος από το χρήστη, που ομαδοποιεί μεταβλητές διαφόρων τύπων υπό ένα ενιαίο όνομα. Χρησιμοποιείται όταν θέλουμε να αποθηκεύσουμε σχετικές πληροφορίες μαζί. Μια δομή ορίζεται με μια πρόταση struct. Για παράδειγμα, για να αναπαραστήσουμε έναν φοιτητή, θα μπορούσαμε να δημιουργήσουμε μια δομή που περιλαμβάνει σαν μέλη το όνομα, τον αριθμό […]