[ komodozmaj @ 19.06.2009. 20:41 ] @
Imam problem sa GUI-jem za prenos podataka preko COM porta (RS232) pisanim u C#, kako mojim, tako i tudjim resenjima. Sa prijemom, je sve u redu, a problem je sa slanjem gde do izvrsenja komande na UREDJAJU (matricni displej sa 8051uC) prodje tacno 10min! Probao sam stosta: 1) Po izdavanju komande za slanje - da iskljucim komunikacioni kabel (znaci, ne kasni PC sa slanjem), 2) Pravilno povezao SVIH 8 pinova na DB9 konektoru... i jos stosta sto mi je padalo na pamet. Komunikacija iz HyperTerminala, radi savrseno. Ista podesavanja COM porta sam primenio i u C#... Ima li neko ideju gde je greska? Spreman sam i da se adekvatno oduzim! Neiskusan sam u objektnom programiranju i C#
Kod:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace rs_zabac
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
serialPort1.Open();
serialPort1.Write("zabac");
serialPort1.Close();
}
}
}
[ Boško @ 20.06.2009. 15:47 ] @

Stavi Application.DoEvents() iza serialPort1.Open(), daj mu malo vremena da otvori port.

Razmisli o tome da port otvoriš na početku programa i držiš ga otvorenog sve vreme.
[ komodozmaj @ 20.06.2009. 20:21 ] @
Hvala na pomoci! Nazalost, nije se nista promenilo...
[ kloktor @ 20.06.2009. 21:04 ] @
Probaj da vidis ima li razlike u podacima koje salje tvoja aplikacija i hyperterminal. Instaliraj neki program za nadgledanje serijske komunikacije (npr. Serial Port Monitor od firme eltima) pa uporedi sta ko salje. Mozda se salje bajt po bajt a ne string.