Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.135.190.101] |
|
Сообщ.
#1
,
|
|
|
Как на С++ Можно организовать работу с СОМ портом который находиться на задней панели компа,
Задача отправить сигнал и проверить дошел ли он туда физически.... Например при помощи светодиода..... У меня просьба если на форуме есть програмисты которые работали с програмированием железа и аппаратной части То отзовитесь пожалуйста на aster_x@inbox.ru мне ваша помощь очень нужна. |
Сообщ.
#2
,
|
|
|
Посмотри здесь
http://www.sources.ru/cpp/cpp_cserialport.shtml |
Сообщ.
#3
,
|
|
|
А еще какие нибудь предпосылки...
|
Сообщ.
#4
,
|
|
|
CreateFile("COM1",...)
|
Сообщ.
#5
,
|
|
|
Antber а ЧТО ДАЛЬШЕ?
|
Сообщ.
#6
,
|
|
|
Цитата aster_x @ А дальше берешь нажимаешь ссылку Поиск и находишь кучу ссылок; тоже самое можно сделать в любом поисковике. Про работу с последовательным портом столько написано, что еще 5 лет назад тот же Рамблер выдавал под сотню ссылок. ЧТО ДАЛЬШЕ? |
Сообщ.
#7
,
|
|
|
Цитата Adil @ тот же Рамблер выдавал под сотню ссылок И по поводу Например при помощи светодиода..... Тоже. |
Сообщ.
#8
,
|
|
|
Писал софтец для управления достаточно круной железякой через COM-поры, если надо могу часть исходников по работе с портами выложить, все на VC++ 6.0
|
Сообщ.
#9
,
|
|
|
CSerialport - проще некуда!!!
к COM-порту подцеплял контроллер Atmel через max232(с соответствующей обвязкой работает изумительно). а с помощью светика проверить только при постоянной передачи данных, заципившись на RTS или DTS или TX (вроде так это называется), но там 12 вольт и напряжение не постоянно. диод с резичтором ~800 Ом на какой либо из этих выводов и на землю. потом создаешь класс итд. распиновку COM-порта и схему подключения можно посмотреть на http://gaw.ru (поиск посайту:rs232) распиновка http://www.gaw.ru/html.cgi/txt/interface/rs232/index.htm |
Сообщ.
#10
,
|
|
|
Вооше есть класный сайт [URL=http://rs232.ru]rs232.ru[/URL
Прочитал инфу и пользуюсь ей с успехом.Чтоб при помощи светодиода проверить дошёл ли туда сигнал необходима микроса max232, а ей на ногу(по сигналу TX) вешаешь светодиод-это первый вариант если действительно нужна индикация через светодиод.Ну а дальше WriteFile("COM на задней панели" ,...)Но можно и проще--- memset(&ovr,0,sizeof(ovr)); ovr.hEvent=CreateEvent(NULL,TRUE,TRUE,NULL); SetCommMask(port,EV_TXCHAR); WaitCommEvent(port,&mask,NULL);-> эта строка ждёт события на линии которую устоновишь в строке выше.В этой строке вся прога стопорится до тех пор пока не будет желанного TX.Поэтому её нужно сделать в отдельном потоке, а с основного потока послать байт. MessageBox("TX"); Если надо больше задавай вопросы. |
Сообщ.
#11
,
|
|
|
Цитата denim_sake @ Вооше есть класный сайт [URL=http://rs232.ru]rs232.ru[/URL Прочитал инфу и пользуюсь ей с успехом.Чтоб при помощи светодиода проверить дошёл ли туда сигнал необходима микроса max232, а ей на ногу(по сигналу TX) вешаешь светодиод-это первый вариант если действительно нужна индикация через светодиод.Ну а дальше WriteFile("COM на задней панели" ,...)Но можно и проще--- memset(&ovr,0,sizeof(ovr)); ovr.hEvent=CreateEvent(NULL,TRUE,TRUE,NULL); SetCommMask(port,EV_TXCHAR); WaitCommEvent(port,&mask,NULL);-> эта строка ждёт события на линии которую устоновишь в строке выше.В этой строке вся прога стопорится до тех пор пока не будет желанного TX.Поэтому её нужно сделать в отдельном потоке, а с основного потока послать байт. MessageBox("TX"); Если надо больше задавай вопросы. max232 - преобразователь интерфейсов (из 12 вольт в 5 вольт и обратно) Зачем её ставить для светика??? она нужна для 5 вольтового UARTa на микроконтроллерах Atmel, pic итд. тогда уж напрямую на TxD COM-порта через сопротивление ~1000 Ом и на землю... и все тоже получится... |
Сообщ.
#12
,
|
|
|
Цитата aster_x @ Например при помощи светодиода..... Тоже. И поэтому поводу - тоже. Просто MSDN почитать (даже и поисковик не нужен) повнимательней и обнаружить функцию EscapeCommFunction, с помощью которой можно чудесным образом напрямую управлять выводами DTR и RTS. |
Сообщ.
#13
,
|
|
|
Цитата Adil @ И поэтому поводу - тоже. Просто MSDN почитать (даже и поисковик не нужен) повнимательней и обнаружить функцию EscapeCommFunction, с помощью которой можно чедесным образом напрямую управлять выводами DTR и RTS. тоже верно, но это выводы не для передачи данных, а вроде для тактования... как правило с них получаю постоянное напряжение путем установки детектора(последовательно диод, параллельно конденсатор) и стабилизатора (например КР148ЕН8). ну а после светодиод и резистор на 300 ом... только COM-порт по току много не вывезет...( |
Сообщ.
#14
,
|
|
|
.........max232 - преобразователь интерфейсов (из 12 вольт в 5 вольт и обратно)
.........Зачем её ставить для светика??? А ставить её надо на всякий случай, ток Com порта невилик, и в моеё практике 3 сгоревших ком порта ).Может и действительно для светодиода не надо, но я так привык. |
Сообщ.
#15
,
|
|
|
Достаточно только светодиода и резистора.
|
Сообщ.
#16
,
|
|
|
Цитата тоже верно, но это выводы не для передачи данных, а вроде для тактования... Это фактически биты параллельного интерфейса. Которые используются для управления модемом. Но можно их использовать и по своему усмотрению. Цитата после светодиод и резистор на 300 ом... Порт нормально работает на ~4Ком. Это значит он может выдать ток около 2.5-3 ма. Для светодиода с повышенной яркостью или супер-яркого этого более чем достаточно. 10V - 2V (падение на светодиоде) = 8V R = 8 V / 2 ма = 4 Ком. 3.9 К + супер-яркий светодиод = хорошо. |
Сообщ.
#17
,
|
|
|
Цитата SergI @ Порт нормально работает на ~4Ком. Это значит он может выдать ток около 2.5-3 ма. Для светодиода с повышенной яркостью или супер-яркого этого более чем достаточно. 10V - 2V (падение на светодиоде) = 8V R = 8 V / 2 ма = 4 Ком. 3.9 К + супер-яркий светодиод = хорошо. а напряжение вроде бы +-12/15 вольт, а яркие диоды в расчет не берем... берем самые распространенные ал302 вреде бы... |
Сообщ.
#18
,
|
|
|
Всем кто откликнулся на мою проблему и кто просто ею поинтересовался СПАСИБО
Я тоже дома так не сидел(Рылся в МСДН и прочих доках)и вот что я понаходил. Действительно к СОМ порту надо "конектится" при помощи Com = CreateFile( "COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL ); //Все так просто даже И еще очень интересной представляется функция WaitCommEvent В месте с функцией CreateEvent + Структура _OVERLAPPED А вот пример для работы с LPT Портом #include "stdafx.h" #include "windows.h" #include <ostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { HANDLE hLPT=CreateFile("LPT1",GENERIC_WRITE,0,NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); if (hLPT!=INVALID_HANDLE_VALUE) { cout << " Ok Open LPT1" << endl; char buffer[25]; memset(buffer,0,sizeof(buffer)); strcpy(buffer,"Hello LPT "); DWORD dw; OVERLAPPED ov; for (int x=0;x < 3;x++) WriteFile(hLPT,buffer,sizeof(buffer),&dw,&ov); CloseHandle(hLPT); } else cout << "Error Open" << endl; return 0; } //Вроде бы как не одной ошибки, теперь только остались "светодиоды" //Или же может каким нибудь электронным прибором замерить //Жаль что у меня нет ОСЦИЛОГРАФА //это я ночью нашел и сделал //только сегодня вечером буду физическую часть проверять. И еще у меня такой вопрос: МОЖНО ЛИ ЭТОТ ВЫХОДНОЙ СИГНАЛ ОБРАБОТАТЬ "СТАНДАРТНЫМИ" радиоэлектронными методами(Транзисторы). Или же всетаки прийдется собирать усложненную схему с использованием микросхем. ЕСЛИ ЭТОТ ПОСТ ЧИТАЮТ СПЕЦИАЛИСТЫ ПО АППАРАТНОМУ ПРОГРАМИРОВАНИЮ И АППАРАТНО-ЭЛЕКТРОНОМУ КОНСТРУИРОВАНИЮ, А ТАКЖЕ СПЕЦИАЛИСТЫ СТАЛКИВАВШИЕСЯ С ЭТОЙ ТЕМАТИКОЙ ТО... ПОЖАЛУЙСТА ОТКЛИКНИТЕСЬ НА aster_x@inbox.ru, или давайте устроим обсуждение на форуме. ВАША ПОМОЩЬ БУДЕТ ОЧЕНЬ и ОЧЕНЬ НУЖНА. Добавлено Цитата ElcnU @ а напряжение вроде бы +-12/15 вольт, а яркие диоды в расчет не берем... берем самые распространенные ал302 вреде бы... То есть подрозумевается наличие "выходного" напряжения на ПОРТЕ????? Значит Беру два провода Цепляю к порту и пред идущей фунцией скидываю сигнал. И наблюдаю свечение. |
Сообщ.
#19
,
|
|
|
Цитата aster_x @ То есть подрозумевается наличие "выходного" напряжения на ПОРТЕ????? Значит Беру два провода Цепляю к порту и пред идущей фунцией скидываю сигнал. И наблюдаю свечение. да типа того...только там твой цифровой сигнал,соответственно напряжение импульсное. ведь СОМ-порт можно использовать как источник питания(необходим детектор и стабилизатор) ДА, и не спали диод, все-таки 12вольт... Цитата aster_x @ И еще у меня такой вопрос: МОЖНО ЛИ ЭТОТ ВЫХОДНОЙ СИГНАЛ ОБРАБОТАТЬ "СТАНДАРТНЫМИ" радиоэлектронными методами(Транзисторы). Или же всетаки прийдется собирать усложненную схему с использованием микросхем. если ты хочешь увидеть цифровые данные посылаемые с ПК, то самый простой способ проверить это: 1 подключить сотовый через шнурок с СОМ-портом или usb-виртуал COM-порт (с СОМ-портом и виртуал СОМ портом логика работы программы одна и та же, просто через разные дроайверы). 2 найти документашку с АТ-командами (лучший пример WAVECOM) 3 ну и поиграть с этими командами:позвонить, отправить СМС,прочитать телефонную книжку и т.д. если тя это не устраивает, то: 1 собирай маленькую схемку на микроконтроллере(советую Atmel, давно работаю с ними)(нужен только контроллер, светики для индикации и питание 2.7-5вольт, взависимости от контроллера).какой нить дешевенький ATtiny...кварц можешь не ставить, внутреннего генератора (1 МГц) для UARTa хватит. 2 те понадобится преобразователь интерфейсов типа MAX232,MAX202,ADM232,(если только на прием, то можно на транзисторах), обвязка у них 3 электролита по 10 мкФ, ну и фильтр по питанию 0.1 мкФ 3 собири програматор на СОМ-порт(непомю,но там вроде только 3 диода,4 резистора,2 конденсатора). 4 ставишь какую-нить софтину типа AVRstudio,IAR,algoritm builder,codevision (iar и codevision это С, самое простое это codevision там все есть, по справке быстро разберешься) 5 ставишь PONYPROG, для программирования МК 6 читаешь молитву(бывает помогает...) комплектация те обойдется ~100 рублей вместе с 2 СОМ-разъемами(програматор+для девайса), а может и меньше... я такое проворачиваю за вечер...ну а те утром в магаз потом разводишь схему в PCADе собираешь программишь и любуешься программиремой герляндой ценой в 100р... |
Сообщ.
#20
,
|
|
|
aster_x, ты бы написал конкретно - что именно тебе надо сделать, а то понятие "обработать сигнал" уж больно обширно.
И хорошо бы еще определится - какой порт собираешься использовать LPT или COM. Они отличаются хотя бы просто вызодным напряжением на линиях. А управление ими тем более. Я, например, совершенно не знаю, как (и возможно ли это) управлять отдельными линиями LPT с помощью CreateFile("LPT1"...; в своё время мне пришлось писать драйвер. |
Сообщ.
#21
,
|
|
|
Описываю простейший пример задачи.
Стоит магнитный-пускатель Напряжение на катушку подается через промежуточное реле. Напряжение на катушку реле подается от внешнего питания но.... Там такая вот вещь . Оно должно находится в разомкнутом состоянии а по пришествии сигнала с компьтера. Цепь должна замыкаться (Я думаю что это может решить либо простая логическая МС) Либо транзистор в режиме ключа. И еще учтите я живу в КАЗАХСТАНЕ в городе КЫЗЫЛ ОРДА. Да еще и работаю вахтовым методом на нефтепромысле в службе КИПиА(Который располагается в пустынной местности 250 км От города). У нас тут такие условия что во всем городе только 10 - 15 стоящих програмеров а может и того меньше. Единственная возможность поговорит со специалистами это форум + ИНЕТ. Я не смогу сбегать в магазин или еще что нибудь в этом роде. У меня к вам просьба пожалуйста расчитывайте объективно мои возможности. P.S. Я ОЧЕНЬ РАД ЧТО ВЫ ОТКЛИКНУЛИСЬ НА МОЙ ЗОВ. Теперь я верю что это форум НАСТОЯЩИХ ПРОГРАМИСТОВ. |
Сообщ.
#22
,
|
|
|
если простым ключем:
1 сигнал с ПК должен отправлятся постоянно (программа за тобой). 2 как я уже говорил там где у тя на СОМ-порте гонятся импульсы поставь детектор и НЧ-фильтр, чтоб сгладить напряжени на базе транзистора, 3 ну а включение транзистора за тобой... но это очень такой скользкий способ... надежней, конечно, собрать схемку на МК, но Цитата И еще учтите я живу в КАЗАХСТАНЕ в городе КЫЗЫЛ ОРДА. Да еще и работаю вахтовым методом на нефтепромысле в службе КИПиА(Который располагается в пустынной местности 250 км От города). У нас тут такие условия что во всем городе только 10 - 15 стоящих програмеров а может и того меньше. Единственная возможность поговорит со специалистами это форум + ИНЕТ. Я не смогу сбегать в магазин или еще что нибудь в этом роде. PS:на фильтре ёмкость побольше поставь... |
Сообщ.
#23
,
|
|
|
Цитата aster_x @ Описываю простейший пример задачи. Стоит магнитный-пускатель Напряжение на катушку подается через промежуточное реле. Напряжение на катушку реле подается от внешнего питания но.... Там такая вот вещь . Оно должно находится в разомкнутом состоянии а по пришествии сигнала с компьтера. Такая схема будет создавать массу помех. Возможно и выгорание битов параллельного интерфейса компьютера. Порт можно защитить супрессором. Но устойчивость работы от этого не увеличится. Можно попытаться использовать гальваническую развязку в сигнальной цепи. Вероятно, самый перспективный способ - использовать вместо пускателя подходящий по мощности симистор. Попробуй с этой ссылки поговорить и в других конференциях: http://members.caxapa.ru/megajohn/ |
Сообщ.
#24
,
|
|
|
Для твоего случая надо устанавливать програмно RTS или DTR или в 0 или 1,а на выходе порта ключ с релешкой.
|
Сообщ.
#25
,
|
|
|
_Dmitry Ты предлагал софтец буду очень рад. Или на форум или aster_x@inbox.ru
denim_sake Конечно надо я сейчас только подхожу к первому этапу решения проблемы а там еще будет три или четыре. И это только тестовый образец. В общем еще будет возможности поговорить. Просьба не терятся, всем из виду неплохая компания собралась. Огромное спасибо я получил кучу информации для размышления. Все предложенные исходники тоже скачал. Сегодня ночью возьму "КИТАЙСКИЙ электронные МУЛЬТИМЕТР" и буду пытаться выловить сигналы. Завтра постараюсь сообщить результаты моих первооткрытий. |
Сообщ.
#26
,
|
|
|
Цитата SergI @ Такая схема будет создавать массу помех. Возможно и выгорание битов параллельного интерфейса компьютера. если источник питания достаточно стабилен, то помехи создает только катушка релре при переключении, а там помеха идет через переход эмиттер-колектор -> НЧ - фильтр(ёмкость которого достаточна велика). после такого пути вряд ли что-то может сгореть... |
Сообщ.
#27
,
|
|
|
Цитата SergI @ Такая схема будет создавать массу помех. Имеется ввиду элетрических диффирентов всей цепи?? |
Сообщ.
#28
,
|
|
|
Цитата aster_x @ Имеется ввиду элетрических диффирентов всей цепи?? И реле, и магнитный пускатель включаются/выключаются асинхронно с сетью. Кроме того, их характерная особенность - дребезг контактов. На что похоже ? На прерыватель автомобиля. Видели синенькое из под контактов реле или при выдергивании электро-чайника из розетки ? Это "оно самое", киловольт 10-15. При выключении магнитного пускателя асинхронно с сетью 220 в может размыкаться цепь (она имеет индуктивную составляющую) с током. E = - L *dI/dt L если даже маленькая, да вот dI/dT может быть большой. Все эти рассуждения относятся и к реле. Магнитный пускатель сам по себе - индуктивность с током. И мы будем размыкать эту индуктивность с током и дребезгом контактов... Так что проблемы будут на всех ступеньках этой электрической схемы. Что касается помех, то они с легкостью замкнуться через сеть 220 в (как синфазные), преодолеют фильтры компа , пройдут по его земле и дальше.. дальше если поставим оптрон, пойдут через его проходную емкость. Хоть как то уменьшим.. При достаточно сильной помехе комп зависнет. И возможна гибель портов. Да и всего, чего угодно. Как правило горят интерфейсные платы - эта помеха замыкается и через зернет тоже. Ком-порты. И вообще все, к чему подключены длинные провода. |
Сообщ.
#29
,
|
|
|
ну ты так рассуждаешь наверно про огромное и мощное реле, а на пускате ставится меленькая,которая потребляет 10мА и замыкает она не 220в, а ~ 10в
|
Сообщ.
#30
,
|
|
|
Цитата ElcnU @ ну ты так рассуждаешь наверно про огромное и мощное реле Магнитный (!!!) пускатель - это реле переменного тока. Обмотка его запитывается от 220 V. Попробуй собрать такую схему и повключать/повыключать его просто тумблером. |
Сообщ.
#31
,
|
|
|
Цитата SergI @ Магнитный (!!!) пускатель - это реле переменного тока. Обмотка его запитывается от 220 V. Sorry значит задачку недопонял... хотя Цитата aster_x @ через промежуточное реле. Напряжение на катушку реле подается от внешнего питания ,то есть у нас тут 2 катушки. А промежуточное реле как запитывается? каким напряжение переключается? |
Сообщ.
#32
,
|
|
|
Добрый день господа программисты.
ElcnUЯ думал применить реле типа как раньше бы ли РС10 ElcnU Спасибо за ссылку на Класс по работе с портом. Хороший класс содержательный, удобный, его надо обязательно изучить. Я этим займусь. Как я и говорил пришел я домой вечером. Вытащил свой мультиметр и приступил к исследованиям соих СОМ портов. Так как у них на приеме стоят "папки" к ним легче тестором добираться. Как все было. Первое что я сделал что бы (потом небыло непоняток) подал но комп питание но кнопку POWER не нажал. Замерил на всех контактах напряжение... "НОЛЬ". После того как включил комп, перед тем как приступить к програмной реализации проверил еще раз напряжение на всех контактах, обоих портов(СОМ1 СОМ2), относительно корпуса. Результат не заставил себя долго ждать. Оказавается на порте с "холостым ходом" то есть, не каких активных действий не предпринимается только загруженна OS WIN XP. На кантактах 4, 5 , 7 уже имеется напряжение от 11,4 до 12 В. Причем плюсом служит корпус сомого компьютера. ОПРЕДЕЛЮСЬ стразу корпус не заземлен. И еще маленькая мелочь между "контактами" порта также имеется напряжение от 11,4 до 12 В. И зачем оно там нужно если порт все равно бездействует. Потом сел за написание программы вот основной участок КОДА CString GetTimeStr() { SYSTEMTIME st; GetLocalTime(&st); CString s; s.Format("%d : %d : %d",st.wHour ,st.wMinute , st.wSecond); return s; } UINT_PTR m_tmr; void CCOM_PORGRDlg::OnBnClickedButton1() { m_tmr = SetTimer(MY_TIMER,10, 0); } void CCOM_PORGRDlg::OnBnClickedButton3() { do{ m_lb.DeleteString(0); }while(m_lb.GetCount() > 0); } bool TrySend(LPCTSTR lpPortName = "COM1") { HANDLE hLPT=CreateFile(lpPortName,GENERIC_WRITE,0,NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); if (hLPT!=INVALID_HANDLE_VALUE) { char buffer[25]; memset(buffer,0,sizeof(buffer)); strcpy(buffer,"Hello COM PORT "); DWORD dw; OVERLAPPED ov; for (int x=0;x < 3;x++) WriteFile(hLPT,buffer,sizeof(buffer),&dw,&ov); CloseHandle(hLPT); return true; } else return false; } int ii=100; void CCOM_PORGRDlg::OnTimer(UINT nIDEvent) { switch(nIDEvent) { case MY_TIMER: CString port_s; m_PortEdit.GetWindowText(port_s); if(ii == 100) { CString s_res; s_res = GetTimeStr() +=" 100 Packets Send to "; s_res +=port_s;s_res += " PORT"; if(!TrySend(port_s)) s_res += " ERROR"; m_lb.AddString(s_res); ii =0; } else { TrySend(port_s); ii++; } break; } } void CCOM_PORGRDlg::OnBnClickedButton2() { KillTimer(m_tmr); } По началу этот код не дал не каких результатов при интервале таймера на 1000 сек. А вот при перемене интервала на 10 м\с тоесть буфер отправляется 100 раз в секунду. На контактах 4 и 7 Полярность меняестя с МИНУС на ПЛЮС(при том же напряжении) 12V. Я проверял в активном режиме, когда поток останавливаеш принудительно полярность возвращается в исходное состояние. Это даже мой трудовой тестер из ПОДНЕБЕСНОЙ заметил. Я думаю, что это и есть он, МОЙ ЗАВЕТНЫЙ СИГНАЛ теперь, ловкое приинение диода. Когда он сам будет при одной полярности пропускать а при обратной запирать сам себя может решить некоторые мои проблемы. На первом этапе(Получение простейшего сигнала). Но все равно этого не достаточно. И я решил установить DDK (крутая вещь). После того как я на днях постараюсь собрать простейшую схему и удостовериться в правильности моих мыслей и маленьких исследований. Будет обрисовываться вторая задача. Это разветление первичных возможностей цепи(Светодиодов). И еще это конечно хорошо что нашлась полярность но... Если прийдется програмировать расширенную схему в которой подразумевается использование нескольких "выходных сигналов" такой подход будет бессмыслинным. Правда, я простым тестером замерял, быть может ОСЦИЛОГРАФ открыл бы глаза на мир немного шире. Тогда прийдется углубляться в архитектуру COM порта, и стандарта rs232. А также изучать принципы работ логических микросхем. Или же МК. Причем, мне кажется, что МК + USB более перспективная конструкция? Нежели СОМ. Что бы вы могли по этому поводу посоветывать. Или же поделиься опытом. Добавлено ElcnU Но не обязательно РС10, а реле схожие с ним по параметрам. Что бы катушка была 9 - 12 вольт а если понадобиться та можно применить и РЕЛЕ на 220В. |
Сообщ.
#33
,
|
|
|
Цитата aster_x @ На контактах 4 и 7 Полярность меняестя с МИНУС на ПЛЮС(при том же напряжении) 12V. где-то я писал +/- Цитата На кантактах 4, 5 , 7 уже имеется напряжение от 11,4 до 12 В. ну наверно на 4 (DTR) и 7 (RTS) относительно 5 (GND). значит у тя так в системе поумолчанию(хотя странно )... Цитата aster_x @ Причем, мне кажется, что МК + USB более перспективная конструкция? Нежели СОМ тебя какая реализация интересует?(МК+FTDI или МК+програмная реализация USB или МК AT91...(содержащая встроенный аппаратный USB)) на USB мир уже давно перешел, ведь на буках COM уже не найдешь... COM вымирает... Цитата aster_x @ а если понадобиться та можно применить и РЕЛЕ на 220В. потребуется для ПК более надежная гальваническая развязка |
Сообщ.
#34
,
|
|
|
Я сперва чтобы разобраться более менее с портами на СОМ потренеруюсь а потом USB перейду.
Я думаю так проще. Касательно гавальнической развязки. Я тоже думаю только сигналы сидывать и питание сугубо внешнее. Как вы думаете на сколько USB сложнее КОМа. Или наоборот он проще всетаки 4 выхода. Но ведь там может быть и сигнал на разных частотах идет. Хотя и СОМ в этом плане не девственник. Цитата ElcnU @ тебя какая реализация интересует?( Я думаю что по работе мне стоит уделить внимание на МК+програмная реализация USB или МК AT91 |
Сообщ.
#35
,
|
|
|
Цитата aster_x @ Я думаю что по работе мне стоит уделить внимание на МК+програмная реализация USB или МК AT91 Шаг в правильном направлении. Но не совсем. USB не очень то хорошую помехозащищенность имеет. И AT91xx - это из пушки по воробьям. Обратите внимание на вариант: COMx + ATINY2313 + опторазвязка. Это быстро, дешево и сердито. Традиционно считается что ZILOG или PIC - микроконтроллеры более помехоустойчивы. Но вот ATINY2313 не удалось мне подвесит помехой, в отличие от его коллеги - классического AT90S2313. Большое значение имеют физические размеры платы. Поскольку проводники (и земля платы) имеют погонную индуктивность. Поэтому лучше разводить в корпусе SOIC. |
Сообщ.
#36
,
|
|
|
Цитата ЫукпШ @ И AT91xx - это из пушки по воробьям. AT91SAM7S32-AU-001 (ATMEL; LQFP48) 180.56 руб не так дорого, зато универсально Цитата ЫукпШ @ COMx + ATINY2313 + опторазвязка. Это быстро, дешево и сердито. а USB+ATINY2313 + опторазвязка. Так слабо? Цитата ЫукпШ @ Традиционно считается что ZILOG или PIC - микроконтроллеры более помехоустойчивы. Но вот ATINY2313 не удалось мне подвесит помехой, в отличие от его коллеги - классического AT90S2313. Большое значение имеют физические размеры платы. Поскольку проводники (и земля платы) имеют погонную индуктивность. Поэтому лучше разводить в корпусе SOIC. зависит только от схемы, разводчика и конструктива готового устройства... |
Сообщ.
#37
,
|
|
|
Цитата ElcnU @ а USB+ATINY2313 + опторазвязка. Так слабо? Этот сайт всем уже хорошо известен: http://www.cesko.host.sk/IgorPlugUSB/IgorPlug-USB%20(AVR)_eng.htm |
Сообщ.
#38
,
|
|
|
Цитата ЫукпШ @ Этот сайт всем уже хорошо известен: http://www.cesko.host.sk/IgorPlugUSB/IgorP...20(AVR)_eng.htm ) дешево и сердито и работает хорошо,только медлено. на atmega8L эффективней у неё памяти больше и питания надо меньше...а стоит примерно также как и 2313 |
Сообщ.
#39
,
|
|
|
Всеим спасибо за информацию.
Я думаю что как бы там ни было мне всетаки надо переходить на USB. Так как решение моей проблемы подразумевает и использование НОТБУКОВ. А там порты приказали долго жить. Теперя я роюсь в ДДК. И пришел к следующему выводу. Что USB рулит. А что касается помехо устойчивости прийдется что нибудь думать чтобы не было "рывков" в цепи. Так как этот пост немного вышел за рамки тематики форума. Надо будет по поводу USB создать пост в "железном" разделе. К стати как скинуть сигнал на USB порт. Пред идущие методы такие как с СОМ портом не проходят. |
Сообщ.
#40
,
|
|
|
Цитата aster_x @ К стати как скинуть сигнал на USB порт. нужно,вроде бы,что был подключен девайс,потомучто сервис(драйвер) активируется кога девайс о себе инфу скинет... |
Сообщ.
#41
,
|
|
|
А так в глухую нельзя закинуть или какого формата должен быть сигнал?
|
Сообщ.
#42
,
|
|
|
Цитата aster_x @ Так как решение моей проблемы подразумевает и использование НОТБУКОВ. А там порты приказали долго жить. Теперя я роюсь в ДДК. Вот в тут есть книга Агурова: http://www.pcports.ru/Library.php Там есть в том числе и вариант написания драйвера. А также вариант использования HID-устройства без драйвера. Да и вообще подробное описание всего проекта целиком, включая схемы, исходные тексты и.т.д. Полный пример создания устройства, подключенного к USB. Причем этот пример подойдет к поставленной задаче процентов на 99.. |
Сообщ.
#43
,
|
|
|
Цитата ЫукпШ @ Вот в тут есть книга Агурова: http://www.pcports.ru/Library.php хорошие книжки... |
Сообщ.
#44
,
|
|
|
Да действительно то что надо. Спасибо.
|