Problem att sända seriellt från VB Express
sodjan. Ja, man är ju bra sugen!
Nu verkar det vara ordnat i alla fall.
Provade lite varianter och den här raden visade sig ge det resultat jag eftersökte.
.Encoding = System.Text.Encoding.Default
Provade alla kodningsalternativ som kom upp som alternativ och kände mig slutligen tvungen att prova Default. Trodde ju i min enfald att det var det värde som var "by Default", alltså det som jag redan suttit och frustat med, men så var det alltså inte.
Tack för hjälpen, allihop.
Sorry att jag schabblade med länken sodjan, fattar inte hur jag lyckades missa det.
Ha det bra!
/MVH
/Tottish
Nu verkar det vara ordnat i alla fall.
Provade lite varianter och den här raden visade sig ge det resultat jag eftersökte.
.Encoding = System.Text.Encoding.Default
Provade alla kodningsalternativ som kom upp som alternativ och kände mig slutligen tvungen att prova Default. Trodde ju i min enfald att det var det värde som var "by Default", alltså det som jag redan suttit och frustat med, men så var det alltså inte.

Tack för hjälpen, allihop.
Sorry att jag schabblade med länken sodjan, fattar inte hur jag lyckades missa det.
Ha det bra!
/MVH
/Tottish
Notera även att "Default" finns med här :
http://msdn.microsoft.com/en-us/library ... mbers.aspx
http://msdn.microsoft.com/en-us/library ... fault.aspx
"Default: Gets an encoding for the operating system's current ANSI code page."
Är det samma värden som de som du såg på skärmen ?
Ett problem måste väl vara om man ändrar "operating system's current ANSI code page".
Det borde ju finans ett läge som är oberoende av vad Windows jobbar med (för tillfället)...
http://msdn.microsoft.com/en-us/library ... mbers.aspx
http://msdn.microsoft.com/en-us/library ... fault.aspx
"Default: Gets an encoding for the operating system's current ANSI code page."
Är det samma värden som de som du såg på skärmen ?
Ett problem måste väl vara om man ändrar "operating system's current ANSI code page".
Det borde ju finans ett läge som är oberoende av vad Windows jobbar med (för tillfället)...
"Det borde ju finans ett läge som är oberoende av vad Windows jobbar med (för tillfället)..."
Ja, det skulle ju kännas tryggt. Är det troligt att man använder olika "ANSI code page" på olika maskiner?
"Är det samma värden som de som du såg på skärmen ? "
Av "properties" å var det bara de med den röda S-ikonen till vänster som kom upp i listan. Sen var det några "methods" också ca 5st.
MVH
/Tottish
Ja, det skulle ju kännas tryggt. Är det troligt att man använder olika "ANSI code page" på olika maskiner?
"Är det samma värden som de som du såg på skärmen ? "
Av "properties" å var det bara de med den röda S-ikonen till vänster som kom upp i listan. Sen var det några "methods" också ca 5st.
MVH
/Tottish
Testa com1.Encoding = Encoding.GetEncoding("iso-8859-1")
Edit: Missade visst att problemet redan var löst.. Det kanske dock är trevligare att hårdkoda en encoding som funkar, snarare än att förlita sig på det aktuella systemets default.
Se även http://blogs.msdn.com/bclteam/archive/2 ... 08377.aspx där de använder Encoding.GetEncoding(28591) för att peta ut 8-bitar via serieporten
Och ja, det röda S:et markerar mycket riktigt statiska members (static i c#, shared i vb.net)
Edit: Missade visst att problemet redan var löst.. Det kanske dock är trevligare att hårdkoda en encoding som funkar, snarare än att förlita sig på det aktuella systemets default.
Se även http://blogs.msdn.com/bclteam/archive/2 ... 08377.aspx där de använder Encoding.GetEncoding(28591) för att peta ut 8-bitar via serieporten
Och ja, det röda S:et markerar mycket riktigt statiska members (static i c#, shared i vb.net)
klaskent: (Välkommen till Forumet, skön nick!)
Detta är det närmsta som debuggern accepterar:
.Encoding = System.Text.Encoding.GetEncoding("iso-8859-1")
Detta ger dok en ganska funkig output mellan 127-255. Vissa siffror blev rätt och andra blev helgalna.
Samma sak med 28591, tyvärr.
Någon som vet hur jag kan kolla upp vad mitt OS (XP) kör för "ANSI Code Page"? Det verkar ju funka som jag vill med den i alla fall så om man visste vad den standarden hette så kunde man väl stoppa in den efter GetEncoding kanske?
EDIT: Nu! Hittade att Western European Standard Code Page hette Windows-1252 med ID-nummer 1252
Provade således raden:
.Encoding = System.Text.Encoding.GetEncoding(1252)
Och det gick alldeles utmärkt! Men visst var det väl konstigt att det skulle vara så mycket bök att få till det här?...
MVH
/Tottish
Detta är det närmsta som debuggern accepterar:
.Encoding = System.Text.Encoding.GetEncoding("iso-8859-1")
Detta ger dok en ganska funkig output mellan 127-255. Vissa siffror blev rätt och andra blev helgalna.
Samma sak med 28591, tyvärr.
Någon som vet hur jag kan kolla upp vad mitt OS (XP) kör för "ANSI Code Page"? Det verkar ju funka som jag vill med den i alla fall så om man visste vad den standarden hette så kunde man väl stoppa in den efter GetEncoding kanske?
EDIT: Nu! Hittade att Western European Standard Code Page hette Windows-1252 med ID-nummer 1252
Provade således raden:
.Encoding = System.Text.Encoding.GetEncoding(1252)
Och det gick alldeles utmärkt! Men visst var det väl konstigt att det skulle vara så mycket bök att få till det här?...
MVH
/Tottish
Zäta:
Jo det är möjligt men nu verkar problemet redan vara löst. Ser du någon fördel med den metoden du beskriver jämfört med det som jag googlade fram?
Kan testa det nästa gång jag är inne och ändrar programmet och har oscilloskopet igång. Just nu är jag väldigt trött på VB.NET programering.
I *heart* assembler!! =)
MVH
/Tottish
Jo det är möjligt men nu verkar problemet redan vara löst. Ser du någon fördel med den metoden du beskriver jämfört med det som jag googlade fram?
Kan testa det nästa gång jag är inne och ändrar programmet och har oscilloskopet igång. Just nu är jag väldigt trött på VB.NET programering.
I *heart* assembler!! =)
MVH
/Tottish