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

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

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

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

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

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

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

 
Опции темы
Непрочитано 19.09.2015, 09:13  
Someone
Гражданин KAZUS.RU
 
Регистрация: 16.06.2005
Сообщений: 945
Сказал спасибо: 25
Сказали Спасибо 175 раз(а) в 124 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Сообщение от vladh Посмотреть сообщение
И я еще раз хочу обратить внимание на то, что связь по UART работает хорошо. Если бы были виноваты помехи или несвоевременные прерывания то это бы проявлялось и здесь. Но проявляется почему то только когда появляются переходные М/Сх.
Вот, сами ведь понимаете, что программист виноват. . Задумайтесь о такой простой вещи - и сей компилятор, и пики существуют более десятка лет. За это время миллионы программистов решили свои задачи. Если исходить из вашей логики "у меня всё хорошо, это компилятор или пик чудит", получается что у вас настолько уникальная задача, что ни разу, никем, за эти грубо говоря 10 лет, не решалась, и никто ранее не сталкивался с ошибкой в компиляторе или в пике. Или, иными словами, никто из миллионов программистов, за более чем 10 лет, не связывал два пика по RS-485. Как, по вашему так и было, или ваше "у меня всё нормально" не соответствует истине?

ЗЫ: Что касается работы усарт и не работы 485 - так это разные вещи с разными принципам работы. Усарт в соединении 2х контроллеров (TX1-›RX2, RX1-›TX2) является полнодуплексной линией, и по нему можно одновременно вести передачу обоим контроллерам. 485й же является полудуплексной линией, и в ней двум контроллерам нельзя вести одновременно передачу - будет не распознаваемая каша. И логика работы с 485, и, соответственно, программа, будет совершенно другая. Так что ничего удивительного в "неработе" нет. Привыкайте, что ни компилятор, ни контроллер собственного разума не имеют, и делают только то, что им сказал делать программист. И если девайс работает как-то не так, особенно в тепличных условиях, на столе - значит программист так написал программу.
Реклама:
Someone вне форума  
Непрочитано 19.09.2015, 09:58  
Someone
Гражданин KAZUS.RU
 
Регистрация: 16.06.2005
Сообщений: 945
Сказал спасибо: 25
Сказали Спасибо 175 раз(а) в 124 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Сообщение от vladh Посмотреть сообщение
"В СИ также возможны ситуации при которых команды языка СИ могут прерываться возникшим прерыванием?"
Естественно. Как и в паскале, да и в любом ЯВУ. Что бы там Досикус не распевал про бейсик и С - проблема не в языке, а в программисте. Да, в С программа вероятно будет быстрее работать, скомпилированный код, очень вероятно, займёт меньше места. Но логику работы, и, соответственно, правильность работы программы, определяет программист. А не правильную логику прописать на С так же легко, как и на бейсике.

Сообщение от vladh Посмотреть сообщение
Один абонент главный, второй ведомый. Естественно общение начинает главный. Он посылает посылку и ждет ответа. После получения ответа, он видит что посылка прошла и понята правильно дальше он только регулярно принимает данные о состоянии ведомого абонента. Если ведущий решил что то изменить он опять посылает посылку с кодом изменения. Естественно он тут же должен получить ответ, что посылка принята и понята.
Вопрос: А что произойдёт, если ведущий решил что-то изменить, и посылает посылку с кодом изменения, когда ведомый всё ещё ведёт свою регулярную передачу?
Someone вне форума  
Сказали "Спасибо" Someone
vladh (19.09.2015)
Непрочитано 19.09.2015, 11:45  
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Йаплакаль...

ТС надеется на всемогущий протез (пишет его уважительно - с большой буквы!) и презирает осциллограф, который враз покажет коллизию в линии. По поводу "получит неверную команду и будет её распознавать" (отправит подтверждение команды, которое испортится в этом глючном канале - что будет?). он должен быть уверен, что команда правильная.
По каналу передаются не байты! а пакеты. Пакет должен иметь заголовок, пусть 1 байт. Если длина пакета может быть разная, после заголовка дожна быть длина пакета. Пакет снабжается контрольной суммой (CRC, а не "всех просуммируем", как в пелках каких-нибудь).

Мастер передаёт пакет. Слейв принимает байт заголовка, запускает счётчик таймаута и зарекается передавать что-нибудь до конца приёма пакета или таймаута.
По окончании приёма пакета передаёт подтверждение приёма (должна быть пауза на переключение линии). Если мастер не получил подтверждение, он повторяет команду. Пакет может содержать счётчик повторов/номер пакета.

В общем, бросить изобретать велосипедов, прочитать про уровни системы osi, почитать про модбус и прочие шины-протоколы. Поверьте, всё уже давно придумано до нас.
makakus вне форума  
Непрочитано 19.09.2015, 12:20  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,091
Сказал спасибо: 2,566
Сказали Спасибо 11,900 раз(а) в 5,973 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Сообщение от makakus Посмотреть сообщение
В общем, бросить изобретать велосипедов, прочитать про уровни системы osi, почитать про модбус и прочие шины-протоколы. Поверьте, всё уже давно придумано до нас.
Не забывайте о разумной достаточности.
Лепить монстроидальный модбас на один датчик только из-зя того, что кто-то его давным давно придумал? Гы! Ну, ежели есть такие продвинутые желающие... Утрирую, конечно же, но математика оперирует крайностями для понятия направления действий.
Да, не надо забывать и о том, что многое в придуманном делается для совместимости, стандартности, что нужно далеко не всегда.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 19.09.2015, 12:46  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Сообщение от Someone Посмотреть сообщение
485й же является полудуплексной линией
Строго говоря, нет. Это трансивер MAX487 - полудуплексный. А RS485 может быть и полу- и полнодуплексной линией.
Точно так же и модуль USART в ПИКе может работать в полудуплексном синхронном режиме.
Сообщение от makakus Посмотреть сообщение
(CRC, а не "всех просуммируем",
Недавно мы тут разбирали протокол связи метеостанции с дистанционным датчиком по радиоканалу, и там - простая сумма.
Сообщение от Someone Посмотреть сообщение
Вопрос: А что произойдёт, если ведущий решил что-то изменить, и посылает посылку с кодом изменения, когда ведомый всё ещё ведёт свою регулярную передачу?
У топикстартера там между посылками ведомого пауза в полсекунды. Ну уж можно как-то исхитриться и выловить момент, чтобы на пару-тройку миллисекунд занять линию
Не нравится? MAX489/MAX490 - и не ждите освобождения линии.

Последний раз редактировалось NewWriter; 19.09.2015 в 12:50.
NewWriter вне форума  
Сказали "Спасибо" NewWriter
vladh (19.09.2015)
Непрочитано 19.09.2015, 13:07  
vladh
Почётный гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Сообщение от Someone Посмотреть сообщение
Естественно. Как и в паскале, да и в любом ЯВУ.
Ну наконец я получил ответ ны поставленный выше вопрос. Действительно, Dosikus зря с пренебрежением относится к другим языкам.

Сообщение от Someone Посмотреть сообщение
Вопрос: А что произойдёт, если ведущий решил что-то изменить, и посылает посылку с кодом изменения, когда ведомый всё ещё ведёт свою регулярную передачу?
Что произойдет? А ничего. Потеряется эта посылка. А действительно я не предусмотрел такой вариант. Спасибо.

Последний раз редактировалось vladh; 19.09.2015 в 13:10.
vladh вне форума  
Непрочитано 19.09.2015, 14:25  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Вероятность попадания отправки именно в момент приема - около 1/250 для конкретно этого проекта.
Тут как выходит - когда идут регулярные посылки со слейва, и нужно что-то отправить с мастер-устройства, перед тем, как отправить, вычисляем, сколько времени назад была предыдущая посылка (обычный таймер, запускаемый сразу после предыдущего приема). И если по времени таймера ожидается приход посылки со слейва и есть вероятность не успеть отправить, тогда чутка подождем и начнем отправку сразу после приема со слейва. Конечно, интервалы посылок со слейва должны быть достаточно одинаковыми. Небольшой плюс-минус допустим, но чтобы не сильно.
Как-то так.
NewWriter вне форума  
Непрочитано 19.09.2015, 14:33  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,091
Сказал спасибо: 2,566
Сказали Спасибо 11,900 раз(а) в 5,973 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Период посылок, наверняка, известен. Это же не неизвестное устройство? Поэтому достаточно сделать паузу после приема со слейва и не наворачивать излишние усложнения (это не способствует надежности).
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 19.09.2015, 14:41  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,003
Сказал спасибо: 0
Сказали Спасибо 4,946 раз(а) в 2,374 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Сообщение от vladh Посмотреть сообщение
Dosikus зря с пренебрежением относится к другим языкам
ему можно - хвост в виде милицейского жезла
за это время (с 10.09) и протокол можно изучить/создать, и программу на асме сваять (коль в ЯВУ плаваете), и ошибки при наличии железного осцилла, лог. анализатора и исд2 найти - не факт, что все устранили и новых не наделали.
если сделать очень низкой скорость USARTов и повесить на RX/TX/направление светодиоды, то можно по их свечению уже кое-что предположить/оценить, в ряде случаев звуковая карта в режиме записи/редактирования подойдет
jump вне форума  
Непрочитано 19.09.2015, 16:14  
vladh
Почётный гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: Неправильная работа Proton с RS485

Сообщение от akegor Посмотреть сообщение
Период посылок, наверняка, известен. Это же не неизвестное устройство? Поэтому достаточно сделать паузу после приема со слейва и не наворачивать излишние усложнения (это не способствует надежности).
Я уже так и сделал.
vladh вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PROSTAR PR6000 по RS485 volk_perm Производственное оборудование 14 09.01.2017 18:18
PIC18F242 неправильная работа LCD 16x2 Kpomobm PIC 17 02.09.2014 03:13
Напряжённая работа Roshens Отвлекитесь, эмбеддеры! 8 01.09.2010 23:08
Работа с RS485 okt03 Микроконтроллеры, АЦП, память и т.д 13 13.02.2008 10:59


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


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