Я никогда не осуществлял последовательную связь с MFC, но я не думаю, что SetTimer - это путь.Эти таймеры очень ненадежны.Когда вы устанавливаете 50 мс, то, что вы на самом деле говорите, это «отметьте не раньше, чем 50 мс», но это может быть 50, 55, 500 или что-то еще, в зависимости от того, что делает компьютер (и разрешение таймера системы).Ваше приложение будет получать сообщения WM_TIMER каждый раз, когда указанное время истекло , а в очереди сообщений нет других сообщений.Таким образом, если пользователь перемещает мышь, сообщение будет «поздно».
Кроме того, я не знаю, сколько времени занимают эти функции Write_X, но вы не должны делать длинные вещи в обработчике таймера, иначе вы пропустите тики (что может быть тем, что происходит).
Тем не менее, если вам действительно нужна непрерывная отправка статуса ползунка (или каких-либо данных, которые вам нужно отправить), вы должны найти способ делать это непрерывно, не основываясь на таймере.Я имею в виду, найти способ отправить ваши данные и, когда закончите, уведомить ваше приложение или поток отправителя, и начать отправку снова.Но я не совсем уверен, как это сделать.