Easyelectronics.ru

Электроника для всех
Текущее время: 15 окт 2019, 07:27

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Помогите разобраться с trackbar в visual c#...
СообщениеДобавлено: 27 сен 2015, 01:09 
Только пришел

Зарегистрирован: 18 ноя 2014, 03:59
Сообщения: 12
Откуда: Южноуральск
Привет всем! Подскажите, пожалуйста, в чем ошибка. Попробовал добавить ползунок (trackbar), а он работает как-то не правильно по com. Когда перемещаю его, яркость на лампе добавляется и убавляется, но с морганием на каждом делении, а когда останавливаю ползунок лампа вообще тухнет. Т.е. работает нормально только в движении. Уже в голове каша, какой час исправить это не могу...

Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться с trackbar в visual c#...
СообщениеДобавлено: 27 сен 2015, 08:58 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 23 май 2015, 11:06
Сообщения: 90
Откуда: Мирный (Якутия)
Проблемы скорее на приёмной стороне...
Или не соблюдается протокол обмена.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться с trackbar в visual c#...
СообщениеДобавлено: 27 сен 2015, 09:30 
Заглядывает иногда

Зарегистрирован: 10 май 2011, 12:39
Сообщения: 72
Откуда: Ижевск
Передаете данные во время перемещения ползунка. А на приемной стороне, надо полагать, ждете посылку. Вот и получается - как только остановили ползунок передача закончилась, а приемная сторона ничего, кроме ожидания посылки, не делает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться с trackbar в visual c#...
СообщениеДобавлено: 27 сен 2015, 11:28 
Старожил
Аватара пользователя

Зарегистрирован: 06 янв 2012, 18:49
Сообщения: 802
Откуда: Новый Уренгой
Используй метод serialPort1.Write(a);
Т.к. serialPort1.WriteLine(a) означает передать в порт строку с символам окончания строки. Из-за чего вероятнее всего последний байт 0x00.
Поэтому и получается пока движешь ползунок в компорт идет последовательность байтов 10, 0, 15,0 20,0 и т.д. из-за чего получается морцание....

_________________
selenur.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться с trackbar в visual c#...
СообщениеДобавлено: 27 сен 2015, 13:10 
Только пришел

Зарегистрирован: 18 ноя 2014, 03:59
Сообщения: 12
Откуда: Южноуральск
selenur писал(а):
Используй метод serialPort1.Write(a);

С этим уже разобрался, но все равно спасибо. Теперь проблема другая, чтение с порта:
Show

так выводятся числа 0, 4 и редко 8. Хотя должно быть 23.
Пробовал еще так, но выводит все накопленные байты , если правильно понимаю
Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться с trackbar в visual c#...
СообщениеДобавлено: 27 сен 2015, 13:17 
Старожил
Аватара пользователя

Зарегистрирован: 06 янв 2012, 18:49
Сообщения: 802
Откуда: Новый Уренгой
На строке "label1.Text = Convert.ToString(intBytes);" поставь остановку(паузу/бряк), и покажи содержимое массива bytes, это позволит точно понять что тебе приходит, и как сконвертируется в итоге.

_________________
selenur.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться с trackbar в visual c#...
СообщениеДобавлено: 27 сен 2015, 13:57 
Только пришел

Зарегистрирован: 18 ноя 2014, 03:59
Сообщения: 12
Откуда: Южноуральск
selenur писал(а):
На строке "label1.Text = Convert.ToString(intBytes);" поставь остановку(паузу/бряк), и покажи содержимое массива bytes, это позволит точно понять что тебе приходит, и как сконвертируется в итоге.


Приходит вот такой набор 04044044044044044044044044044044044... Это с паузой в 100мс. Вообще уже ничего не пойму.

Прошил контроллер только на отправку 1 каждые 100мс, так приходит 3 с этой задержкой...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться с trackbar в visual c#...
СообщениеДобавлено: 27 сен 2015, 16:16 
Старожил
Аватара пользователя

Зарегистрирован: 06 янв 2012, 18:49
Сообщения: 802
Откуда: Новый Уренгой
я правильно понимаю приходит последовательность 0х04 0х04 0х40 и т.д....
выложи код посылки

_________________
selenur.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться с trackbar в visual c#...
СообщениеДобавлено: 27 сен 2015, 17:53 
Только пришел

Зарегистрирован: 18 ноя 2014, 03:59
Сообщения: 12
Откуда: Южноуральск
Решил задачку таким образом:
Show


единственное, что не нравится, так это таймер. Когда ставлю 1сек, форма не подвисает, но градусы отображаются с запозданием. А вот ставлю меньше 1сек, форма подвисает но градусы меняются моментально...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться с trackbar в visual c#...
СообщениеДобавлено: 27 сен 2015, 18:44 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 21:48
Сообщения: 3965
Откуда: Звенигород
У сериала есть событие по накоплению в приемном буфере определенного количества байт. Лучше его использовать.
Хотя на каких-то версиях студии оно у меня работало не совсем корректно.

_________________
От Парижа до Находки с водкой лучше, чем без водки!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите разобраться с trackbar в visual c#...
СообщениеДобавлено: 27 сен 2015, 18:54 
Старожил
Аватара пользователя

Зарегистрирован: 06 янв 2012, 18:49
Сообщения: 802
Откуда: Новый Уренгой
При работе с ком-портом, правильнее использовать его событие при получении новых данных, которое в определенную переменную пишет полученные данные. А таймером обновлять данные в label из этой переменной.
Использование в C# таймера очень похоже на использование прерываний в микроконтроллере, когда при вызове прерывания нужно быстро выполнить задачу и выйти, а в твоем случае readline() останавливает работу всей программы до тех пор пока с ком-порта не будут получены данные и символ окончания строки 0х00.
Если по каким либо причинам с ком-порта не прийдет байт 0х00, то твоя программа зависнет навсегда!

_________________
selenur.ru


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB