Op 17 november 2012 15:31:05 schreef bramvr:
hoe moet je 0x30 gewoon hrsout variabele *30 klinkt misschien dom
Dat dacht ik al, je ontvangt hex. Je andere terminalprogramma zal je wel ingesteld hebben dat die hex moet omzetten en in de VB niet.
Twee optie
Of je los past het aan in picbasic
Of je past het aan in VB zodat die hex naar dec omzet.
Zoek hoe je hex omzet naar dec en je bent er. Is weer hele algemene informatie die echt voor het oprapen ligt.
PS
Kan je helaas niet helpen met picbasic, gebruik geen pic en ook geen basic.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
bramvr
Elektronica werkt op rook, als de rook er uit is werkt het niet meer!!!
ik heb ter straks nog een even getest en wat me opviel was dat de cijfers die in het getal zaten wel weergegeven worden maar niet correct. Ik zal een voorbeeltje geven om te verduidelijken. Ik meet om de 2 sec de temperatuur en ik zend deze door bv 18.63°C stuur ik door als 1863 deze komt zo binnen 86 --> 2 sec --> 863 --> 2sec --> 3 --> 2 sec --> 1 --> ....... de volgorde en de samenstelling is altijd anders ik heb 1 keer de juiste temperatuur in mijn vb programma gezien maar dit zo altijd moeten zijn
In docklight is dit altijd correct dus het ligt niet aan de pic of communicatie maar aan het vb programma. Heeft dit iets te maken met die 0x01 en die 0x30?
Progger
GMT+1
lijkt erop of dat je je buffer verkeerd uitleest.
stuur je ook een regeleinde mee? (komt het in docklight netjes op een nieuwe regel?)
probeer eens serialport.readline ipv serialport.readexisting
Arjan Swets
cnc filmpjes op Http://www.arjan-swets.com
kijk ook even hier... voor visualbasic...
http://www.vbib.be/index.php?/topic/9375-hoe-een-leddisplay-aansturen/
bramvr
Elektronica werkt op rook, als de rook er uit is werkt het niet meer!!!
probeer eens serialport.readline ipv serialport.readexisting
Ik heb dit geprobeerd maar dan krijg ik helemaal niets meer.
Ik heb deze gewoon terug gezet en ik merk op dat de eerste keer dat ik een waarde door zend wel correct is maar de 2de waarde loopt het fout.
[Bericht gewijzigd door bramvr op (34%)]
Progger
GMT+1
Op 18 november 2012 19:26:15 schreef Progger:
lijkt erop of dat je je buffer verkeerd uitleest.
heb je al gecontroleerd of er regeleindes meekomen?
bramvr
Elektronica werkt op rook, als de rook er uit is werkt het niet meer!!!
Progger
GMT+1
geen regeleindes dus.
pas je codes eens aan: voeg een CRLF toe aan je bericht --> chr(13)+chr(10)
je hebt namelijk 2 opties:
-of de tijd tussen 2 berichten is zo lang dat er een time-out plaats vind.
-of er is een bericht scheiding (delimiter)
als je dat niet doet kan de pc niet weten hoeveel bytes er uit de buffer gelezen moeten worden. als je altijd 4 bytes leest kan het ook mis gaan als je ooit een byte verliest.
http://mc-computing.com/languages/CR_LF.htm
bramvr
Elektronica werkt op rook, als de rook er uit is werkt het niet meer!!!
Ik heb dit ingevoegd bij mijn µC maar helaas nog niet juist
. Soms krijg ik nu zelfs geen waarde te zien. In het begin is het altijd juist maar dan niet meer. Ik heb ook al geprobeerd om alleen de temperatuur te verzenden + $0A en ook één keer met temperatuur + $0D maar dit helpt ook niet
.
HRSOut Dec Temp, $0D0AProgger
GMT+1
tja, $0D0A is natuurlijk ook niet hetzelfde als $0D en $0A.
probeer eens de volgende code in je pic zonder iets anders:
For SPBRG=1 To 255
pause 1
HSerOut ["SPBRG=",Dec SPBRG,13,10] ' message
Nextals je dat in docklight binnen krijgt, dan kun je naar VB door gaan.
als dat werkt dan ga je iets nuttigs verzenden.
bramvr
Elektronica werkt op rook, als de rook er uit is werkt het niet meer!!!
Progger
GMT+1
sorry, dat van de baurate moet je natuurlijk niet weghalen, dat was onduidelijk van mij.
er moet dan komen:
SPBRG=1
SPBRG=2
SPBRG=3
...
SPBRG=255
met telkens een seconde tussen de berichten
bramvr
Elektronica werkt op rook, als de rook er uit is werkt het niet meer!!!
Op 17 november 2012 17:07:14 schreef Arco:
Hex en decimaal zijn hetzelfde... (alleen een kwestie van notatie.)
Je bedoelt hex naar ascii.
Nee hoor, en ze zijn niet hetzelfde rekenstelsel.
Hex(hexdecimaal) = 0 t/m f (0 t/m 15 in dec)
Dec(decimaal) = 0 t/m 9
Hexadecimaal betekend letterlijk 16, decimaal betekend letterlijk 10. Op die manier kan je niet vergissen.
bramvr
Elektronica werkt op rook, als de rook er uit is werkt het niet meer!!!
Ik heb dit programma en ik krijg dit in docklight. (ik kijk bij ascii) ik werk met een r232 --> usb converter ik weet niet of dit er iets mee te maken heeft.
Device = 16F887
@CONFIG_REQ
@__CONFIG _CONFIG1, DEBUG_OFF & LVP_OFF & FCMEN_OFF & IESO_OFF & BOR_on & CPD_OFF & CP_OFF & MCLRE_OFF & PWRTE_ON & WDT_OFF & HS_OSC
@__CONFIG _CONFIG2, WRT_OFF & BOR21V
XTAL 20
ALL_DIGITAL TRUE
HSERIAL_BAUD = 19200 ' baud rate is 19200
HSERIAL_RCSTA = %10010000 ' laat de USART voortdurend ontvangen
HSERIAL_TXSTA = %00100000 ' zorgt dat de USART kan verzenden
HSERIAL_CLEAR = On
For SPBRG=1 To 255
DelayMS 1000
HSerOut ["SPBRG=",Dec SPBRG,13,10] ' message
Nexthttp://www.uploadarchief.net/files/download/docklight2111.ajpg.jpg
Moet je niet inverterend verzenden naar je MAX232?
Uit de help van proton:
You should remember that when using a line transceiver such as the MAX232, the serial mode (polarity) is inverted in the process of converting the signal levels, however, if using the direct connection, the mode is untouched. This is the single most common cause of errors when connecting serial devices, therefore you must make allowances for this within your software.
Progger
GMT+1
raar, ik zie netjes:
..rotzooi..<CR><LF>
SPBRG=15<CR><LF>
SPBRG=16..rotzooi...
dus soms komt het door, en daarna komt het niet door.
dus de polariteit zal wel goed zitten, maar toon eens een plaatje van je print. ziet er naar uit dat je erg veel storing oppikt.
bramvr
Elektronica werkt op rook, als de rook er uit is werkt het niet meer!!!
Maar hoe komt het dan dat als ik een waarde naar docklight stuur deze wel mooi aankomt (zonder storingen). Kan het zijn dat ik mijn configates van mijn µC met dat programma van jou een beetje moet aanpassen? Of zit de bautrate niet goed ik heb deze maar willekeurig gekozen.
Progger
GMT+1
Op 21 november 2012 20:08:46 schreef bramvr:
http://www.uploadarchief.net/files/download/docklight2111.ajpg.jpg
vind je dit zonder storingen? van de ~300 karakters zijn er 15 goed.
baudrate maakt niet enorm uit, als ze maar op pc en PIC hetzelfde zijn.
ze moeten wel uit het onderstaande lijstje komen, veel hardware kan geen andere snelheden aan die hieronder staan.
lager is beter. dat heeft te maken met het delen van de klok. je hebt altijd een afwijking, en hoe lager de snelheid hoe hoger de afwijking mag zijn voordat het misgaat.
wat voor kristal heb je? hoe ziet je print eruit?
300 <- héél vroeger gingen ze nog langzamer
600
1200
2400
4800 <- minimum wat tegenwoordig gebruikt word (NMEA houd dit aan)
9600 <- meeste gebruikt, veel GPS ondersteunen dit ook wel
19200 <- veel microcontrollers kunnen dit zonder veel problemen.
38400
bramvr
Elektronica werkt op rook, als de rook er uit is werkt het niet meer!!!
Ik bedoel als ik gewoon de temperatuur naar docklight stuur is deze altijd goed. Enkel met dat programmaatje van jou gaat het mis. Ik gebruik een kristal van 20MHz en ik heb nu als bautrate 19200. En foto van de print nemen is nu momenteel niet mogelijk mijn excuses.
Progger
GMT+1
hmm, das apart..
dus bij jouw eigen programma staat er altijd 178617861786 zonder rare tekens? ook niet als je hem een tijdje laat lopen?
en dan gebruik je deze code?
Op 11 november 2012 16:25:25 schreef bramvr:
HRSOUT Dec Temp, Dec Ingangen, Dec UitgangenDe variabelen zijn wel word variabelen
het kan zijn omdat mijn voorbeeld HSerOut ipv HRSOUT gebruikte.
wat gebeurt er als je alleen in jouw code dit aanpast:
HRSOUT Dec Temp, Dec Ingangen, Dec Uitgangen
wordt:
HRSOUT Dec Temp, Dec Ingangen, Dec Uitgangen,13,10bramvr
Elektronica werkt op rook, als de rook er uit is werkt het niet meer!!!
Ik krijg nu dit met dit stukje code. Maar helaas in vb blijft het probleem aanhouden. Ik heb ook dat stukje code van jou aangepast naar HRSOUT maar de rare dingen blijven.
HRSOut Dec Temp,13,10http://www.uploadarchief.net/files/download/docklight2611.jpg
bramvr
Elektronica werkt op rook, als de rook er uit is werkt het niet meer!!!
bramvr
Elektronica werkt op rook, als de rook er uit is werkt het niet meer!!!