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

Θέμα: Πρόβλημα με mikrobasic σε easypic5 με DS18B20

  1. #1
    Μέλος
    Εγγραφή
    Oct 2007
    Μηνύματα
    76

    Προεπιλογή Πρόβλημα με mikrobasic σε easypic5 με DS18B20

    Καταρχάς είναι το πρώτο μου project και ελπίζω να είστε λίγο ανεκτικοί.
    Επειδή δεν υπήρχαν έτοιμα παραδείγματα με easypic5 και DS18B20 αναγκάστηκα να τροποποιήσω κάποιο παράδειγμα , τώρα αυτό δουλεύει κανονικά αφού με βγάζει θερμοκρασία 4 ψηφίων αλλά δεν μπορώ να εκλέξω rele αφού η μικρή εξτρα υπορουτινα που έφτιαξα μου βγάζει συνέχεια error : Improper use of operator >=

    Πάσα βοήθεια δεκτή

    Το βασικό πρόγραμμα είναι
    Συνημμένα Αρχεία Συνημμένα Αρχεία

    0 Not allowed! Not allowed!

  2. #2
    Μέλος Το avatar του χρήστη Nemmesis
    Όνομα
    Παναγιωτης
    Εγγραφή
    Jun 2006
    Περιοχή
    Πτολεμαιδα
    Μηνύματα
    3.299

    Προεπιλογή

    ο κωδικας που εχεις για το ρελε ειναι αυτος

    inttostr (28.5 , tcontrol)
    if tcontrol >= text then ' if temp>room then open a rele
    PORTD = %11111111 ' Turn ON diodes on PORTB
    else PORTD = %00000011 'else close rele
    end if
    γιατι κανει ομως String εναν αριθμο? αφου το >= θελει να βλεπει αριθμους για να συγκρινει

    0 Not allowed! Not allowed!
    φανατικος αντιαεικινηστης....
    δεν επιτρεπω την εξελιξη γιατι εχω πετρελαια...

  3. #3
    Μέλος
    Εγγραφή
    Oct 2007
    Μηνύματα
    76

    Προεπιλογή

    το ¨text" για να τυπωθεί στο lcd χρειάζεται string ,οπότε θέτω έναν αριθμό "28.5" για να γίνει string για να συγκρίνω τους 2 αριθμούς ώστε να έχω έξοδο σε κάποιο led
    Φυσικά αυτή είναι κάποια ιδέα μου, αν υπάρχει κάτι άλλο σίγουρα θα είναι θα το δεχόμουν

    0 Not allowed! Not allowed!

  4. #4
    Μέλος Το avatar του χρήστη Nemmesis
    Όνομα
    Παναγιωτης
    Εγγραφή
    Jun 2006
    Περιοχή
    Πτολεμαιδα
    Μηνύματα
    3.299

    Προεπιλογή

    και ξαναλεω οτι το >= ειναι αριθμητικος συγκριτης και εσυ το βαζεις να συγκρινει 2 string τα οποια ομως η mikrobasic τα βλεπει σαν ακολουθια χαρακτηρων και για αυτο τον λογο σου βγαζει μνμ "Improper use of operator >= " δλδ οτι δουλευεις λαθος την >=... κανε το text αριθμο με μια StrToInt και γραψε αντι για:
    Κώδικας:
     inttostr (28.5 , tcontrol)
     if tcontrol >= text then
    γραψε:
    Κώδικας:
     inttostr (28.5 , tcontrol)
     if 28.5 >= text then

    0 Not allowed! Not allowed!
    φανατικος αντιαεικινηστης....
    δεν επιτρεπω την εξελιξη γιατι εχω πετρελαια...

  5. #5
    Μέλος Το avatar του χρήστη Nemmesis
    Όνομα
    Παναγιωτης
    Εγγραφή
    Jun 2006
    Περιοχή
    Πτολεμαιδα
    Μηνύματα
    3.299

    Προεπιλογή

    βασικα τωρα μου ηρθε ιδεα... γιατι να παιδευεις τον πικ με δεκαδικα
    κανε αυτο
    Κώδικας:
    dim text1 as word 
    dim text2 as word 
    dim therm as word 'αυτη ειναι η μεταβλητη της τιμης του θερμοστατη
    text1[0] = text[0]
    text1[1] = text[1]
    text1[2] = text[3]
    text1[3] = text[4]  'ετσι ξεφωρτοθεικαμε τα δεκαδικα δλδ αν ειχαμε  30.10 εχουμε 3010
    therm = 2850
    text2 = StrToint(text1)
    
    if therm >= text2 then        ' if temp>room then open a rele
       PORTD = %11111111   ' Turn ON diodes on PORTB
       else  PORTD = %00000011          'else close rele
    end if
    ετσι πιστευω ειναι ποιο ευκολο για τον πικ...
    ο κωδικα μπηκε στο προγραμμασου και εγινε κανονικα built οποτε μαλλον δουλευει...

    0 Not allowed! Not allowed!
    φανατικος αντιαεικινηστης....
    δεν επιτρεπω την εξελιξη γιατι εχω πετρελαια...

  6. #6
    Μέλος Το avatar του χρήστη DT200
    Όνομα
    Ιωάννης
    Εγγραφή
    Nov 2005
    Περιοχή
    ΜΕΓΑΡΑ
    Μηνύματα
    1.245

    Προεπιλογή

    Αν ο αριθμός 28.5 είναι σταθερός τότε αντικατέστησε τον με τον αριθμό 285
    και τον αριθμό που έχει το TEXT αντέγραψε τον σε έναν άλλο καταχωριτή
    και πολλαπλασιασέ τον με το 10 δηλαδή john=temp*10
    και μετά κάνε την σύγκρισή σου if 285>john then ...

    0 Not allowed! Not allowed!

  7. #7
    Μέλος
    Εγγραφή
    Oct 2007
    Μηνύματα
    76

    Προεπιλογή

    Eευχαριστώ και του 2 που με απάντησαν
    Δεν έγινε τίποτε με τις οδηγίες σας γιατί από ότι κατάλαβα δεν μπορείς να συγκρίνεις
    2 string ?
    Έκανα πάνω από 100 διαφορετικούς προγραμματισμούς αλλά αποτέλεσμα τίποτε
    Ακόμα και όταν πήγαινα να κάνω εισαγωγή integral (αριθμού) και μετατροπή του σε string και έλεγχο του με ένα ίδιο αριθμητικά string πάλι έβγαζε error η δεν έκανε λογική πράξη
    Στην mikroElektronika ένας με απάντησε για έλεγχο όχι του string αλλά του αποτελέσματος του temp και εκεί βρέθηκε η λύση


    Παρακάτω έχω βάλει το πρόγραμμα για οποίον το χρειάζεται
    Συνημμένα Αρχεία Συνημμένα Αρχεία

    0 Not allowed! Not allowed!

  8. #8
    Μέλος Το avatar του χρήστη DT200
    Όνομα
    Ιωάννης
    Εγγραφή
    Nov 2005
    Περιοχή
    ΜΕΓΑΡΑ
    Μηνύματα
    1.245

    Προεπιλογή

    Και εγώ αυτό έλεγα , αλλά δεν έχει σημασία ποια

    Υ.Γ. το .txt δεν έχει τίποτα μέσα.

    0 Not allowed! Not allowed!

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

  1. DS18B20 & arduino
    By Διογένης in forum Γενικά
    Απαντήσεις: 11
    Τελευταίο Μήνυμα: 01-09-17, 19:35
  2. Πρόβλημα με strong pull up σε DS18B20
    By high frequency in forum Μικροελεγκτές
    Απαντήσεις: 5
    Τελευταίο Μήνυμα: 02-09-11, 05:08
  3. easypic5
    By angelkos in forum Μικροελεγκτές
    Απαντήσεις: 3
    Τελευταίο Μήνυμα: 31-01-11, 20:33
  4. easypic5 της mikroe
    By ignatios67 in forum Μικροελεγκτές
    Απαντήσεις: 37
    Τελευταίο Μήνυμα: 20-06-10, 20:04
  5. easypic5
    By angelkos in forum Μικροελεγκτές
    Απαντήσεις: 4
    Τελευταίο Μήνυμα: 02-02-09, 22:56

Tags for this Thread

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

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