Arjan Swets
cnc filmpjes op Http://www.arjan-swets.com
Ik heb zo BACO display, en daar wil dingen op laten verschijnen via de pc via RS232
nu ben ik een hele tijd aan het rommelen geweest, om het in de pic aan de gan te krijgen.... zie topic:
http://www.circuitsonline.net/forum/view/83595
Maar nu heb ik het zover werkend, als ik via een terminal programma bijvoorbeeld : "start11111111111111111111111111111111" krijg ik netjes 4 regels met (om de nibble) het getal 0001 tezien
zend ik :"startFFFFFFFFFFFFFFFFFFFFFF" alles aan, start00000000000 , je begrijpt het al, alles uit....
Dus ik dacht zal eens iets proberen in visual basic (6.0)
dus ik heb in een form zo'n MSComm neer gezet, en verder het volgende:
[code=visual basic]
Private Sub Form_Load()
' Fire Rx Event Every Two Bytes
'MSComm1.RThreshold = 2
' When Inputting Data, Input 2 Bytes at a time
'MSComm1.InputLen = 2
' 2400 Baud, No Parity, 8 Data Bits, 1 Stop Bit
MSComm1.Settings = "115200,N,8,1"
' Disable DTR
MSComm1.DTREnable = False
' Open COM1
MSComm1.CommPort = 4
MSComm1.PortOpen = True
End Sub
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
timmie
niet met me uitspraken(of opmerkingen) eens mail me.K8048 guide
verwacht je ontvanger(pic) geen CR en/of LF
komt trouwens bij dat je meer data in de mscomm buffer wil stoppen dan dat de buffer groot is.
@arco:
ik denk dat de comment neit klopt als je kijkt in zijn andere topic staat de pic ingesteld op 115k2 baud
Arjan Swets
cnc filmpjes op Http://www.arjan-swets.com
@arco: ja sorry commentaar vergeten aan te passen.... maar hij staat dus op 115200, sorry
@timmie: met het terminal programma werkt het wel, en daar zend ik alles als 1 string.. en wat is de buffer lengte?, en hoe lan mag en kan die zijn?
free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
Mscomm buffer is geen probleem. windows scaled dat ...
maar langs de pic kant is er wel een verschil.... de data zou wel eens te snel kunnen binnekomen...
Arjan Swets
cnc filmpjes op Http://www.arjan-swets.com
maar als het via een terminal programma wel goed gaat? dan moet ik het zlefde toch ook via visual basic voor elkaar kunnen krijgen?
hadv
Just find out what you like and let it kill you
Dat het via een terminal programma wel goed gaat is geen enkele garantie dat het dan in een eigenbouw programma ook goed gaat.
Neem dat van me aan, ik kan het weten, ik heb er ervaring mee (zucht).
Sterker nog...het terminal programma dat ik gebruik is geschreven in Delphi, ik schrijf ook in Delphi, maar ik krijg het voorlopig niet voor elkaar om te doen wat het terminal programma doet (nog een zucht, en dan een heeeeeeel diepe).
gradtje
Ja... en toen ?
Probeer eens de fifo-buffers van je comm device uit te zetten.
Apparaatbeheer->poorten->seriele poort en daar instellingen en dan knop geavanceerde instellingen.
Heb ooit eens iets gehad wat hier op lijkt.
Het enige wat mij opvalt je stuurt hier 1 en F met volgens mij de bedoeling deze als HEX waardes uit te sturen.
Echter met:
MSComm1.Output = "start111111111111111111111111111111111"
Stuur je deze code als ascii en wordt 1 dus het ascii equivalent ipv de waarde 00000001.
Ik weet niet of je hier rekening mee houdt?
Ik dacht dat je met de code char(te_zenden_data) opgelost kon worden maar dit weet ik niet zeker meer
Arjan Swets
cnc filmpjes op Http://www.arjan-swets.com
@hadv: nou ik heb in visual basic nog helemaal niets... alleen een knop die start111111111 verstuurd, en dat gaat al niet.... dus ik denk dat ik iets fout doet.....
@lethalshot: ja ik gebruik 2 bytes, om 1 getal te verzenden....
dit doe ik omdat ik anders niet weet hoe je bijvoorbeeld nul moet verzenden?
@gradtje: zal eens kijken, maar ik denk het niet dat dat het is, omdat nogmaals hij het via een terminalprogramma wel werkt, en ik gebruik de zelfde compoort... dus tja die doet het ....
Arjan Swets
cnc filmpjes op Http://www.arjan-swets.com
Heb nu in visual basic iets gemaakt welke de string uitlees dmv een MID$ in een for next lus... en verzend de data dus op die manier...
En dan gaat het wel goed....
dus anders gaat het te snel zeker?
Hoi Arjan
Ik heb in Excel vb wel iets gemaakt met zend byte
en ontvangst data.
ontvangst data was met start en stop byte
werkte altijd perfect op excel 2003
als je interesse heb je ik je dit wel toe sturen.
Hans