beste heren
ik moet voor school een applicatie schrijven die een of andere druktenk aanstuurt,
ik heb een ATmega32 die wat data naar de pc stuurt in de volgende context:
#klep$pomp$globale-druk$actuele-druk$
waarbij klep een 1 of 0 is (boolean), pomp ook, en de laatste 2 zijn int's.
nu heb ik al geprobeerd met "string.split" het in 4-en te knippen, maar om een of andere reden wil het niet lukken:
unsafe public void OntvangData(bool * klep, bool * pomp, int * globaledruk, int *actueledruk)
{
string data = sPort.ReadLine();
if(data.StartsWith("#"))
{
data = data.Replace("#", "");
string[] waarden = data.Split('$');
Console.WriteLine(data);
*klep = Convert.ToBoolean(waarden[0]);
*pomp = Convert.ToBoolean(waarden[1]);
*globaledruk = Convert.ToInt32(waarden[2]);
*actueledruk = Convert.ToInt32(waarden[3]);
}
ik wil dus de 4 waarden die in één regel worden overgepompt splitsen en in 4 variablen zetten (ze worden gescheiden door '$', het hekje heb ik er al uitgefilterd met [data = data.Replace("#", "");]
het hekje is om aan te geven welk dataformat ik wil verzenden.
weten jullie waarom de waardes niet correct worden toegekend?
ps: je kunt pointers gebruiken in C# door "unsafe" voor je methode te zetten, t werkt echter wel alleen binnen die [unsafe]-blokken.