Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 24.01.2011, 15:10   #11
Pit_PB
Прописка
 
Регистрация: 23.01.2008
Сообщений: 102
Сказал спасибо: 0
Сказали Спасибо 21 раз(а) в 19 сообщении(ях)
Pit_PB на пути к лучшему
По умолчанию Re: Опять про Басик

Сообщение от индюк Посмотреть сообщение
напрямую наладить связь проца с компом через узби выше моих сил с этой кучей энд поинтов и прочих идентификаторов
Не все так сложно как кажется.
Посмотри это и это.
Программы для компа и микроконтроллера - на бейсике.
Реклама:
Pit_PB вне форума  
Сказали "Спасибо" Pit_PB
Rezcus (26.01.2011)
Непрочитано 24.01.2011, 19:22   #12
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,696
Сказал спасибо: 188
Сказали Спасибо 3,191 раз(а) в 2,068 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Опять про Басик

да у меня проц lpc1768
индюк вне форума  
Непрочитано 26.01.2011, 06:09   #13
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,696
Сказал спасибо: 188
Сказали Спасибо 3,191 раз(а) в 2,068 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Опять про Басик

ну вобщем работает связь через ком.
но все рвно как то странно
поставил значение
MSComm1.RThreshold = 50
MSComm1.InBufferSize = 10

последнее вообще никак не влияет ни на что судя по всему
50 - в 90% случаев считывается ровно 50 символов но в остальных случаях почему то больше на разные величины. на 3 на 5 на 10, если чото в винде проц занимает то вообще может на несколько десятков больше придти.

а если поставить MSComm1.InputMode = comInputModebinary то вообще приходит постоянно знак вопроса и всё. что не посылай ответ один

ну вобщем всем спасибо кто помог. это я пробовал данные передавать, не суть важно это пока.
поскольку ком такой же аттавизм как и лпт то если юзби не выйдет осилить то в крайнем случае через лпт передам - там и побыстрее и всегда все работало в режиме EPP потому что регистр напрямую читается

но если подскажите что не так у меня буду благодарен

Последний раз редактировалось индюк; 26.01.2011 в 06:12.
индюк вне форума  
Непрочитано 26.01.2011, 08:54   #14
Gerbicid
Прописка
 
Аватар для Gerbicid
 
Регистрация: 04.08.2008
Сообщений: 203
Сказал спасибо: 33
Сказали Спасибо 75 раз(а) в 58 сообщении(ях)
Gerbicid на пути к лучшему
По умолчанию Re: Опять про Басик

MSComm1.RThreshold-определяет после скольких принятых символов будет генериться событие
MSComm1.InputLen- определяет сколько символов забирать из буфера при чтении, при =0 забирает все принятые символы.
MSComm1.InBufferSize надо сделать в любом случае побольше и не скромничать.
__________________
Gerbicid вне форума  
Непрочитано 26.01.2011, 09:51   #15
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,696
Сказал спасибо: 188
Сказали Спасибо 3,191 раз(а) в 2,068 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Опять про Басик

а. понятно все теперь. тухлая система короче
индюк вне форума  
Непрочитано 26.01.2011, 10:14   #16
Gerbicid
Прописка
 
Аватар для Gerbicid
 
Регистрация: 04.08.2008
Сообщений: 203
Сказал спасибо: 33
Сказали Спасибо 75 раз(а) в 58 сообщении(ях)
Gerbicid на пути к лучшему
По умолчанию Re: Опять про Басик

Система вроде не тухлая. Это просто инструмент для получения результата. Хотя сам я на VB никогда не программировал, у меня он даже на компе не установлен. Народ вроде пользуется и доволен, что можно быстро получить результат, не особо напрягаясь
__________________
Gerbicid вне форума  
Непрочитано 26.01.2011, 13:35   #17
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,696
Сказал спасибо: 188
Сказали Спасибо 3,191 раз(а) в 2,068 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Опять про Басик

тухлая в том плане что как в проце регистр напрямую недоступен
вб6 очень даже нормальный язык, я на нем многое изучил.
правда в итоге все равно си учить пришлось))))
с ком портом я понял быстро результат не получишь.
а вот с лпт - намного быстрее. считал регистр - вот тебе и результат. во всем смыслах этого слова
индюк вне форума  
Непрочитано 26.01.2011, 13:55   #18
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Опять про Басик

Сообщение от индюк Посмотреть сообщение
а вот с лпт - намного быстрее. считал регистр - вот тебе и результат. во всем смыслах этого слова
Запросил доступ, ждешь разрешения, получил доступ, прочитал регистр, отдал доступ, ждешь подтверждения освобождения, и только теперь делаешь с полученными данными, что хочешь. Намного быстрее ЧЕГО?
ut1wpr вне форума  
Непрочитано 26.01.2011, 14:00   #19
trutter
Прописка
 
Регистрация: 30.05.2010
Сообщений: 180
Сказал спасибо: 8
Сказали Спасибо 57 раз(а) в 39 сообщении(ях)
trutter на пути к лучшему
По умолчанию Re: Опять про Басик

вот эта программка полностью работает по приему бинарных величин.
Код:
Private Sub Command4_Click()
  Dim Out(2) As Byte
  Out(0) = &H2
  Out(1) = &H2
  q = &H2
  MSComm1.Output = q 
End Sub

Private Sub Form_Load()
Text2.Text = 0
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.Handshaking = comNone ' или 0 - никаких comXOnXoff или comRTS хотя и по умолчанию должен =0
MSComm1.RThreshold = 1  ' прерывание на каждом полученном байте, хотя как показала практика может
' принимать по 8 символов без прерывания если идут подряд, а если с разрывами во времени - то по 1
' MSComm1.InBufferSize = 1 'установить или спросить длину входного буфера (практически не влияет)
MSComm1.InputMode = comInputModeBinary
MSComm1.PortOpen = True
End Sub

Private Sub Form_Unload(Cancel As Integer)
    MSComm1.PortOpen = False
End Sub

Private Sub MSComm1_OnComm()
   Dim InBuff(10) As Byte
   Select Case MSComm1.CommEvent
         ' Errors
            Case comEventBreak   ' A Break was received.
            Case comEventCDTO    ' CD (RLSD) Timeout.
            Case comEventCTSTO   ' CTS Timeout.
            Case comEventDSRTO   ' DSR Timeout.
            Case comEventFrame   ' Framing Error.
            Case comEventOverrun ' Data Lost.
            Case comEventRxOver  ' Receive buffer overflow.
            Case comEventRxParity   ' Parity Error.
            Case comEventTxFull  ' Transmit buffer full.
            Case comEventDCB     ' Unexpected error retrieving DCB]

         ' Events
            Case comEvCD   ' Change in the CD line.
            Case comEvCTS  ' Change in the CTS line.
            Case comEvDSR  ' Change in the DSR line.
            Case comEvRing ' Change in the Ring Indicator.
            Case comEvReceive ' Received RThreshold # of chars.
                 Text2.Text = Text2.Text + 1
               InBuff = MSComm1.Input
               Call HandleInput(InBuff)
            Case comEvSend ' There are SThreshold number of
                           ' characters in the transmit buffer.
            Case comEvEOF  ' An EOF character was found in the
                           ' input stream.
    End Select

End Sub
Sub HandleInput(InBuff() As Byte)
    Text1.SelStart = Len(Text1.Text)  ' устанавливает  в конце "начало вставки"
    Text1.SelText = CStr(InBuff)   '"вставляет к имеющемуся"
End Sub
trutter вне форума  
Непрочитано 05.01.2012, 08:40   #20
stigal
Прохожий
 
Аватар для stigal
 
Регистрация: 06.01.2009
Сообщений: 7
Сказал спасибо: 15
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
stigal на пути к лучшему
По умолчанию Re: Опять про Басик

Доброго времени суток.
Возможно очень поздно, но вставлю своих 5 коп.
При загрузке формы в VB6 всегда делаю проверку на открытость СОМ-порта (если он открыт и используется сторонней прогой - он не закроется, а выдаст ошибку что он открыт):

If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
End If

На счет передачи:
сначала:

MSComm1.PortOpen = True

выдержка до 40 мс (ставил и 10 мс)
передаю HEX - типа ( 4 байт адрес (точнее 2 байта) + 16 байт данных + 1 байт CRC:

MSComm1.Output = ":100130003F0156702B5E712B722B732146013421C7"

далее жду подтверждения от МК (если в контроллере прописана отправка "Y" при нормальном преме):

Private Sub MSComm1_OnComm()
If MSComm1.Input = "Y" 'получили подтверждение от МК
Send_Good = True 'выставляем флаг что все "ГУД"
Else
Send_Good = False 'если не дошло до МК
End If
End Sub

Эта проверка работает у Меня если выставлен: MSComm1.RThreshold = 1

Если пакет не дошел - повторно отсылаю его через 100 мс, и так до 5 раз.
Если пришло "Y" передаю следующий пакет, если в ответ тишина или какой то мусор - закрываю порт и выдаю типа: MsgBox "Устройство не отвечает", vbCritical.
По завершении передачи также делаю задержку до 40 мс и закрываю порт

MSComm1.PortOpen = False

На скорости 19200 работает без проблем, кабель 10м (правда витая пара).
stigal вне форума  
Закрытая тема

Закладки


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено] Очередной вопрос про гул в колонках alberio Аудиотехника 24 18.12.2010 00:50
[Решено] Что скажете эмбеддеры про это? Electric75 Отвлекитесь, эмбеддеры! 7 26.08.2010 22:41
Опять про DS18B20 igor-k Микроконтроллеры, АЦП, память и т.д 17 01.05.2010 09:37
Опять развод? Yegorvin Отвлекитесь, эмбеддеры! 32 25.12.2009 22:38


Часовой пояс GMT +4, время: 09:53.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot