albNik Δημοσ. 2 Αυγούστου 2014 Δημοσ. 2 Αυγούστου 2014 ναι σωστά είναι private Στην public string OpenInfo { get; private set; } υπάρχει λόγος που έχεις την set private? Για να μπορει να παρει τιμη μονο απο συναρτησεις της Device. Δεν υπαρχει κίνδυνος μηπως την αλλαχει καποιος που χρησημοποει το Device. Η φορμα μονο να τη διαβαση μπορεί. http://msdn.microsoft.com/en-us/library/75e8y5dd.aspx
Giorgos3924 Δημοσ. 2 Αυγούστου 2014 Μέλος Δημοσ. 2 Αυγούστου 2014 Νομίζω πως το χω.... Η string process με την void process που έγραψες στο Site: ποστ #38 τί σχέση έχουν; Αν καταλαβαίνω καλά, η string Process της Device εκτελεί απλά το γράψε-διάβασε και επιστρέφει τύπου string ενώ στη φόρμα η void Process είναι ένα thread(??) που απλά δημιουργεί αντικείμενο της Device για να ξεκινήσει το πρόγραμμα;
albNik Δημοσ. 2 Αυγούστου 2014 Δημοσ. 2 Αυγούστου 2014 Νομίζω πως το χω.... Η string process με την void process που έγραψες στο Site: ποστ #38 τί σχέση έχουν; Αν καταλαβαίνω καλά, η string Process της Device εκτελεί απλά το γράψε-διάβασε και επιστρέφει τύπου string ενώ στη φόρμα η void Process είναι ένα thread(??) που απλά δημιουργεί αντικείμενο της Device για να ξεκινήσει το πρόγραμμα; Ναι ειναι διαφορετικες. Μπορεις να τις μετοναμασεις οπως θες. Ο constructor της Thread δεχεται μονο συναρτησεις που επιστρεφουν void.
Giorgos3924 Δημοσ. 2 Αυγούστου 2014 Μέλος Δημοσ. 2 Αυγούστου 2014 Το bool stop και το thread.sleep που στοχεύουν; Κάπου έχει λάθος, τυπώνει "" συνέχεια. έβαλα αυτό ftStatus = myFtdiDevice.OpenBySerialNumber(ftdiDeviceList[0].SerialNumber); if (ftStatus != FTDI.FT_STATUS.FT_OK) { IsOpen = false; return; } else IsOpen = true; Τώρα είναι εντάξει
albNik Δημοσ. 2 Αυγούστου 2014 Δημοσ. 2 Αυγούστου 2014 Το bool stop και το thread.sleep που στοχεύουν; Κάπου έχει λάθος, τυπώνει "" συνέχεια. Ειναι flag για να τερματιστει το Thread (forever loop). Το κανεις stop=true; στο click καποιου button. Κανε debug να δεις βημα βημα (F10-F11) τι στελνεις και τι απαντα.
Giorgos3924 Δημοσ. 2 Αυγούστου 2014 Μέλος Δημοσ. 2 Αυγούστου 2014 Μια χαρά! δουλεύει σωστά! Τώρα το string πώς θα το κάνω int? στέλνω έναν αριθμό 8bit (αυτό διαβάζει η συνάρτηση) αλλά μου τον εμφανίζει σαν χαρακτήρα string. Θέλω να τον εμφανίσω σαν int στην label και το OpenInfo δεν κάνει τίποτα Πρέπει να το εμφανίσουμε κ αυτό στη label. Αυτό το BeginInvoke τι φάση είναι; Σ ευχαριστώ για τη βοήθεια!
albNik Δημοσ. 2 Αυγούστου 2014 Δημοσ. 2 Αυγούστου 2014 Αν το string ειναι ενας χαρακτηρας και θες την τιμη του μετατρεπεις σε int τον χαρακτηρα. Μπορει να εχεις θεμα με το encoding διοτι οι χαρακτηρες ειναι unicode 0-65536 και οχι 8 βιτ. string s="A"; int n=(int)s[0]; // n=65 1
Giorgos3924 Δημοσ. 2 Αυγούστου 2014 Μέλος Δημοσ. 2 Αυγούστου 2014 Αν το string ειναι ενας χαρακτηρας και θες την τιμη του μετατρεπεις σε int τον χαρακτηρα. Μπορει να εχεις θεμα με το encoding διοτι οι χαρακτηρες ειναι unicode 0-65536 και οχι 8 βιτ. string s="A"; int n=(int)s[0]; // n=65 Σωστός!!!!! Θυμάμαι το είχα δει στη Visual C++ αυτό!! Σαν να κολλάει λίγο το προγραμματάκι, δηλαδή παγώνει το refresh που κ που Τα δεδομένα στέλνονται κανονικά όμως, σταθερά χωρίς πρόβλημα.
albNik Δημοσ. 2 Αυγούστου 2014 Δημοσ. 2 Αυγούστου 2014 Σωστός!!!!! Θυμάμαι το είχα δει στη Visual C++ αυτό!! Σαν να κολλάει λίγο το προγραμματάκι, δηλαδή παγώνει το refresh που κ που Τα δεδομένα στέλνονται κανονικά όμως, σταθερά χωρίς πρόβλημα. Δες αν αργει να επιστρεφει η Read. Οι σειριακες ειναι λιγο προβληματικες, εχω δει να ανεβαζουν cpu 100% και να κολλαει για οσο περιμενω να απαντήσει, ακομα και ο driver του usb converter μπορει να φταιει. H Φορμα και τα control τις τρεχουν στο δικο τους thread. Δεν μπορεις να "επικοινωνησεις" μαζι τους απευθείας απο αλλο thread. Γιαυτο ειναι η BeginInvoke
Giorgos3924 Δημοσ. 2 Αυγούστου 2014 Μέλος Δημοσ. 2 Αυγούστου 2014 Δες αν αργει να επιστρεφει η Read. Οι σειριακες ειναι λιγο προβληματικες, εχω δει να ανεβαζουν cpu 100% και να κολλαει για οσο περιμενω να απαντήσει, ακομα και ο driver του usb converter μπορει να φταιει. H Φορμα και τα control τις τρεχουν στο δικο τους thread. Δεν μπορεις να "επικοινωνησεις" μαζι τους απευθείας απο αλλο thread. Γιαυτο ειναι η BeginInvoke μάλλον πρέπει να αργεί. ίσως φταίει ο driver ή το dll. Αλλά υποτίθεται είναι καλό converter δεν είναι της πλάκας. Πολλές συσκευές έχουν ftdi
Giorgos3924 Δημοσ. 5 Αυγούστου 2014 Μέλος Δημοσ. 5 Αυγούστου 2014 Αυτά τα προγράμματα, δηλαδή τα προϊόντα της Visual C# περιορίζονται μόνο σε windows?
Giorgos3924 Δημοσ. 5 Αυγούστου 2014 Μέλος Δημοσ. 5 Αυγούστου 2014 Κάποιος τρόπος να κρατάω ιστορικό του project μου χωρίς να σώζω αντίγραφα του project path συνέχεια γίνεται; Και αν γίνεται να αποθηκεύεται και στο cloud ακόμα καλύτερα. Έχω το VS 2013.
gon1332 Δημοσ. 5 Αυγούστου 2014 Δημοσ. 5 Αυγούστου 2014 Κάποιος τρόπος να κρατάω ιστορικό του project μου χωρίς να σώζω αντίγραφα του project path συνέχεια γίνεται; Και αν γίνεται να αποθηκεύεται και στο cloud ακόμα καλύτερα. Έχω το VS 2013. Κάποιο versioning tool. Πχ git. Για το cloud Που είπες υπάρχει η επιλογή να τα αποθηκεύεις online (όχι cloud). Σε Github (αν επιλέξεις git). Εγώ χρησιμοποιώ Github και είμαι πολύ ευχαριστημένος. Τώρα αυτές οι υπηρεσίες παίζουν με τα δικαιώματα που δίνουν στους χρήστες που δεν πληρώνουν συνδρομή. Μία μεγάλη λίστα με VCS μπορείς να δεις εδώ. Για hosting εδώ. Μετά ανάλογα με το εργαλείο που θα επιλέξεις σίγουρα θα υπάρχει κάποιος τρόπος να το κάνεις integrate στο VS2013. Για παράδειγμα.
Giorgos3924 Δημοσ. 5 Αυγούστου 2014 Μέλος Δημοσ. 5 Αυγούστου 2014 Κάποιο versioning tool. Πχ git. Για το cloud Που είπες υπάρχει η επιλογή να τα αποθηκεύεις online (όχι cloud). Σε Github (αν επιλέξεις git). Εγώ χρησιμοποιώ Github και είμαι πολύ ευχαριστημένος. Τώρα αυτές οι υπηρεσίες παίζουν με τα δικαιώματα που δίνουν στους χρήστες που δεν πληρώνουν συνδρομή. Μία μεγάλη λίστα με VCS μπορείς να δεις εδώ. Για hosting εδώ. Μετά ανάλογα με το εργαλείο που θα επιλέξεις σίγουρα θα υπάρχει κάποιος τρόπος να το κάνεις integrate στο VS2013. Για παράδειγμα. Έκανα ένα account στο github, τώρα προσπαθώ να κάνω το connect.
Giorgos3924 Δημοσ. 8 Αυγούστου 2014 Μέλος Δημοσ. 8 Αυγούστου 2014 Μπορεί κανείς να μου πεί γιατί η τιμή int ενός string σταματάει στο 128? Τι εννοώ: Στέλνω ένα ένα byte ξεκινώντας από 0 (τύπου int) από έναν μικροελεγκτή. Διαβάζω και τα παίρνω ως string. Στη συνέχεια κάνω μετατροπή σε int mynumber = (int)readData[0]; Στο 128 σταματάει. Λέω μήπως γέμισε το buffer που είναι 128byte. αλλά ήταν σύμπτωση. Φορτώνω τιμή 120 και ξεκινάει από 120 και στέλνει προσθέτοντας 1. 120,121,122,123.... πάλι στο 128 σταματάει. Αυτό που στην ουσία θέλω είναι να στέλνω ένα byte να το διαβάζω ως string και να το μετατρέπω πάλι σε byte. Οπότε κάνω int-string-int αλλά σταματάει στο 128. Το πρόβλημα βρίσκεται κάπου στη μετατροπή στο τέλος δηλαδή κάπου εδώ μάλλον... mynumber = (int)readData[0]; Έβγαλα τον μικροελεγκτή και έκανα loop μεταξύ tx/rx έβαλα το πρόγραμμα να μετράει και να στέλνει dataToWrite = (count++).ToString(); αλλά πάλι τα ίδια.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα