COMUNICACAO PORTA SERIAL COM1

NALDOXD 19/02/2013 17:10:01
#419362
Boa tarde pessoal, estou com sérios problemas, nenhuma das minhas aplicações estão conseguindo ler a porta serial enquanto o huper terminal le normalmente, meu código em c#:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;

namespace Serial
{
public partial class Form1 : Form
{
SerialPort Serial = new SerialPort();

public Form1()
{
InitializeComponent();

Serial.DataReceived += new SerialDataReceivedEventHandler(Serial_DataReceived);

Conexao();
}

void Serial_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
listBox1.Invoke(new EventHandler(delegate
{
listBox1.Items.Add(Serial.ReadExisting());
}));
}
catch (Exception)
{
throw;
}
}

private void btnConexao_Click(object sender, EventArgs e)
{
Conexao();
}

private void Conexao()
{
try
{
if (!Serial.IsOpen)
{
Serial.PortName = [Ô]COM1[Ô];
Serial.BaudRate = 9600;
Serial.Parity = Parity.None;
Serial.StopBits = StopBits.One;
Serial.DataBits = 8;
Serial.Handshake = Handshake.None;
Serial.Open();
btnConexao.Text = [Ô]Desconectar[Ô];
}
else
{
Serial.Close();
btnConexao.Text = [Ô]Conectar[Ô];
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
btnConexao.Text = [Ô]Con/Des[Ô];
}
}

private void button2_Click(object sender, EventArgs e)
{
try
{
listBox1.Invoke(new EventHandler(delegate
{
listBox1.Items.Add(Serial.ReadExisting());
}));
}
catch (Exception)
{
throw;
}
}

private void button3_Click(object sender, EventArgs e)
{
Serial.Write([Ô]Teste[Ô]);
}
}
}

Criei o evento e nada, alguem por favor me ajude...
SABIDAOXD 16/04/2013 04:26:36
#421990
// Escreve um byte no endereço
[DllImport([Ô]Inpout32.dll[Ô], EntryPoint=[Ô]Out32[Ô])]
public static extern void Escrever(int endereco, byte valor);

// Lê um byte do endereço
[DllImport([Ô]Inpout32.dll[Ô], EntryPoint=[Ô]Inp32[Ô])]
public static extern byte Ler(int endereco);
}

ai vc usa

Paralela.Escrever(endereco,dados); endereço é inteiro e dados é byte aonde endereço seria o endereço da porta papalela

a mesma rotina se aplica a ler
Faça seu login para responder