Εμφάνιση αποτελεσμάτων : 1 έως 3 από 3

Θέμα: arduino uno προβλημα με moso, miso, sck.

  1. #1
    Μέλος Το avatar του χρήστη Bobiras
    Όνομα
    Νίκος
    Εγγραφή
    Jul 2009
    Περιοχή
    αθήνα
    Μηνύματα
    349

    Προεπιλογή arduino uno προβλημα με moso, miso, sck.

    καλησπερα στην παρεα εχω ενα προβλημα το οποιο δεν εχω βρει λυση.
    προσπαθησα να συνδεσω το can-bus και μια οθονη 1,8tft αλλα και τα 2 αυτα χρειαζονται τα πινς mosi, miso, sck αλλα με το arduino uno δεν μπωρο να βαλω και τα 2 ταυτοχρονα αρα η το can-bus πρεπει να συνδεσω η την tft.
    τη μπωρουμε να κανουμε σε αυτη την περιπτωση? το arduino mega εχει διαφορα και θα μπωρουσα να τα συνδεσω και τα 2?

    0 Not allowed! Not allowed!

  2. #2
    Μέλος Το avatar του χρήστη Fire Doger
    Όνομα
    Στέφανος
    Εγγραφή
    Jan 2015
    Περιοχή
    .
    Μηνύματα
    1.519

    Προεπιλογή

    Η πιο απλή λύση είναι να τα κάνεις χρήση του ChipSelect (CS)
    Η επόμενη είναι να τα βάλεις σε διαφορετικά bus. Αν δεν έχεις 2 bus στο hardware το ένα θα είναι bit banging SPI (software SPI)

    2 Not allowed! Not allowed!

  3. #3
    Μέλος Το avatar του χρήστη Fire Doger
    Όνομα
    Στέφανος
    Εγγραφή
    Jan 2015
    Περιοχή
    .
    Μηνύματα
    1.519

    Προεπιλογή

    *Απαντάω εδώ γιατί μπορεί να το χρειαστεί και κάποιος άλλος

    Το SPI είναι BUS, μπορείς πάνω σε αυτό να έχεις 1 master και πολλούς slave.
    Για να επιλέξεις σε ποιον slave αναφέρονται τα δεδομένα πάνω στο MOSI ή ποιος Slave μπορεί να γράψει στο MISO κάθε slave έχει ένα ξεχωριστό pin που πάει μόνο σε αυτό και είναι αυτό που του δίνει τον λόγο.

    Για να επιλέξεις πχ τον slave 1 θα κάνεις το CS1 (SS1) πχ low και τα SS2 SS3 θα είναι high, έτσι θα καταλάβουν οι SS2 SS3 ότι τα data δεν αναφέρονται σε αυτούς και θα τα αγνοήσουν. Μετά που θα θέλεις να μιλήσεις στον slave 2 θα κάνεις το SS2 low και τα SS1 SS3 high κ.ο.κ
    Το CS μπορεί να είναι είτε Active High (High σε αυτόν που μιλάς) είτε το σύνηθες Active low (με την μπάρα από πάνω) (Low σε αυτόν που μιλάς), πρέπει όλοι οι slave να έχουν το ίδιο Active στο CS για να μπουν στο ίδιο BUS.
    Συνήθως οι βιβλιοθήκες έχουν 2 init, στο ένα ρυθμίζεις μόνο το CS και χρησιμοποιεί το hardware SPI και στο άλλο βάζεις όλα τα pin και προσημειώνει το SPI με κώδικα.

    Βάζεις τα MOSI-MISO-SCK όπως στην φωτογραφία και μετά 1 πιν στο CS του CAN και ένα άλλο στο CS της LCD και τα ρυθμίζεις αντίστοιχα στις βιβλιοθήκες οι οποίες θα κάνουν τα κουμάντα τους.

    Η άλλη λύση είναι να βάλεις το CAN σε μια ομάδα MOSI-MISO-SCK-CS και την LCD σε άλλη ομάδα. Το αρνητικό είναι πως τρως 3 πιν παραπάνω και σίγουρα η μία ομάδα θα είναι software SPI γιατί το UNO έχει 1 hardware SPI μόνο. Η διαφορά software με hardware είναι κυρίως η ταχύτητα γιατί όση ώρα στέλνει η CPU δεν μπορεί να κάνει κάτι άλλο.

    *Edit: Τώρα που έχω λίγο καθαρότερο μυαλό άκυρο το ίδιο Active, μπορείς να έχεις ότι θες, να τα έχεις σε πολυπλεξία ή οτιδήποτε. Αυτό που σε νοιάζει είναι κάθε φορά να είναι ενεργοποιημένος μόνο 1 slave γιατί δεν μπορείς να έχεις δεδομένα από 2 ολοκληρωμένα στο MISO. (Στο MOSI πιθανόν να μπορείς να γράψεις ταυτόχρονα σε πολλούς αλλά ξεφεύγει απ' αυτό που θέλεις να κάνεις.)

    4 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη Fire Doger : 05-10-17 στις 08:53

Παρόμοια Θέματα

  1. ARDUINO UNO
    By electricalgian in forum Ηλεκτρονικά
    Απαντήσεις: 9
    Τελευταίο Μήνυμα: 16-11-16, 03:01
  2. arduino uno
    By ssakiss1 in forum Μικροελεγκτές
    Απαντήσεις: 1
    Τελευταίο Μήνυμα: 23-01-14, 13:54
  3. arduino uno
    By kourtidisp in forum Μικροελεγκτές
    Απαντήσεις: 15
    Τελευταίο Μήνυμα: 07-01-14, 18:08
  4. Arduino uno προβλημα με lcd i2c
    By raver in forum Μικροελεγκτές
    Απαντήσεις: 5
    Τελευταίο Μήνυμα: 10-04-13, 12:20
  5. Arduino UNO ή Duemillanove ??????
    By kavouras in forum Ερωτήσεις Αρχάριων
    Απαντήσεις: 1
    Τελευταίο Μήνυμα: 02-02-11, 10:28

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας