Avatar
juraj
Člen
Avatar
juraj:

Ahojte.

Snazim sa zobrazit vystup (poziciu krokoveho motora) zo serioveho portu pomocou thto kodu:

using System;
using System.Collec­tions.Generic;
using System.Linq;
using System.Text;
using System.IO.Ports;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{

SerialPort sp = new SerialPort();
sp.PortName = "COM1";
sp.BaudRate = 9600;
sp.Open();

if (sp.IsOpen)
{
sp.Write("ENA;"); //zapnutie motora
sp.Write("POS;"); //ziskanie polohy
sp.Encoding = Encoding.GetEn­coding(28591);
string msg = sp.ReadExisting();

Console.Write(msg);
sp.Write("OFF;"); //vypnutie motora
sp.Close();
Console.ReadKey();
}

}
}
}

Problem je ale vo vystupe. Ocakavam nejaku zmysluplnu hodnotu v podobe cisla mne to tam vsak ukaze pismeno "a" niekody nic a niekedy "a ly".
Cital som ze to ze sa mi nekedy znaky neukazu moze byt v tom ze sa nestihnu nacitat a tak nemam co zobrazit (ako to osetrit?)
a tie znaky namiesto cisla to bude asi preto ze ten vystup musim nejako upravit ale ako?


C# sa ucim nejakych 10 dni :)

 
Odpovědět 5.7.2013 12:14
Avatar
juraj
Člen
Avatar
Odpovídá na juraj
juraj:

je vystup v HEX podobe? asi ano ale ako na cislo?

 
Nahoru Odpovědět 5.7.2013 12:45
Avatar
juraj
Člen
Avatar
juraj:

a teraz toto
"a ⌂▲ yI ° y"

 
Nahoru Odpovědět 5.7.2013 12:55
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.