Σελίδα 1 από 2 1 2 ΤελευταίαΤελευταία
Εμφάνιση αποτελεσμάτων : 1 έως 10 από 12

Θέμα: Προβλημα με αποστολη δεδομενων απο Pic16f887 στον υπολογιστη.

  1. #1
    Νέο Μέλος Το avatar του χρήστη Gianno
    Όνομα
    Γιάννης
    Εγγραφή
    Nov 2012
    Περιοχή
    Μεσολόγγι
    Μηνύματα
    18

    Προεπιλογή Προβλημα με αποστολη δεδομενων απο Pic16f887 στον υπολογιστη.

    Καλησπέρα παιδιά έχω ένα θέμα με την αποστολή απο τον Pic στον υπολογιστή μου. Έχω κανει ένα ADC και το αποτελεσμα του θέλω να το αποστείλω στο υπολογιστή μέσω ftdi mm232r. Η αποστολή γίνετε κανονικα, όμως το πρόβλημα είναι σε αυτο που διαβαζω στο Pc είναι αλλα ντι αλλων.
    Baund rate έχω ριθμυσει στα 9600. και έχω κάνει επιλογή και στον υπολογιστη μεσω vb να επιλεγω baund rate. Κάτι δεν πάει όμως καλά. Ξέρει κανεις τι μπορει να φταίει;

    Στον Pic έχω αυτο το κομματι κώδικα για baund rate Και αποστολή
    ΄........
    TXSTAbits.SYNC=0; //Asynchronous mode , baud rate
    TXSTAbits.BRGH=0;//baund rate
    BAUDCTLbits.BRG16=0;//baud rate
    SPBRG=0xC;//SPBRG baud rate
    RCSTAbits.SPEN=1; //Serial port enabled
    TXSTAbits.TX9=0; //Selects 8-bit transmission
    TXSTAbits.TXEN=1; //Transmit enabled
    PIE1bits.TXIE=0;
    INTCONbits.GIE=0;
    INTCONbits.PEIE=0;
    TXREG=a;

    και στον υπολογιστη (είναι κομματι απο μια if)
    SerialPort1.BaudRate = 9600
    SerialPort1.BaudRate = 1200
    SerialPort1.DataBits = 8
    SerialPort1.Handshake = Handshake.None
    SerialPort1.Parity = Parity.None
    SerialPort1.StopBits = StopBits.One
    MsgBox("You have select 9600 baund rate")


    ΥΓ: γιατι δεν μπορώ να αναρτήσω το συγκεκριμενο θέμα στους μικροελεκτές; χρειαζομαι καποια συγκεκριμενη αδεια

    Ευχαριστώ εκ των προτέρον

    0 Not allowed! Not allowed!

  2. #2
    Μέλος Το avatar του χρήστη klik
    Όνομα
    just a click away
    Εγγραφή
    Oct 2009
    Περιοχή
    Θεσσαλλλονίκη
    Μηνύματα
    2.561

    Προεπιλογή

    Δηλαδή πήγες εδώ:
    http://www.hlektronika.gr/forum/forumdisplay.php?f=315
    και δεν σε άφησε να κάνεις νεο θέμα;


    Γιατί στο pc βάζεις 1200baud ενώ θέλεις 9600;

    0 Not allowed! Not allowed!

  3. Ένα μέλος ευχαρίστησε τον klik για αυτό το χρήσιμο μήνυμα:

    Gianno (28-03-15)

  4. #3
    Νέο Μέλος Το avatar του χρήστη Gianno
    Όνομα
    Γιάννης
    Εγγραφή
    Nov 2012
    Περιοχή
    Μεσολόγγι
    Μηνύματα
    18

    Προεπιλογή

    Ναι εκει πηγα και δεν με αφηνε... Ναι το ειδα το λαθος αυτο το εσβησα αλλα και πάλι λαθος αποτελεσματα μου βγάζει..
    για παραδειγμα :
    0volt -> μου στέλνει 0
    5volt -> 255
    και στα 2.5volt γενικα στο ενδιαμεσο απο 0 μεχρι 5 συνεχιζεις να μου βγάζει λάθος αποτελέσματα. τι άλλο μπορεί να φταίει

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη Gianno : 28-03-15 στις 00:21

  5. #4
    Μέλος Το avatar του χρήστη klik
    Όνομα
    just a click away
    Εγγραφή
    Oct 2009
    Περιοχή
    Θεσσαλλλονίκη
    Μηνύματα
    2.561

    Προεπιλογή

    Στα 5V σου βγάζει 255 και στα 2,5V κοντά στο 128 μήπως;
    Αν έχεις πρόβλημα συγχρονισμού σειριακής θα έχεις κινέζικα όχι νούμερα.

    Έχεις ελέγξει τι στέλνεις εσύ από το μΕ; Στέλνεις ASCII χαρακτήρες;
    Ανέβασε κώδικα αποστολής.

    0 Not allowed! Not allowed!

  6. #5
    Νέο Μέλος Το avatar του χρήστη Gianno
    Όνομα
    Γιάννης
    Εγγραφή
    Nov 2012
    Περιοχή
    Μεσολόγγι
    Μηνύματα
    18

    Προεπιλογή

    Στα 5βολτ ναι 255 και στα 2.5volt καποιες φορές 128 καποιες 60,30 γενικα στο 2.5 δεν εχει καποια σταθερη τιμη. Εγω έχω ένα τριμερακι που αλλαζω την τάση και έχω βάλει ένα πολύμετρο για να βλέπω τι στέλνω.
    Στέλνω την μετατροπή που κάνω στον απο το ADC. Να ανεβάσω τον κώδικα που έχω γράψει στον Pic ή μονο το κομματι που κανει την αποστολή.

    a=ADRESH*256+ADRESL;
    TXSTAbits.SYNC=0; //Asynchronous mode , baud rate
    TXSTAbits.BRGH=0;//baund rate
    BAUDCTLbits.BRG16=0;//baud rate
    SPBRG=0xC;//SPBRG baud rate

    RCSTAbits.SPEN=1; //Serial port enabled
    TXSTAbits.TX9=0; //Selects 8-bit transmission
    TXSTAbits.TXEN=1; //Transmit enabled
    PIE1bits.TXIE=0;
    INTCONbits.GIE=0;
    INTCONbits.PEIE=0;
    TXREG=a;


    οπου α ειναι η μετατροπή που γινετε και μετα την φωρτώνω στο TXREG για να γίνει ή αποστολή.

    ΥΓ: Συγνώμη αν δεν καταλαβαινω κατι και ευχαριστω για τον χρονο σου

    0 Not allowed! Not allowed!

  7. #6
    Μέλος Το avatar του χρήστη klik
    Όνομα
    just a click away
    Εγγραφή
    Oct 2009
    Περιοχή
    Θεσσαλλλονίκη
    Μηνύματα
    2.561

    Προεπιλογή

    Σωστά δουλεύει η αποστολή.
    Απλά στέλνεις ένα μόνο byte με τα 8 lsb.
    π.χ. το a έχει την δυαδική τιμή 0000001111101011 (δηλαδή το 1003 στο δεκαδικό) και εσύ το κόβεις στα 8 bit και στέλνεις 1101011 (δηλαδή 107 στο δεκαδικό).
    Δοκίμασε να στείλεις το
    Κώδικας:
    TXREG = ADRESH
    ,
    να κάνεις 2 milisec καθυστέρηση και μετά το
    Κώδικας:
    TXREG = ADRESL
    Το initialize της σειριακής αρκεί να το κάνεις μια μονο φορά, άσχετα πόσα δεδομένα θα στείλεις.

    0 Not allowed! Not allowed!

  8. Ένα μέλος ευχαρίστησε τον klik για αυτό το χρήσιμο μήνυμα:

    Gianno (28-03-15)

  9. #7
    Νέο Μέλος Το avatar του χρήστη Gianno
    Όνομα
    Γιάννης
    Εγγραφή
    Nov 2012
    Περιοχή
    Μεσολόγγι
    Μηνύματα
    18

    Προεπιλογή

    Τωρα στα 5v μου βγαζει μια 255 και μια 3 τώρα αν είναι σωστο αυτο δεν γνώριζω. αλλα δεν μου φαινεται σωστο το αποτελεσμα ή κανω λαθος; για να στείλω όλο τον αριθμο μέσω του α θα πρέπει να το κάνω 16bit σωστα;
    Και ερώτηση ΑΧΑΡΙΟΥ :P initialize τι σημαινει;

    0 Not allowed! Not allowed!

  10. #8
    ΥπερΣυντονιστής Το avatar του χρήστη leosedf
    Όνομα
    Κωνσταντίνος
    Εγγραφή
    Jan 2004
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    11.088

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από Gianno Εμφάνιση μηνυμάτων
    ;
    Και ερώτηση ΑΧΑΡΙΟΥ :P initialize τι σημαινει;
    Αρχικοποίηση.
    Μεταφέρθηκε στους μικροελεγκτές.

    0 Not allowed! Not allowed!

  11. Ένα μέλος ευχαρίστησε τον leosedf για αυτό το χρήσιμο μήνυμα:

    Gianno (28-03-15)

  12. #9
    Μέλος Το avatar του χρήστη klik
    Όνομα
    just a click away
    Εγγραφή
    Oct 2009
    Περιοχή
    Θεσσαλλλονίκη
    Μηνύματα
    2.561

    Προεπιλογή

    Κώδικας:
    //initialize 
    TXSTAbits.SYNC=0; //Asynchronous mode , baud rate
        TXSTAbits.BRGH=0;//baund rate
        BAUDCTLbits.BRG16=0;//baud rate
        SPBRG=0xC;//SPBRG baud rate
    
        RCSTAbits.SPEN=1; //Serial port enabled
        TXSTAbits.TX9=0; //Selects 8-bit transmission
        TXSTAbits.TXEN=1; //Transmit enabled
        PIE1bits.TXIE=0;
        INTCONbits.GIE=0;
        INTCONbits.PEIE=0;
        //a=ADRESH*256+ADRESL;
    
             //send data little endianess
             //send 8 lsb
             TXREG=ADRESL;
            //wait data to transmit
            while (PIR1.TXIF==0)
                  ;
             //send 8 msb
             TXREG = ADRESH;
            //wait
            while(PIR1.TXIF==0)
                  ;
            //done


    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη klik : 28-03-15 στις 13:25 Αιτία: bug στο edit του code block του forum

  13. #10
    Νέο Μέλος Το avatar του χρήστη Gianno
    Όνομα
    Γιάννης
    Εγγραφή
    Nov 2012
    Περιοχή
    Μεσολόγγι
    Μηνύματα
    18

    Προεπιλογή

    Εεε δοκίμασα τον κώδικα τον οποίο μου έστειλες φίλε μου, για μια στιγμή χάρηκα γιατί φάνηκε να δουλεύει αλλά μετά είχα πάλι αποτελέσματα τα οποία δεν γνώριζω αν είναι σωστα. Ενδεικτικά :
    0βολτ -> 0βολτ -> 0
    5βολτ ->2.9βολτ ->255
    2.3βολτ ->28βολτ ->231 ( καμια φορα μου πετάει και 1)
    2.5βολτ ->0.107βολτ ->16


    Την μετατροπή την κάνω χειροκινητα, δηλαδη μου δινει πχ 231hex το μετατρέπω σε demical το πολ/ζω επι 5 και το διαιρω με το 1023
    Ερώτηση Δεν μπορω να στείλω ολο τον αριθμο μέσω του α; Και αν όχι θα πρεπει να κανω στην visual basic να μου εμφανιζει ξεχωριστα το lsb και ξεχωριστά το msb απο διαφορετικα κουμπια;

    0 Not allowed! Not allowed!

Σελίδα 1 από 2 1 2 ΤελευταίαΤελευταία

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

  1. Απαντήσεις: 12
    Τελευταίο Μήνυμα: 25-05-15, 03:27
  2. Αποστολη σηματος απο PC σε TV
    By kokoblue in forum Συσκευές Εικόνας-Ήχου
    Απαντήσεις: 14
    Τελευταίο Μήνυμα: 11-12-14, 01:42
  3. Αποστολη απο Υπολογιστη σε PIC16F628A
    By billtech in forum Μικροελεγκτές
    Απαντήσεις: 4
    Τελευταίο Μήνυμα: 03-11-13, 00:59
  4. Οι κλησεις στον υπολογιστη
    By challenge in forum Κυκλώματα για Η/Υ
    Απαντήσεις: 2
    Τελευταίο Μήνυμα: 10-01-07, 22:30
  5. αποστολη απο αμερικη.
    By ALKETAS in forum Ηλεκτρονικά
    Απαντήσεις: 8
    Τελευταίο Μήνυμα: 18-07-06, 00:27

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

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