| Делимся опытом Наступив на грабли - сообщи другим! Обмен опытом разработки и ремонта электронных устройств. |
Как научиться писать ПО под Win?
12.08.2011, 11:53
|
|
|
Гражданин KAZUS.RUN
Регистрация: 21.02.2007
Сообщений: 553
Сказал спасибо: 38
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Как научиться писать ПО под Win?
Сообщение от avp94
|
Доступ, это конечно хорошо . Но приведите пример компонента из любой среды программирования или хотя бы подход к решению задачи к реализации частички протокола Modbus RTU, где требуется определять время между кадрами (единичными посылками) для принятия решения о годности фрейма (годен/не годен). Если время между кадрами меньше чем 1.5 длительности кадра то годен, если больше - не годен.
Для частоты передачи 115000 бит/сек критический интервал времени составит: 1.5 * 11 / 115000 = 0.1435 мс. Слабо?
|
А кто вам сказал что какой то компонент должен реализовывать подсчеты?
Сами напишите. Что за число 11. откда взяли? Длина фрейма постоянная?
Среда C# Express, компонент - SerialPort.
У компонента есть событие приема данных. Если длина постоянная ставите ее в порог и ждете. Каждое событие сбрасывает какой нибудь глобальный таймер, проверяя при этом период прихода пакета.
Только задача ни к месту. Вам нужно более точное устройство, чем компьютер, работающее на более высоких скоростях, и независимый таймер.
Вот где то так. А вообще данная задачка на уровне первого класса.
|
|
|
|
12.08.2011, 11:57
|
|
|
Гражданин KAZUS.RUN
Регистрация: 21.02.2007
Сообщений: 553
Сказал спасибо: 38
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Как научиться писать ПО под Win?
Сообщение от кустомер
|
Замечательный компонент, но его применение пускает нафик всю переносимость.
Потому что, если на компе пользователя уже стоит какая-нить программа, уже использующая этот компонент (другой версии), то моя начнет ругаться и требовать обновить компонент,- после чего перестанет работать или начнет глючить та, прежняя прога.
|
Бред чистой воды. Программа использующая .NET всего навсего попросит установить те библиотеки которые указаны в целевой платформе проекта.
А вообще компонент для работы программы на другом компе ставить не нужно. Впервые про такое слышу.
|
|
|
|
12.08.2011, 12:14
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 29.12.2009
Сообщений: 4,380
Сказал спасибо: 608
Сказали Спасибо 1,720 раз(а) в 918 сообщении(ях)
|
Re: Как научиться писать ПО под Win?
Сообщение от worldmasters
|
|
Бред чистой воды.
|
Вот зачем обзываться, а? Некрасиво, уважаемый!
Я же русским языком написал, что лично налетел на этот конфликт компонентов. Писалось на VB6.0. Оба вместе одноименных компонента (но разных версий) так и не установились, чо я только ни делал.
("Устанавливаться" - в смысле регистрировать компонент, если говорить точно. И вот регистрировался или только один, или только другой, но никак не оба  )
С тех пор компонентами (особенно - стандартными!!) не пользуюсь. Всё достигаю написанием кода.
Сообщение от aleksandr-zh
|
ПАРНИ!
про МК не надо раздувать тему:
ПИКи программирую на PICBasic,
|
Только самый маленький вопрос: у PICBasic действительно глюки с массивами, или это у меня версия кривая?
Последний раз редактировалось кустомер; 12.08.2011 в 12:17.
|
|
|
|
12.08.2011, 12:17
|
|
|
Гражданин KAZUS.RUN
Регистрация: 21.02.2007
Сообщений: 553
Сказал спасибо: 38
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Как научиться писать ПО под Win?
Сообщение от кустомер
|
|
Микрософт, как обычно, сделала всё, чтоб нормально пользоваться было низзя((((( Я реально нарвался на такое. Усилия примирить их не увенчались успехом. Пришлось обращться к COM через АПИ. Пока расшифровал проклятущую DCB - не один волос поседел, блин. В нетовских пособиях про нее - ошибок полно, ничо не работает... Тьфу; как вспомню, так - вздрогну.
|
В корне с Вами не согласен. Пример в студию. Что за среда, что за компонент, код работы и конкретно сообщения об ошибках с проблемного компа.
Мне вот тоже Микрософт не очень нравится, но не надо на них гнать. Ребята зарабатывают бабки всеми доступными способами. И они немало усилий приложили чтобы создать ВСЁ чем ВЫ пользуетесь в той или иной мере для разработки своих проектов.
Не понимаю людей которые хаят всех и вся.. что тут неудобно работать или там... однако пользуются все программами той же микрософт.
|
|
|
|
Сказали "Спасибо" worldmasters
|
|
|
12.08.2011, 12:18
|
|
|
Гражданин KAZUS.RUN
Регистрация: 21.02.2007
Сообщений: 553
Сказал спасибо: 38
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Как научиться писать ПО под Win?
Сообщение от кустомер
|
|
Вот зачем обзываться, а? Некрасиво, уважаемый!
|
Не обзывался ни разу . 
Давайте пример, вместе разберем.
|
|
|
|
12.08.2011, 12:32
|
|
|
Гражданин KAZUS.RUN
Регистрация: 03.12.2004
Сообщений: 932
Сказал спасибо: 822
Сказали Спасибо 609 раз(а) в 216 сообщении(ях)
|
Re: Как научиться писать ПО под Win?
Сообщение от кустомер
|
...
Только самый маленький вопрос: у PICBasic действительно глюки с массивами, или это у меня версия кривая?
|
у меня версия 2.60
Массивы не проверял - не было необходимости
Да и ПИКи я стараюсь не применять - с АВР мне намного удобнее и комфортнее
|
|
|
|
12.08.2011, 12:35
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 29.12.2009
Сообщений: 4,380
Сказал спасибо: 608
Сказали Спасибо 1,720 раз(а) в 918 сообщении(ях)
|
Re: Как научиться писать ПО под Win?
worldmasters,
Ну я же написал: среда VB6.0, контрол как раз тот самый, который управляет COM, из родного комплекта VB6.0.
А про второй уже не скажу - дело решено полтора года назад; не идти же мне теперь в ту лабораторию и не грить: "остановите работу, я в вашем компе покопаюсь, воспроизведу какое было сообщение об ошибке". Пошлют далеко и надолго
Последний раз редактировалось кустомер; 12.08.2011 в 12:40.
|
|
|
|
12.08.2011, 12:55
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 26.01.2007
Сообщений: 3,116
Сказал спасибо: 61
Сказали Спасибо 1,151 раз(а) в 623 сообщении(ях)
|
Re: Как научиться писать ПО под Win?
Сообщение от worldmasters
|
|
А кто вам сказал что какой то компонент должен реализовывать подсчеты?
|
А я и написал, что доступ это хорошо, но ...
Никто никому не должен, нужна функция (или свойство), но ее (его) в компанентах нет.
|
Цитата:
|
|
Что за число 11. откда взяли?
|
:-стартовый бит + 8 бит данных + бит контроля чётности + стоп-бит
:- из стандарта протокола (один из возможных для RS-232)
|
Цитата:
|
|
Длина фрейма постоянная?
|
Переменная
|
Цитата:
|
Среда C# Express, компонент - SerialPort.
У компонента есть событие приема данных. Если длина постоянная ставите ее в порог и ждете. Каждое событие сбрасывает какой нибудь глобальный таймер, проверяя при этом период прихода пакета.
Вот где то так. А вообще данная задачка на уровне первого класса.
|
Длина кадра естественно постоянная, а фрейма нет.Если Вы пишете про уровень первого класса, то Ваш наверняка выше и Вы знаете, что разрешение таймера (который используется в компонентах) в лучшем случае 1мс (что такое глобальный таймер в windows я не знаю  , но про вызовы API QueryPerformanceCounter, QueryPerformanceFrequency в курсе). Так же должны знать (в силу своего уровня), что время между отправкой и принятием сообщения есть величина не постоянная. 
Да и если работа с потоками это первый класс, что изучают во втором? 
P.S. Следует вспомнить, что все началось с "СОМ порт в нынешнее время стал настолько изученным что врядли найдется среда в которой небыло бы компоненты для доступа к нему" и "Доступ, это конечно хорошо, но мало".
|
|
|
|
12.08.2011, 13:12
|
|
|
Гражданин KAZUS.RUN
Регистрация: 21.02.2007
Сообщений: 553
Сказал спасибо: 38
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Как научиться писать ПО под Win?
Сообщение от avp94
|
|
что время между отправкой и принятием сообщения есть величина не постоянная.
|
Так и я говорю что данную задачу следует реализовывать на более точном и быстром устройстве. На микроконтроллере например. он там все проверит, время отсчитает точнее чем комп, и передаст результат в компьютер.
ЗЫ. Судя по вашему ответу фраза про классы Вас сильно зацепила? Что в каком классе изучают это не более чем метафора. Не стоит к ней так сильно цепляться..
На самом деле я хотел лишь показать что задача не так уж и сложна если к ней подойти внимательнее.
Качественное изучение предметной области существенно облегчает жизнь.
|
|
|
|
12.08.2011, 13:13
|
|
|
Гражданин KAZUS.RUN
Регистрация: 21.02.2007
Сообщений: 553
Сказал спасибо: 38
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
|
Re: Как научиться писать ПО под Win?
Сообщение от avp94
|
|
P.S. Следует вспомнить, что все началось с "СОМ порт в нынешнее время стал ...
|
На самом деле все началось с хорошего желания aleksandr-zh научится писать программы для ПК, под Win.
|
|
|
|
Сказали "Спасибо" worldmasters
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:13.
|
|