kalobyte, DS-датчик в отличие от простого программатора, использует порт по прямому назначению, т. е. обмен данными на стандартных скоростях через линии TXD и RXD. Дополнительные линии порта не участвуют в обмене данными. Поэтому будет работать не только с "железным" портом, но и его эмуляторами, типа USB-UART.
так у него же свой протокол, не юарт там свои тайминги и формат битов я что-то не видел, чтобы этот датчик висел на юарт выводах у мк, обычно берут любой вывод и таймер
_________________ тематические ответы только в форуме, в приват не пишите
Открыта удобная площадка с выгодными ценами, поставляющая весь ассортимент продукции, производимой компанией MEAN WELL – от завоевавших популярность и известных на рынке изделий до новинок. MEAN WELL.Market предоставляет гарантийную и сервисную поддержку, удобный подбор продукции, оперативную доставку по России.
На сайте интернет-магазина посетители смогут найти обзоры, интересные статьи о применении, максимальный объем технических сведений.
Всем день добрый, за выходные стало проясняться с работой COM, решил начать собирать схему: конечно вместо 595 будут стоять светодиоды пока, что.... Потом поставлю 155тм2 буду её мучать
Нашёл под с++ код как дёргать за ноги com но можете пояснить немного код особенно по ногам - какие ноги дёргаем именно, куски кода отвечают за это.... Не получилось связаться с автором поста на форуме т.к посту 5 лет уже.
ct.ReadTotalTimeoutConstant=2000; //чтение файла произаодиться не более 2с иначе завершение чтения ct.ReadIntervalTimeout=10; ct.ReadTotalTimeoutMultiplier=0; ct.WriteTotalTimeoutMultiplier=ct.WriteTotalTimeoutConstant=0;
buf_in=(char*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,strlen(buf_out)+1); WriteFile(hFile,buf_out,strlen(buf_out),&bc,NULL); if (ReadFile(hFile,buf_in,strlen(buf_out),&bc,NULL))
Продукция MOSO предназначена в основном для индустриальных приложений, использует инновационные решения на основе более 200 собственных патентов для силовой электроники и соответствует международным стандартам. LED-драйверы MOSO применяются в системах наружного освещения разных отраслей, включая промышленность, сельское хозяйство, транспорт и железную дорогу. В ряде серий реализована возможность дистанционного контроля и программирования работы по заданному сценарию. Разберем решения MOSO
подробнее>>
Это уже нестандартное использование порта. Может не работать с USB to UART. - на это до лампочки, всё ровно на первых парах буду юзать плату COM - если не изменяет память драйвер com+lpt называется, на неё 2COM и 1-lpt порт....
gdoom писал(а):
Нашёл под с++
Код точно для этой схемы?
нет код левый, но там как я понял опрос и подача сигнала на ножки com порта, то что и требуется - первое, что подача сигнала только - т.к для приёма передачи в дальнейшем буду юзать max232
Есть у меня программа, которая передает данные подобным образом. Немного подправил ее (был некоторый не нужный в данной схеме функционал). Может пригодится.
нет код левый, но там как я понял опрос и подача сигнала на ножки com порта
как раз таки нету там никакой подачи никогда не бери левый код, если он привязан к железу и ты лично не запустил пример и пример отработал как надо только тогда можно использовать куски для себя
то что ты делаеш - нестандартное использование порта, от которого я и предупреждал тебя этот режим называется bit bang или манипуляция выводами, когда реализуется какой-то последовательный синхронный протокол через жопу жопа тут в том, что тайминги не выдерживаются, т.к. виндовс не является системой реального времени особенно это будет заметно при получении данных извне если зажесь светодиоды в регистре - гавно вопрос, то получить поток байт уже будет куда сложнее
поэтому ком порт используется как аппаратный модуль, в нем уже заложен протокол передачи и синхронизации, а так же учета ошибок и все это на железном уровне тебе надо просто тупо читать или писать в порт, а модуль юарт сам сгенерирует нужные сигналы и передаст в юарт порт на стороне контроллера
поэтому там используются только 2 и 3 выводы
_________________ тематические ответы только в форуме, в приват не пишите
Есть у меня программа, которая передает данные подобным образом. Немного подправил ее (был некоторый не нужный в данной схеме функционал). Может пригодится.
спасибо покапаю
блин открыл - это на vb что ли писал? на с++ нету примера?
У меня есть на паскале, писано в дельфи. Но выкладывать не буду, ибо уже представляю этакий кисляк в ответ "чО ж не на С++" ? Дружище, даташит в руки, алгоритм работы там примитивный. А дальше - хоть на брэйнфаке.
у меня на сцайте есть пример на сях для управления регистром 595 тебе надо только там вместо пинов контроллера поставить функции управления конкретными пинами типа дтр, которые на схеме обозначены
я мог получать данные с кажем с датчика температуры
С какого? Например DS18B20? Можете посмотреть журнал Радио №1 2015. Там есть статья о работе с подобными датчиками через COM порт (в т. ч. виртуальный). Компонент приложения используемый в статье. ftp://ftp.radio.ru/pub/2015/01/OWire.zip Его можно подключить к проекту VS и использовать для чтения температуры. Преимущество в том что не нужно знать как работать с COM портом и датчиком. Все это берет на себя компонент. А если все же хочется разобраться как это работает, можно посмотреть исходник компонента - файл OWire_Module.pbi находящийся в папке Library\Src.
gdoom писал(а):
USB пока сложновато...
Ну я бы так не сказал бы. Смотрите журнал Радио №4 2011. Там есть статья о работе с USB HID, а также компонент приложения, который сможете подключить к проекту VS C++.
Скачал по ссылке все три файла с расширениями .dll, .exp, .lib. Как установить библиотеку? Это и есть библиотека?
Библиотеку устанавливать не нужно. Ее функции следует вызывать из своего приложения. Файл dll это и есть библиотека функций. Файл lib содержит в себе данные для статического импорта. Нужен для связывания приложения с dll.
Библиотеку устанавливать не нужно. Ее функции следует вызывать из своего приложения. Файл dll это и есть библиотека функций. Файл lib содержит в себе данные для статического импорта. Нужен для связывания приложения с dll.
В коде на скрине не указано откуда брать функции. Но если предполагается писать на PB (как на скрине), то нет необходимости в dll. Можно использовать ее исходный код.
Код:
XIncludeFile "OWire_Module.pbi" UseModule OWire
OW_OpenPort("COM1", 0)
Эти файлы в архиве во вложении.
Но если нужно использовать dll, то из архива (путь Еxamples\PureBasic\Windows\Src) нужно скопировать файл OWire_Module_dll.pbi и добавить эту строку в начало кода.
В коде на скрине не указано откуда брать функции. Но если предполагается писать на PB (как на скрине), то нет необходимости в dll. Можно использовать ее исходный код.
Код:
XIncludeFile "OWire_Module.pbi" UseModule OWire
OW_OpenPort("COM1", 0)
Эти файлы в архиве во вложении.
Но если нужно использовать dll, то из архива (путь Еxamples\PureBasic\Windows\Src) нужно скопировать файл OWire_Module_dll.pbi и добавить эту строку в начало кода.
В коде на скрине не указано откуда брать функции. Но если предполагается писать на PB (как на скрине), то нет необходимости в dll. Можно использовать ее исходный код.
Код:
XIncludeFile "OWire_Module.pbi" UseModule OWire
OW_OpenPort("COM1", 0)
Эти файлы в архиве во вложении.
Но если нужно использовать dll, то из архива (путь Еxamples\PureBasic\Windows\Src) нужно скопировать файл OWire_Module_dll.pbi и добавить эту строку в начало кода.
Сейчас этот форум просматривают: Google [Bot] и гости: 5
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения