Zdravím vytvořil jsem aplikaci stopky s mcu ATmega16 a k ní mám připojený převodník na USB. Do mcu jsem vložil funkci na posílání času do PC:
[code]void odesli_cas(void) //cas
{
str_cas[10] = '\0';
str_cas[9] = '\n';
str_cas[8] = str_mil_sec[2];
str_cas[7] = str_mil_sec[1];
str_cas[6] = str_mil_sec[0];
str_cas[5] = ',';
str_cas[4] = str_sec[1];
str_cas[3] = str_sec[0];
str_cas[2] = ':';
str_cas[1] = str_min[1];
str_cas[0] = str_min[0];
uart_puts(str_cas); // pošli na COM
return;
}[/code]
a posílaný čas chci zobrazovat v nějaké okenní aplikaci napsané třeba v c# a řeším způsob jak dostat pouze jeden řádek času, když posílám čas přes funkci výše a pak to zobrazuji v nějakém labelu tak se to vypisuje jako do řádku pod sebe, prostě potřebuju odfiltrovat ostatní řádky a mít tam jen ten jeden s aktuálním časem.
kód v c#:
[code]private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) // přijatá data
{
RxString = serialPort1.ReadExisting();
//znak = serialPort1.Read(Char[11]);
//znak = serialPort1.ReadExisting();
this.Invoke(new EventHandler(DisplayText));
}
private void DisplayText(object sender, EventArgs e)
{
RXWINDOW.AppendText(RxString);
//cas.Text=(RxString);
/*znak = RxString.ToCharArray();
vypis = znak.ToString();
cas.Text=(vypis);
*/
}[/code]
úplně mě nenapadá nějaké řešení jak dostat jen ten jeden řádek