Doel:€250.00
Donaties:€88.00

Per saldo:€-162.00

Steun ons nu!

Laatst bijgewerkt
op 03-06-2025

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

BR-18.6 Schaal-0. door Benelux795
Vandaag om 13:16:43
Lokpilot 4 defect door henk
Vandaag om 13:09:49
Swalbenburg, N modulebaan door NS264
Vandaag om 13:02:57
Mijn eerste H0-modeltreinbaan in aanbouw door Wim Vink
Vandaag om 12:52:33
Overstap naar HTM door Ronald Halma
Vandaag om 12:43:13
Wie heeft er ervaring met een baan in een inpandige garage in een app. gebouw? door Karben
Vandaag om 12:32:15
Toon hier je nieuwe (model-) spooraanwinst(en)... door Stefan88
Vandaag om 12:23:25
lampjes in huizen willekeurig schakelen door Bert55
Vandaag om 12:17:17
De bouw van mijn modelbaan in Thailand door thevandijks
Vandaag om 12:13:11
RhB 1:87, terug naar 25 jaar geleden door Ronald Halma
Vandaag om 12:08:17
Ronald doet de Fork Challenge! door Ronald Halma
Vandaag om 12:05:37
Raadplaatje door HIJ
Vandaag om 11:42:12
"Spoor op Vleugels" in H0 door Pinkelpa
Vandaag om 11:40:32
Microstepper motoren voor armseinpalen door Albert de Heer
Vandaag om 11:33:22
LED / Lampjes (Viessmann) seinpalen aansturen. Vraagje aan electronica experts door Menno
Vandaag om 11:22:37
BMB-Module: “Corfe Castle Station” door Hans van de Burgt
Vandaag om 11:04:51
US diorama in H0 door puntenglijder
Vandaag om 10:54:45
Mooi weer om buiten te spelen door sncf231e
Vandaag om 10:42:06
DCC-decoder geïntegreerd in sein(voet) door schipcas
Vandaag om 10:21:06
Wèhnich - Eén onbeduidend baantje op 1200 bij 1200mm door Laenderbahn27
Vandaag om 09:55:11
Op zoek naar een club gespecialiseert in Britse modellen door MOVisser
Vandaag om 08:55:27
Welke kleur is Roco oud bruin? door MadhouseNL
26 July 2025, 23:37:42
Mallnitzer Tauernbahnstrecke ÖBB N Spoor door Schachbrett
26 July 2025, 23:18:40
reserve onderdeel gezocht voor Minitrix 12593 BR132 door joespoor
26 July 2025, 22:54:27
"Litter Bin" voor Brits spoor en Britse modelspoorprojecten door Hans van de Burgt
26 July 2025, 21:56:59
Modules van Kees Gorter (vervolg) door ca.gorter
26 July 2025, 20:00:50
0n30 diorama: Sedona Verde River Canyon door Ronald Halma
26 July 2025, 17:44:09
Rheinburg, TP V/VI door rail4marcel
26 July 2025, 17:42:27
Seuthe gaat stoppen door Eric B
26 July 2025, 17:04:15
BMB 00-Modulebaan, BMB-Rijdagen en BMB-Deelname aan Beurzen & Evenementen door Hans van de Burgt
26 July 2025, 17:02:03
  

Auteur Topic: Visual Studio community 2015: VB.NET : compoort aansturen  (gelezen 4967 keer)

olaf99

  • Offline Offline
  • Berichten: 947
    • bouwwerken van olaf
Visual Studio community 2015: VB.NET : compoort aansturen
« Gepost op: 31 August 2016, 20:43:29 »
Hallo

Ik ben bezig met mijn modelbaan besturing. Ik wil mijn Atmel aansturen met een adres byte en een data byte.  De software wil ik in Visual basic doen en ik gebruik de compoort.
De Atmel maakt alleen gebruik van de TXD en de RXD compoort lijn.
Mijn eigen programma kan ik niet aan de praat krijgen. Ben vervolgens gaan testen met het programma MicroRidge (compoort test programma) en daar kan ik mijn Atmel wel mee aansturen.  Dus ik weet dat de hardware het wel doet.

De bedoeling is dus bij de atmel dat hij een adres (bijvoorbeeld 6 ) en de daarbij behorende data (bijvoorbeeld 4) krijgt. De Atmel schakelt dan het relais met de decimale waarde 4 aan. Tevens leest de Atmel de ingangen bij het geselecteerde adres in en stuurt die door naar de pc.

Met het compoort analyse programma PortMon zie ik wel verschillen.
Met mijn programma:
  * decimaal 6 versturen = 36 met de HEX instelling in Portmon
  * decimaal 6 versturen = 6 met de ASCII instelling in Portmon

Met Microridge:
  * decimaal 6 versturen = 06 met de HEX instelling in Portmon
  * decimaal 6 versturen =  .   met de ASCII instelling in Portmon

Hieronder het Visual basic programma:

https://4.bp.blogspot.com/-eE4bIIwh2gQ/V8cgi--HcmI/AAAAAAAADb8/cjyzgDs1g4oTe2F1Cyt1EZWYcY0A8WAaQCPcB/s1600/VBprog.jpg

Hieronder een uitdraai van portmon. En je ziet dat ik meerdere bytes heb verzonden. :
compoorttest31-8-16   eigen programma werkt niet.


0.00006761 compoort-test29 IRP_MJ_CREATE Serial0 SUCCESS Options: Open
0.00000307 compoort-test29 IOCTL_SERIAL_GET_PROPERTIES Serial0 SUCCESS
0.00000363 compoort-test29 IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000140 compoort-test29 IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS
0.00000140 compoort-test29 IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS
0.00000140 compoort-test29 IOCTL_SERIAL_GET_CHARS Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS
0.00000140 compoort-test29 IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_CHARS Serial0 SUCCESS
0.00000140 compoort-test29 IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS
0.00000810 compoort-test29 IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600
0.00000391 compoort-test29 IOCTL_SERIAL_SET_RTS Serial0 SUCCESS
0.00000419 compoort-test29 IOCTL_SERIAL_CLR_DTR Serial0 SUCCESS
0.00000307 compoort-test29 IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
0.00000168 compoort-test29 IOCTL_SERIAL_SET_CHAR Serial0 SUCCESS EOF:1a ERR:0 BRK:0 EVT:1a XON:11 XOFF:13
0.00000587 compoort-test29 IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:0 Replace:40 XonLimit:1024 XoffLimit:1024
0.00000140 compoort-test29 IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_CHARS Serial0 SUCCESS
0.00000140 compoort-test29 IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS
0.00000838 compoort-test29 IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600
0.00000419 compoort-test29 IOCTL_SERIAL_SET_RTS Serial0 SUCCESS
0.00000391 compoort-test29 IOCTL_SERIAL_CLR_DTR Serial0 SUCCESS
0.00000279 compoort-test29 IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
0.00000140 compoort-test29 IOCTL_SERIAL_SET_CHAR Serial0 SUCCESS EOF:1a ERR:0 BRK:0 EVT:1a XON:11 XOFF:13
0.00000251 compoort-test29 IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:0 Replace:40 XonLimit:1024 XoffLimit:1024
0.00000419 compoort-test29 IOCTL_SERIAL_CLR_DTR Serial0 SUCCESS
0.00000140 compoort-test29 IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_CHARS Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS
0.00000782 compoort-test29 IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600
0.00000419 compoort-test29 IOCTL_SERIAL_CLR_RTS Serial0 SUCCESS
0.00000419 compoort-test29 IOCTL_SERIAL_CLR_DTR Serial0 SUCCESS
0.00000251 compoort-test29 IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
0.00000112 compoort-test29 IOCTL_SERIAL_SET_CHAR Serial0 SUCCESS EOF:1a ERR:0 BRK:0 EVT:1a XON:11 XOFF:13
0.00000559 compoort-test29 IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:0 Replace:0 XonLimit:1024 XoffLimit:1024
0.00000419 compoort-test29 IOCTL_SERIAL_CLR_RTS Serial0 SUCCESS
0.00000168 compoort-test29 IOCTL_SERIAL_SET_TIMEOUTS Serial0 SUCCESS RI:-1 RM:-1 RC:-2 WM:0 WC:0
0.00000307 compoort-test29 IOCTL_SERIAL_SET_WAIT_MASK Serial0 SUCCESS Mask: RXCHAR RXFLAG CTS DSR RLSD BRK ERR RING
0.00000168 compoort-test29 IOCTL_SERIAL_SET_QUEUE_SIZE Serial0 SUCCESS InSize: 1000 OutSize: 1000
37.80507243 compoort-test29 IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
0.00002235 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 1: 36 <= portmon op HEX
0.00001956 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 1: 34 <= portmon op HEX
0.00000391 compoort-test29 IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
11.97564551 compoort-test29 IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
0.00003185 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 1: 6 <=portmon op ASCII
0.00002291 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 1: 4 <=portmon op ASCII
0.00000419 compoort-test29 IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
13.64046883 compoort-test29 IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
0.00002822 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 1: 4 <=portmon op ASCII
0.00002989 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 2: 64 <=portmon op ASCII
0.00000391 compoort-test29 IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
4.86393829 compoort-test29 IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
0.00002375 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 1: 6 <=portmon op ASCII
0.00000363 compoort-test29 IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.69714922 compoort-test29 IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
0.00002989 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 2: 15 <=portmon op ASCII
0.00000391 compoort-test29 IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
26.03316008 compoort-test29 IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
0.00000978 compoort-test29 IRP_MJ_FLUSH_BUFFERS Serial0 SUCCESS
0.00001537 compoort-test29 IOCTL_SERIAL_SET_WAIT_MASK Serial0 SUCCESS Mask:
0.00000475 compoort-test29 IOCTL_SERIAL_CLR_DTR Serial0 SUCCESS
0.00000168 compoort-test29 IRP_MJ_FLUSH_BUFFERS Serial0 SUCCESS
0.00000307 compoort-test29 IOCTL_SERIAL_PURGE Serial0 SUCCESS Purge: RXABORT RXCLEAR
0.00000168 compoort-test29 IOCTL_SERIAL_PURGE Serial0 SUCCESS Purge: TXABORT TXCLEAR
0.00000251 compoort-test29 IRP_MJ_CLEANUP Serial0 SUCCESS
0.00031037 compoort-test29 IRP_MJ_CLOSE Serial0 SUCCESS


**************************************************************************************************************************
*************************************************************************************************************************

MicroRidge    **** met programma doet hij wel. ******

0.00006090 ComTestSerial.e IRP_MJ_CREATE Serial0 SUCCESS Options: Open
0.00000838 ComTestSerial.e IOCTL_SERIAL_SET_QUEUE_SIZE Serial0 SUCCESS InSize: 65536 OutSize: 65536
0.00000168 ComTestSerial.e IOCTL_SERIAL_SET_TIMEOUTS Serial0 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0
0.00000112 ComTestSerial.e IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS
0.00000112 ComTestSerial.e IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS
0.00000140 ComTestSerial.e IOCTL_SERIAL_GET_CHARS Serial0 SUCCESS
0.00000140 ComTestSerial.e IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS
0.00000838 ComTestSerial.e IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600
0.00000419 ComTestSerial.e IOCTL_SERIAL_SET_RTS Serial0 SUCCESS
0.00000447 ComTestSerial.e IOCTL_SERIAL_SET_DTR Serial0 SUCCESS
0.00000279 ComTestSerial.e IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
0.00000168 ComTestSerial.e IOCTL_SERIAL_SET_CHAR Serial0 SUCCESS EOF:d ERR:ff BRK:ff EVT:ff XON:11 XOFF:13
0.00000838 ComTestSerial.e IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:1 Replace:80000040 XonLimit:100 XoffLimit:100
0.00000223 ComTestSerial.e IOCTL_SERIAL_SET_WAIT_MASK Serial0 SUCCESS Mask: RXCHAR TXEMPTY
0.00000363 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000475 ComTestSerial.e IOCTL_SERIAL_SET_DTR Serial0 SUCCESS
0.00000503 ComTestSerial.e IOCTL_SERIAL_SET_RTS Serial0 SUCCESS
0.00001006 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000196 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS

0.00000279 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000698 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00002319 ComTestSerial.e IRP_MJ_WRITE Serial0 SUCCESS Length 1: .   <= portmon op ASCII
0.00000754 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000223 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS

0.00002067 ComTestSerial.e IRP_MJ_WRITE Serial0 SUCCESS Length 1: .   <= portmon op ASCII
0.00000419 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000223 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000196 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000419 ComTestSerial.e IRP_MJ_READ Serial0 SUCCESS Length 1: .   <= portmon op ASCII
0.00000698 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000307 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS

0.00000251 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000251 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00001928 ComTestSerial.e IRP_MJ_WRITE Serial0 SUCCESS Length 1: 06   <= portmon op HEX
0.00000391 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000168 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS

0.00001983 ComTestSerial.e IRP_MJ_WRITE Serial0 SUCCESS Length 1: 04    <= portmon op HEX
0.00000643 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000251 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000140 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000419 ComTestSerial.e IRP_MJ_READ Serial0 SUCCESS Length 1: 00   <= portmon op HEX
0.00000531 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000196 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS

0.00002179 ComTestSerial.e IRP_MJ_WRITE Serial0 SUCCESS Length 1: 06    <= portmon op HEX
0.00000335 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000168 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS

0.00002011 ComTestSerial.e IRP_MJ_WRITE Serial0 SUCCESS Length 1: 02   <= portmon op HEX
0.00000391 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000168 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000140 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000307 ComTestSerial.e IRP_MJ_READ Serial0 SUCCESS Length 1: 00 <= portmon op HEX
0.00000391 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000223 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS


Dus zou iemand weten waardoor Microridge wel doet met het versturen van dezelfde decimale getallen als mijn programma?

Mijn dank zal groot zijn.

Olaf

« Laatst bewerkt op: 05 September 2016, 19:18:11 door olaf99 »

Robert E

  • Offline Offline
  • Berichten: 909
    • Robert’s Modelspoor Pagina
Re: Visual basic compoort aansturen
« Reactie #1 Gepost op: 31 August 2016, 21:10:10 »
Die write functie zonder overload (kent Visual Basic dat) is volgens mij puur string based...

https://msdn.microsoft.com/en-us/library/y2sxhat8(v=vs.110).aspx

Je zult even wat moeten prutsen met buffers zo te zien

https://msdn.microsoft.com/en-us/library/system.io.ports.serialport.write(v=vs.110).aspx

Citaat
Ik wil mijn Atmel aansturen met een adres byte en een data byte.

En wat als je een karakter verliest om welke reden dan ook?
Zou een simple protocol maken, iets met STX / ETX en daartussen de data als ASCII verzenden...

Op de Atmel dan evt met s(s)canf (vreet wel geheugen) adres en data byte eruit halen...

Mvg

Robert

MDRRC-II (Lite) goedkope DIY centrale voor DCC en MM.
Heb je een vraag, stuur me dan een mail via mijn site ipv persoonlijk bericht...

jowi

  • Offline Offline
  • Berichten: 2375
Re: Visual basic compoort aansturen
« Reactie #2 Gepost op: 31 August 2016, 21:10:39 »
Zo te zien moet je die '6' dus als hex sturen en niet als decimaal zoals je nu doet.
Probeer dus eens:
Byte data = &H06
ipv Byte data = 6

En waarschijnlijk moet je het adres en de waarde in 1x sturen, dus maak een byte array zoals in dit voorbeeld:

Dim bytes() As Byte = { &H06, &H04 }
serialport.Write(bytes, 0, bytes.Length)

jjg koopmans

  • Offline Offline
  • Berichten: 475
Re: Visual basic compoort aansturen
« Reactie #3 Gepost op: 31 August 2016, 21:24:18 »
Die opmerking wilde ik ook maken. Er is nogal een verschil tussen de waarde 6 in een byte, de 2-bit en de 4-bit samen, en het getal of teken voor 6 dat je probeert te sturen en heel andere bits gaat geven.
Mvrgr
Koopmans

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Visual basic compoort aansturen
« Reactie #4 Gepost op: 31 August 2016, 22:59:35 »
Iets als "decimaal sturen" bestaat dan ook helemaal niet. Als je echt de decimale waarde 6 verstuurt (wat in hex ook gewoon 6 is (vaak geschreven als 0x06), of 0b110 in binair). Maar het lijkt er inderdaad op dat niet de waarde 6 verstuurt wordt maar 6 als ASCII character waarde (54 decimaal ofwel 36 in hex).

Decimaal, binair, hexadecimaal, octaal etc zijn alleen verschillende schrijfwijzes van een getal.

ASCII is een ogelijke interpretatie van een waarde (en de standaard als het om tekst op een embedded systems gaat). Maar het zou net zo goed gewoon een getal kunnen zijn of een commando. Het is aan de programmeur de waarde goed te interpreteren :)


Timo
Verzonden vanaf mijn desktop met Firefox

ivanzon

  • Offline Offline
  • Berichten: 1595
Re: Visual basic compoort aansturen
« Reactie #5 Gepost op: 31 August 2016, 23:12:52 »
Je kan een byte array van een string maken, maar dan moet je wel naar ASCII converteren, anders krijg je UTF tekens over de lijn, waar je dan op de ontvanger weer problemen mee kan krijgen.

olaf99

  • Offline Offline
  • Berichten: 947
    • bouwwerken van olaf
Re: Visual basic compoort aansturen
« Reactie #6 Gepost op: 01 September 2016, 21:42:28 »
Hallo

Allemaal bedankt voor jullie input.  (y)

Het werkt nu.  :laugh: 15 naar kaart 4 en 64 naar kaart 6.  Kaart telling trouwens van rechts naar links....



Het lag dus aan mijn manier van declaratie noteren. Verder moeten ook die "()" en de "{}" toegevoegd worden anders werkt het niet. Ik had trouwens al met HEX een poging gedaan maar ik had dan de () en de {} vergeten.

enkele byte verzenden werkt wel met:

Dim data() As Byte = {&H4}
SerialPort2.Write(data, 0, 1)

werkt ook met:
Dim data() As Byte = {&H4}
SerialPort2.Write(data, 0, data.Length)

***************************************
2 bytes verzenden werkt met:
 
Dim bytes() As Byte = {&H6, &H4}
SerialPort2.Write(bytes, 0, bytes.Length)

***********************************

Zo nu kan ik eindelijk verder met programmeren.

Olaf

jowi

  • Offline Offline
  • Berichten: 2375
Re: Visual basic compoort aansturen
« Reactie #7 Gepost op: 01 September 2016, 22:37:29 »
Google eens op visual basic arrays... en probeer wat meer van de taal te begrijpen. Nog beter, stap over op c# of vb.net...

Die schrijfwijze met accolades etc stelt een array voor, een "lijst" van bytes. Dat heb je nodig als je meerdere bytes in 1x wilt sturen.

Wat jij nu doet met:
Dim data() As Byte = {&H4}

is een array van 1 byte aanmaken... dat kan wel maar is niet zo zinvol. Kun je beter vervangen door:
Byte data = &H04
« Laatst bewerkt op: 01 September 2016, 22:40:24 door jowi »

olaf99

  • Offline Offline
  • Berichten: 947
    • bouwwerken van olaf
Re: Visual basic compoort aansturen
« Reactie #8 Gepost op: 02 September 2016, 19:10:11 »
Hallo

Ik werk nu met vb.net => microsoft visual studio community 2015.
11 jaar geleden was ik dit project begonnen en toen heb ik gewerkt met visual basic 6 samen met het boek van de elektuur "elektronica en visual basic". Bij dat boek zat een cd met een dll file waarmee je de compoort mee kon aansturen. Gewoon met commando's zoals sendbyte en readbyte.
Dat project heeft dus jaren lang stil gelegen en nu heb ik een baan met meer rails dus pak ik het project weer op. Ik heb inderdaad nog veel te leren kwa programmeren. Ik merk ook dat er wel wat veranderd is kwa programmeer instructies. Op internet veel gezocht en ik kom veel voorbeelden tegen die stammen uit het visual basic 6 tijdperk.

Ik ga maar eens aan het programmeren.  ;D

Bedankt voor je hulp.
Olaf

jowi

  • Offline Offline
  • Berichten: 2375
Re: Visual basic compoort aansturen
« Reactie #9 Gepost op: 02 September 2016, 19:23:19 »
Ah ja nu zie ik het, ik was even onder de indruk dat je zelf ook nog met VB6 bezig was :)

ivanzon

  • Offline Offline
  • Berichten: 1595
Re: Visual basic compoort aansturen
« Reactie #10 Gepost op: 02 September 2016, 19:53:20 »
UIt ervaring: Je kan een groot deel van de c# voorbeelden bijna rechtstreeks overnemen. VB.NET is een soort schil over de basis (c#)

olaf99

  • Offline Offline
  • Berichten: 947
    • bouwwerken van olaf
Re: Visual basic compoort aansturen
« Reactie #11 Gepost op: 02 September 2016, 20:00:43 »
Hallo

Bedankt voor je tip. Wellicht kan ik nog wat stukjes code gebruiken.

Olaf

Bert Sprinter

  • Gast
Re: Visual basic compoort aansturen
« Reactie #12 Gepost op: 05 September 2016, 13:32:47 »
Dat ziet er toch niet uit als Visual Basic, meer Visual Studio of .NET? Hoe zit dat nou? Ik heb Visual Basic 6.0 en kan daarmee zonder special DLL bestand geen USB poort aansturen.

Iemand enig idee hoe je dat met VB 6.0 kan doen?

jowi

  • Offline Offline
  • Berichten: 2375
Re: Visual basic compoort aansturen
« Reactie #13 Gepost op: 05 September 2016, 13:41:44 »
Dit is dus de programmeertaal VB.Net. ".NET" is de naam v/h framework, "Visual Studio" is de naam van Microsoft voor een verzameling programmeertalen en tooling, om het maar even simpel te houden.

Mocht je nog met VB6 werken, ik zou daar mee ophouden en minstens overgaan op VB.NET (beter nog, C#). VB6 wordt niet meer ondersteund en is dramatisch ouderwetsch.

Voor VB6 heb je de MsComm Control component nodig: https://msdn.microsoft.com/en-us/library/aa259393(v=vs.60).aspx

NTeering

  • Offline Offline
  • Berichten: 1038
    • ARduino Controlled MOdel RAilway
Re: Visual basic compoort aansturen
« Reactie #14 Gepost op: 05 September 2016, 13:47:45 »
Hallo Bert,

Stuur even een mail naar Mardec@ziggo.nl
Dan krijg je een zip file retour met een VB6 voorbeeldprojekt



Nico