Код до этого работал, перестал после обновления на VS 2019.
Переменная:
public int sp_packetAvailable = 0; // Флаг завершения приема пакета
Кусок зависающего кода:
while (sp_packetAvailable == 0)
{
}
Стоит кнопка, которая открывает ком порт и принимает данные, если данные верные, ставится флаг:
sp_packetAvailable == 1
После этого бесконечный цикл прерывался и продолжалось выполнение кода. Но увы, данные получаю, флаг на 1 ставится, а цикл так и крутит. Повторюсь, перестало работать после перехода с 2017 на 2019.
AlexF прав, надо было использовать:
public volatile int sp_packetAvailable = 0;
Продвижение своими сайтами как стратегия роста и независимости