Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

    Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

     

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Rebrand

Търся сериозен програмист възможно е и заплащане !

Препоръчан отговор


Здравейте приятели и колеги ! От скоро се занимавам с прословутата  Microsoft Visual Studio и се опитвам да си направя една визуализация на процес чрез външен истучник да предам Data посредсвом USB cable... Какво се случва след това ?

Ами успявам да изпратя Data до Visual но проблема е,че след това искам при определена информация да извършва дадени функции като :

 

 

Dim dataRecive As String = SerialPort1.ReadLine()if (dataRecive = 1) ThenOvalShape1.Visible = TrueElseIf (dataRecive = 2) ThenOvalShape1.Visible = TrueEnd If

 

Пробвах и така :

 

 

Dim dataRecive As String = SerialPort1.ReadLine()Dim messageon As String = "On"Dim messageoff As String = "Off"if (dataRecive = messageon) ThenOvalShape1.Visible = TrueElseIf (dataRecive = messageoff) ThenOvalShape1.Visible = TrueEnd If

 

Също и така:

 

 

 

Dim dataRecive As String = SerialPort1.ReadLine()if (dataRecive = "On") ThenOvalShape1.Visible = TrueElseIf (dataRecive = "Off") ThenOvalShape1.Visible = TrueEnd If

 

Също съм пробвам и вместо OvalShape1.Visible = True с OvalShape1.Show() или OvalShape1.Hide() но Така и не се случва прословутата операция Публикувано изображение

 

Давам ви и целият Source:

 

Imports System.IOImports System.IO.PortsImports System.ThreadingPublic Class Form1    Shared _continue As Boolean    Shared _serialPort As SerialPort    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load	    SerialPort1.Close()	    SerialPort1.PortName = "com4" 'change com port to match your Arduino port	    SerialPort1.BaudRate = 9600	    SerialPort1.DataBits = 32	    SerialPort1.Parity = Parity.None	    SerialPort1.StopBits = StopBits.One	    SerialPort1.Handshake = Handshake.None	    SerialPort1.Encoding = System.Text.Encoding.Default 'very important!	   	 End Sub    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click	    If Not SerialPort1.IsOpen Then		    SerialPort1.Open()	    End If	   	 End Sub    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click	    If SerialPort1.IsOpen Then		    SerialPort1.Close()	    End If    End Sub   	 Private Sub SerialPort1_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived	    Dim dataRecive = SerialPort1.ReadLine()	    Dim messageon As String = "on"	    Dim messageoff As String = "off"	    If (dataRecive = messageon) Then		    OvalShape1.Show()	    ElseIf (dataRecive = messageoff) Then		    OvalShape1.Hide()	    End If    End SubEnd Class

 

 

А това е Source на външния изтучник :

 

int button = 7;int buttonstate = 0;char myStrings[]="On";char myStrings2[]="Off";void setup(){pinMode(button, INPUT);Serial.begin(9600);}void loop(){   buttonstate = digitalRead(button);   if (buttonstate == HIGH)   {   Serial.println(myStrings);   }}

 

 

Моля помагайте,че вече незнам към кого да се обърна,писах къде ли не но всеки си прави пас Публикувано изображение Аз искам просто някои да ми каже къде бъркам и как евентуално бих се извадил от кашата. Благодаря ви предварително.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Пръвуписъ ти и уникалин.Се някуй щи пумогни, ку тъ разбире, дирзай!

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Провери съдържанието на стринга dataRecive. Може да има стойност различна от тези с които сравняваш и за това да не става нищо.

Може да сложиш и случай ELSE, а не само ELSEIF при сравненията на стринга.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Пръвуписъ ти и уникалин.Се някуй щи пумогни, ку тъ разбире, дирзай!

 

Не гледайте правописът ми

:stop:  Искам помощ а не ненужни коментари по темата :) ако  тръгнем да гледаме на кой какъв му е правописът ще се изложим много. :) Не мисля че не може да се разбере какво съм писал и какво не.

 

supervas

 

От буфера получавам точно това което трябва, мисля че някъде греша със самата логическа задача във visual

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

ако  тръгнем да гледаме на кой какъв му е правописът ще се изложим много. :)

 

Това никак не е добре! Нито е оправдание да не се опитваме да пишем правилно. Изобщо, темата за правописа винаги е актуална.

 

Друга идея, която може да провериш е функцията Form1_Load. Има коментар, че реда

 

SerialPort1.Encoding = System.Text.Encoding.Default 'very important!

 

е много важен. Прабвай да зададеш някакъв стандартен енкодинг на текста.

 

Още нещо. Във функцията SerialPort1_DataReceived двата стринга "on" и "off" са с малки букви, а ги сравняваш с такива с главна буква. Ако имаше случай ELSE при сравнението поне щеше да видиш дали показването и скриването на обекта работи. Виж в документацията каква е разликата между .Visible = true и .show()


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Бихте ли ми обясни какво ще рече тази грешка ?

Cross-thread operation not valid: Control 'ShapeContainer1' accessed from a thread other than the thread it was created on.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

 

Бихте ли ми обясни какво ще рече тази грешка ?

Cross-thread operation not valid: Control 'ShapeContainer1' accessed from a thread other than the thread it was created on.

Здравейте !

 

Според резултатите от едно наивно търсене, изглежда, че контрола 'ShapeContainer1' бива използван от две различни нишки, което явно е проблем. 

Решенията за това може би се крият тук, тук и тук.

 

P.S. За разлика от повечето видове търсения, търсенето по Error Message от програма, код или грешка при работа на ОС, дава много добри резултати, по простата причина, че е почти сигурно, че някой преди Вас се е сблъскал с това и вече е питал. Без проблем можете да пуснете търсене по текста на грешката и почти на 100% ще получите резултати. 

 

Поздрави !

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

×
×
  • Добави ново...