ниже вы можете увидеть вывод моей программы. Пока мое устройство начинает загружаться, через последовательный порт я отправляю serialport1.write ("\ n");и я возглавил автобут.тогда я должен отправить три команды с командой serialport1.write.если поток спит перед командой, команды выполняются, но я вижу результат после выполнения команд.Я имею в виду, если я засну поток за 1 секунду до команд, для 3 команд я вижу результат в richtextbox через 3 секунды.Зачем?Есть ли другой хороший способ выполнения команд?мой код ниже.
КОД:
_data = _serialPort.ReadExisting();
if (_data.StartsWith("Hit"))
{
Thread.Sleep(1000);
_serialPort.Write("\n");
Thread.Sleep(200);
_serialPort.Write("set moviargs...\n");
Thread.Sleep(200);
_serialPort.Write("saveenv\n");
Thread.Sleep(200);
_serialPort.Write("boot\n");
}
ВЫХОД:
Нажмите любую клавишу, чтобы остановить автозагрузку: 3 2 1 0
SMDKV210 # set moviargs "setenv bootargs console = ttySAC2,115200 smsc95xx.macaddr = 00: 09: DF: 90: 00: 03"
SMDKV210 # saveenv
Сохранение среды в загрузочном SMDKустройство ...
готово
SMDKV210 # boot