| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Вопросы по RS485
16.08.2011, 11:31
|
|
|
Временная регистрация
Регистрация: 08.07.2003
Адрес: Сталинград
Сообщений: 80
Сказал спасибо: 7
Сказали Спасибо 23 раз(а) в 19 сообщении(ях)
|
Re: Вопросы по RS485
Сообщение от raxp
|
|
это вы еще не сталкивались с потенциалами "земли" в разных точках
|
Сталкивался. Просто не доводилось работать на объектах, разбросанных на сотни метров. Только, например, в пределах теплопунктов или аналогичных сравнительно небольших помещениях, где проблема выравнивания потенциала земель решается весьма просто, с помощью металлической полосы и сварочного аппарата
|
|
|
|
16.08.2011, 11:38
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,459
Сказал спасибо: 3,227
Сказали Спасибо 3,513 раз(а) в 2,394 сообщении(ях)
|
Re: Вопросы по RS485
Сообщение от raxp
|
|
это вы еще не сталкивались с потенциалами "земли" в разных точках
|
Дык 3 провода - и вопроса о потенциале "земля"-"луна" не возникнет. Т.е. сеть - эквипотенциальна, а контроллеры - от неё отвязаны.
|
|
|
|
16.08.2011, 12:16
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 28.05.2010
Сообщений: 1,117
Сказал спасибо: 150
Сказали Спасибо 604 раз(а) в 310 сообщении(ях)
|
Re: Вопросы по RS485
|
Цитата:
|
|
Дык 3 провода - и вопроса о потенциале "земля"-"луна" не возникнет
|
cпасибо кэп  , ссылку уже привел выше.
|
|
|
|
19.08.2011, 11:18
|
|
|
Прописка
Регистрация: 08.10.2009
Сообщений: 101
Сказал спасибо: 2
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
|
Re: Вопросы по RS485
Не хочу ни кого обидеть , но схема приведенная раньше полная лажа !!!
Вы пытались включить на шине не 2 устройства , а хотя бы 10 ?
Никогда не поверю что она вообще заработает
|
|
|
|
04.12.2011, 20:25
|
|
|
Временная регистрация
Регистрация: 17.10.2011
Сообщений: 59
Сказал спасибо: 2
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Вопросы по RS485
Пытаюсь разобраться с RS485. Мне нужно передать по нему семь байт принять их и вывести на дисплей. Взял два пика 628А и МАХ485. Организовать приём пытаюсь так - один микроконтроллер посылает определённое число другому (типа запроса) а в ответ получает эти семь байт. Они передаются с задержкой 5 мс один за одним. Принимаю таким образом - если есть прерывание от приёмника UART контроллера вывешиваю флаг, а в основном цикле жду, если флаг появился, то пишу в соотвествующий регистр, сбрасываю флаг и перехожу дальше к следующему регистру. И так последовательно, пока не приму все семь байт
А теперь вопрос - иногда байты принимаются "правильно" - т.е. заносятся в "свои" регистры, а иногда со сдвигом в "соседние". Хотя вроде бы всё синхронизировано - приёмник ждёт байт до начала его передачи, сразу загружает в своё регистр и ждёт следующий, который придёт только через 5 мс. Я прошу подсказать что нужно учесть при организации такого обмена по RS485. Прошу сильно не бить - опыта у меня маловато
|
|
|
|
04.12.2011, 21:03
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,042
Сказал спасибо: 589
Сказали Спасибо 3,967 раз(а) в 1,825 сообщении(ях)
|
Re: Вопросы по RS485
Если будете объяснять на пальцах, то и результат помощи будет таким же (скрученный из пальцев).
Реальной помощи быстрей дождетесь, если выложите реальные тексты программ.
|
|
|
|
04.12.2011, 23:13
|
|
|
Временная регистрация
Регистрация: 17.10.2011
Сообщений: 59
Сказал спасибо: 2
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Вопросы по RS485
Вот куски программы ведущего и ведомого. Инициализации и прерывания, что бы не утомлять не привожу там всё стандартно.
Заметил, если передавать прямо UART - UART всё работает нормально. А вот с МАХ485 иногда сбоит. Пробовал разные задержки перед/после переключений приемопередатчиков МАХ485, эффект тот же.
|
Цитата:
|
; программа ведущего:
BTFSC KNOPKA ; ждём нажатия кнопки
GOTO $-1
BSF UPR_485 ; передатчик в 1, приёмник в 0 (передача)
CALL Delay1 ; задержка
MOVLW 0x0A ; команда на ответ (на передачу 7 байт)
CALL BYTE_TX ; передача байта
; тут ведомый получает посылку 0x0A, и
; через 5 мс начинает передавать семь байт
; а наша программа ведущего идёт дальше:
CALL Delay1 ; задержка 1 мс
BCF UPR_485 ; передатчик в 0, приёмник в 1 (приём)
CALL Delay1 ; задержка 1 мс
; до начала приёма ещё 3 мс (5-1-1)
BTFSS FLAG,0 ; жду появления флага прерывания
GOTO $-1
BCF FLAG,0 ; сбрасываю флаг
MOVF RX,0 ; ; в RX хранится считаный байт из RCREG
MOVWF TEMP_1 ; пишу в первый регистр
..............................
...............................
BTFSS FLAG,0 ; жду появления флага прерывания
GOTO $-1
BCF FLAG,0 ; сбрасываю флаг
MOVF RX,0 ; ; в RX хранится считаный байт из RCREG
MOVWF TEMP_7 ; пишу в последний регистр
; программа ведомого:
BCF UPR_485 ; передатчик в 0, приёмник в 1 (приём)
CALL Delay1 ; задержка 1 мс
ТХ
MOVF RX,w ; Ожидание команды от ведущего на передачу
SUBLW 0x0A
BTFSS STATUS,Z
GOTO ТХ
BSF UPR_485 ; передатчик в 1, приёмник в 0 (передача)
CALL Delay5 ; задержка 5 мс
MOVF REGISTR_1,w ; первый байт, который нужно передать
CALL BYTE_TX ; передача байта
CALL Delay5 ; задежка между байтами 5 мс
.................................
..................................
MOVF REGISTR_7,w ; последний байт, который нужно передать
CALL BYTE_TX ; передача байта
CALL Delay5 ; задежка между байтами 5 мс
|
Последний раз редактировалось Tugаrin; 04.12.2011 в 23:22.
|
|
|
|
05.12.2011, 01:12
|
|
|
Вид на жительство
Регистрация: 14.06.2009
Адрес: Україна Київська обл. м.Буча
Сообщений: 328
Сказал спасибо: 104
Сказали Спасибо 106 раз(а) в 70 сообщении(ях)
|
Re: Вопросы по RS485
Насколько принципиальна задержка 5 мс? Может быть стоит передать все данные подряд, добавив контрольную сумму?
|
|
|
|
05.12.2011, 02:27
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
|
Re: Вопросы по RS485
Djakovskij,
медленно, но уверенно, вы подталкиваете Tugаrin в пучину модбаса
|
|
|
|
05.12.2011, 02:30
|
|
|
Вид на жительство
Регистрация: 14.06.2009
Адрес: Україна Київська обл. м.Буча
Сообщений: 328
Сказал спасибо: 104
Сказали Спасибо 106 раз(а) в 70 сообщении(ях)
|
Re: Вопросы по RS485
Ладно, можно без контрольной суммы.
|
|
|
|
Сказали "Спасибо" Djakovskij
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Wiznet W7100. Общие вопросы
|
R_N |
Микроконтроллеры, АЦП, память и т.д |
7 |
06.06.2012 00:33 |
|
Работа с RS485
|
okt03 |
Микроконтроллеры, АЦП, память и т.д |
13 |
13.02.2008 10:59 |
|
RS485
|
stri |
Микроконтроллеры, АЦП, память и т.д |
4 |
06.08.2007 10:36 |
Часовой пояс GMT +4, время: 22:05.
|
|