Avatar billede onkel_satan Nybegynder
19. januar 2006 - 12:03 Der er 2 løsninger

Send værdier under 0x20 gennnem seriel porten

Har et c# program som kommunikere med en MIC over seriel porten. For at bruge seriel porten har jeg brugt MSComm.ocx som kommer med VB6.
Det fungere også fint nok men faar en exception naar jeg sender værider unden for ascii, altsaa værider under 0x20;
Nogen der ved hvorfor dette sker ?
Avatar billede medions Nybegynder
19. januar 2006 - 12:25 #1
brug denne:

public void Write()
{
    string strCommand = strAppender;
    IntPtr ptr = CreateFile("LPT1", GENERIC_WRITE, 0,
  IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero);

    if (ptr.ToInt32() == -1)
    {
        Marshal.ThrowExceptionForHR(Marshal.GetLastWin32Error());
    }
    else
    {
        string str;
        System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();

        char[] prnCmdCut = {(char)27, (char)100, (char)51};
   
        FileStream lpt = new FileStream(ptr,FileAccess.ReadWrite);
        //Byte[] Buff = new Byte[1024];
        Byte[] Buff = new Byte[strCommand.Length];

   
        //Buff = System.Text.Encoding.UTF7.GetBytes(strCommand);
        //-Buff = System.Text.Encoding.ASCII.GetBytes(strCommand);
        //Buff = System.Text.Encoding.Unicode.GetBytes(strCommand);
       
        for(int i=0;i<strCommand.Length;i++)
        {
            Buff[i] = (byte)strCommand[i];
        }
       
        lpt.Write(Buff,0,Buff.Length);
       
        str = enc.GetString(Buff);
        //MessageBox.Show(str);
       
        Buff = System.Text.Encoding.ASCII.GetBytes(prnCmdCut);
        lpt.Write(Buff,0,Buff.Length);
       
        lpt.Close();
    }
}

//>Rune
Avatar billede medions Nybegynder
29. marts 2006 - 22:54 #2
Lukketid?

//>Rune
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester