sille
Electronics is a fine hobby ;-) http://www.electro-online.be
hoi, ik probeer al een tijdje in visual basic met de mscomm te comuniseren met mijn pic. jammer genoeg begrijp ik niet zo veel van het signaal dat uit de mscomm komt.
het is net alsof er een dubbele byte uit komt.
als ik op de uitgang kijk van de max232 met mijn scoop, dan zie ik dat het signaal van hoog naar een 8bit code gaat, dan weer eens hoog, en dan nog eens die 8bit code. hoe komt dit?
welk soort data kan ik eigenlijk naar een mscomm sturen? een int of boolean?
is het mogelijk om met de mscomm een één enkel bitje (of meerdere) te sturen, zodat ik zelf een protocol kan maken?
heeft iemand een simpel (of ingewikkelder) voorbeeld programma (+code) waarin het mscomm gebruiker wordt?
Ha die Sille,
Ik e.e.a. aan ervaring met MSComm ten eerste welke Visual Basic hebben we het hier over ? .NET ? Of gewoon 6 ?
De data die je naar de MSComm kunt sturen zijn karakters, d.w.z. heb je dus een integer (0~255), dan zul je deze eerst om moeten zetten naar een $tring. Dit doe je door bijvoorbeeld:
MSComm1.Output = Chr$(MyIntVar)
De COM poort stuurt nu dus die variabele de wereld in.
Vergeet ook niet de compoort te openen
MSComm1.PortOpen = True
En de instellingen van de poort in de propertiesbrowser van VB
Succes
sille
Electronics is a fine hobby ;-) http://www.electro-online.be
ja, wat jij (antoine) zegt had ik al ontdekt, maar het signaal dat er uit komt hoe moet ik dat interpreteren? ik zie wel dat de uitgang hoog en laag aanneemt afhankelijk van het karakter dat ik stuur, maar als ik vb 216 doorstuur weet ik niet welke bit waar voor staat.
er komt ook altijd een tweede keer precies het zelfde beeld na als ik maar 1 char doorstuur. waarom is dit?
ik gebruik visual basic 6
Dat is mij volslagen onbekend dat probleem van die twee bytes, misschien een probleem met de handshaking waar heb je die opstaan ?
Als de lijn niet actief is, laat deze een "hoog" (een "1") zien. Wordt er nu een byte verstuurd dat gebeurd het volgende
Eerst de startbit, die is altijd laag
Dan de acht data bits, beginnend met Bit0
Dan de eventuele pariteitsbit
en dan de stopbit (altijd hoog)
hoog = -12V, laag = +12V (meen ik mij te herinneren) na de MAX232 is hoog gewoon +5 en laag 0
sille
Electronics is a fine hobby ;-) http://www.electro-online.be
Op 3 augustus 2003 21:12:52 schreef Antoine:
Dat is mij volslagen onbekend dat probleem van die twee bytes, misschien een probleem met de handshaking waar heb je die opstaan ?
Ok dit probleem is al opgelost.
ik zit echter nog met enkele probleempje.
- stel ik neem een baudrate van 9600bps. dus dat wil zeggen dat 1 bit 104.166 µS nodig heeft.
hoe moet ik dan mijn delay maken in mijn pic @ 4Mhz? dit werkt niet:delay movlw d'100' movwf temp1 delay1 decfsc temp1,f goto delay1 return
elke instructie heeft toch 1µS nodig? of niet? - hoe kan ik data inlezen met de pc? ik heb enkel 1 Tx en 1 Tr. ik werk met een max232.
ik zou graag vb de pc laten weten wanneer hij de volgende byte mag verzenden. wanneer vb de pic een '1' stuurt na de pc moet die wachten, wanneer het een '0' is mag de pc de volgende byte verzenden.
(het is momenteel nog voor een lcd aan te sturen).
ik zou ook graag weten hoe ik byte's naar een pc kan sturen.
Heeft zo'n ding geen UART onboard ? Dat is veel makkelijker, ik gebruik veel de ATMega8 (da's wel geen PIC), maar die heeft zo'n ding onboard, reuzehandig.
Verder kun je denk ik dan beter de frequentie van je kristal aanpassen op de datarate van de PC
Suc6
sille
Electronics is a fine hobby ;-) http://www.electro-online.be
Op 11 augustus 2003 19:58:48 schreef Antoine:
Heeft zo'n ding geen UART onboard ?
niet dat ik weet, ik gebruik een pic16f84
Jeroen Boere
IF you can't convince them, then confuse them!
das wel wat lastiger Sille... je kunt mijn inziens dus beter een 16F628 pakken... welke dus een standaard TX en RX aansluiting bevat, ik ben hier zelf nu mee aan het stoeien, niet dat het me al lukt, maar toch 
nu moet je dus zelf een heel protocol schrijven... reuze lastig imho
sille
Electronics is a fine hobby ;-) http://www.electro-online.be
Op 11 augustus 2003 20:51:11 schreef Jeroen Boere:
je kunt mijn inziens dus beter een 16F628 pakken... welke dus een standaard TX en RX aansluiting bevat, ik ben hier zelf nu mee aan het
ik ben sinds vandaag te weten gekomen dat de 16f628 heel wat meer te bieden heeft, en pin compatibel is met de 16f84. ik ga deze week nog eens die nieuwe halen, en es kijken of ik niet es van favo pic moet veranderen 
een protocol schrijven? ik zou graag eenvoudig beginnen met bitjes, en dan zou ik later miss via het rs232 protocol werken omdat die al bestaat en nie zo moeilijk is. maar ik zou graag dan de pc kunnen programmeren zodat die die 8bit code met start en stop bit kan begrijpen.
[Bericht gewijzigd door sille op ]
Ik weet natuurlijk niet hoe de UART van zo'n PIC werkt, maar volgens mij moet je gewoon een byte er naar toe schrijven en regelt de UART intern de rest 
Jeroen Boere
IF you can't convince them, then confuse them!
Op 11 augustus 2003 21:49:54 schreef Antoine:
Ik weet natuurlijk niet hoe de UART van zo'n PIC werkt, maar volgens mij moet je gewoon een byte er naar toe schrijven en regelt de UART intern de rest
volgens de datasheet wel ja 
menno
Je biertje wordt niet jaloers als je een andere pakt, je vrouw wel ...
Voor de 16... serie microcontrollers staan er op de web-site van Microchip verschillende kant-en-klare software UART's beschreven; kijk effe in de application notes en je vindt ze vanzelf. Houd er rekening mee dat zo'n routine in software wel werkt, maar behoorlijk wat beperkingen ten aanzien van de "rest" van je programma oplegt.