Devvende tweakerts,
Ik zit mezelf hier weer eens op te vreten van ergernis. Ik probleer te communiceren met een Nokia 3310 over MBUS (v1).
Dwz. dat ding hangt met een datakabel aan een PC en dat werkt. Ik heb dat gecontroleerd met een progsel dat verspreid wordt onder de naam LogoManager Classic en dat progje heb ik samen met mijn kabel ingesteld M-Bus communicatie en wat logotjes uitgewisseld.
Als ik Hyperterminal openknal en mezelf bel op die GSM komenen er als een gek pakketjes binnen en HyperTerminal verkracht al die data naar ASCII karakters (vreemd genoeg steeds de letter P maar dat zal wel aan de coderings instellingen liggen).
Nu het probleem; ik wil de functionaliteit van die GSM gebruiken in een .NET applicatie. En dit is de eerste keer dat ik dit in .NET doe, normaal doe ik dit soort dingen in VB6 met een MsComm object, nooit problemen mee gehad. Maar wat me opvalt is dat ondanks alle instellingen van mijn SerialPort instance goed staan (baudrate, stop bits, data bits, pariteit etc.) de DataRecieved event alleen reraised wordt als ik zelf data schrijf (die komt vanzelf in mijn input buffer terecht vanwege het M-BUS princiepe). De data die dus van de bus zelf komt raised dus geen event!
Overigens gaat alles op byte niveau, geen ASCII codering in die pakketjes zoals bijvoorbeeld bij AT compateble GSM's of andere zooi.
Erger dan dat is dat welke methode om mijn data te benaderen van SerialPort ik ook gebruik... Ik kan alleen de data eruit halen die ik er zelf ingestopt heb! Ook als ik een aparte threat maak en een while loop los laat op die read methodes krijg ik geen data!
Iemand een idee waarom ik geen data krijg? Morgen probeer ik in VB6 als ik de CD meeneem van mijn werk, weet 99% zeker dat ik daar wel kan communiceren gezien HyperTerminal gewoon data krijgt en de ervaring die ik heb met Rs232 en VB6.
Moet ik toch naar een oplossing waar de oude DLL gewrapped is voor .NET of doe ik gewoon iets fout?
Ik zit mezelf hier weer eens op te vreten van ergernis. Ik probleer te communiceren met een Nokia 3310 over MBUS (v1).
Dwz. dat ding hangt met een datakabel aan een PC en dat werkt. Ik heb dat gecontroleerd met een progsel dat verspreid wordt onder de naam LogoManager Classic en dat progje heb ik samen met mijn kabel ingesteld M-Bus communicatie en wat logotjes uitgewisseld.
Als ik Hyperterminal openknal en mezelf bel op die GSM komenen er als een gek pakketjes binnen en HyperTerminal verkracht al die data naar ASCII karakters (vreemd genoeg steeds de letter P maar dat zal wel aan de coderings instellingen liggen).
Nu het probleem; ik wil de functionaliteit van die GSM gebruiken in een .NET applicatie. En dit is de eerste keer dat ik dit in .NET doe, normaal doe ik dit soort dingen in VB6 met een MsComm object, nooit problemen mee gehad. Maar wat me opvalt is dat ondanks alle instellingen van mijn SerialPort instance goed staan (baudrate, stop bits, data bits, pariteit etc.) de DataRecieved event alleen reraised wordt als ik zelf data schrijf (die komt vanzelf in mijn input buffer terecht vanwege het M-BUS princiepe). De data die dus van de bus zelf komt raised dus geen event!
Overigens gaat alles op byte niveau, geen ASCII codering in die pakketjes zoals bijvoorbeeld bij AT compateble GSM's of andere zooi.
Erger dan dat is dat welke methode om mijn data te benaderen van SerialPort ik ook gebruik... Ik kan alleen de data eruit halen die ik er zelf ingestopt heb! Ook als ik een aparte threat maak en een while loop los laat op die read methodes krijg ik geen data!
Iemand een idee waarom ik geen data krijg? Morgen probeer ik in VB6 als ik de CD meeneem van mijn werk, weet 99% zeker dat ik daar wel kan communiceren gezien HyperTerminal gewoon data krijgt en de ervaring die ik heb met Rs232 en VB6.
Moet ik toch naar een oplossing waar de oude DLL gewrapped is voor .NET of doe ik gewoon iets fout?