Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
11.09.2015, 14:14
|
#41
|
Почётный гражданин KAZUS.RU
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
|
Re: Неправильная работа Proton с RS485
Сообщение от Boba_spb
|
Найдите учебные заведения в которых преподают Ваш Бесик. Может и вопрос Ваш отпадет сам собой
|
Когда я учился мне преподавали Алгол. Ну и что ![Весело](images/smilies/icon_laugh.gif)
А чем Вам VB неугодил?
Последний раз редактировалось vladh; 11.09.2015 в 14:17.
|
|
|
|
11.09.2015, 14:15
|
#42
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Неправильная работа Proton с RS485
Boba_spb, Есть у них заведение, заведение адептов .
Изучают методом тыка или ждут когда кто либо напишет готовое ...
__________________
Осторожно , злой кот
|
|
|
|
11.09.2015, 14:21
|
#43
|
Почётный гражданин KAZUS.RU
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
|
Re: Неправильная работа Proton с RS485
Сообщение от dosikus
|
Я просто немного открою вам глаза -
вы вместо изучения документации - пытаетесь использовать встроенные конструкции Протона. Именно пытаетесь, ибо даже не осознаете их механизм.
|
Спасибо за открытие мира. Но Ваши личностные выводы неверны. Я об этом спорить тоже не буду. Поскольку Вы начинаете переходить на личности, а получение ответа на мой вопрос не сильно продвинулось к ответу.
|
|
|
|
11.09.2015, 14:26
|
#44
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Неправильная работа Proton с RS485
vladh, упоротость вам только будет вредить . Отключите свою спесь и попытайтесь вникнуть:
Не знаю что у вас за версия Протона , у меня 2.0.33 .
Ну дык в нем даже в мануале есть уже готовое и без прерываний( кои вы к какому-то лешему приплели)
Код:
|
Example
' Receive values serially and timeout if no reception after 1 second
Device 16F877
Declare Xtal = 4
Declare Hserial_Baud = 9600 ' Set baud rate to 9600
Declare Hserial_RCSTA = %10010000 ' Enable continuous receive
Declare Hserial_TXSTA = %00100000 ' Enable transmit and asynchronous mode
Declare Hserial_Clear = On ' Clear the buffer before receiving
Dim Var1 as Byte
Loop:
Hserin 1000, Timeout, [Var1] ' Receive a byte serially into Var1
Print Dec Var1, " " ' Display the byte received
Goto Loop ' Loop forever
Timeout:
Cls
Print "Timed Out" ' Display an error if Hserin timed out
Stop |
Заодно просмотрим декларацию :
Цитата:
|
Syntax
Hserin Timeout, Timeout Label, Parity Error Label, [Modifiers, Variable {, Variable... }]
Overview
Receive one or more values from the serial port on devices that contain a hardware USART.
(Compatible with the melabs compiler)
Operators
Timeout is an optional value for the length of time the Hserin command will wait before jumping to label Timeout Label. Timeout is specified in 1 millisecond units.
Timeout Label is an optional valid BASIC label where Hserin will jump to in the event that a
character has not been received within the time specified by Timeout.
Parity Error Label is an optional valid BASIC label where Hserin will jump to in the event that
a Parity error is received. Parity is set using Declares. Parity Error detecting is not supported in
the inline version of Hserin (first syntax example above).
Modifier is one of the many formatting modifiers, explained below.
Variable is a Bit, Byte, Word, or Dword variable, that will be loaded by Hserin
|
Перевод нужен????????
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 11.09.2015 в 14:38.
|
|
|
|
11.09.2015, 14:28
|
#45
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Неправильная работа Proton с RS485
Последний раз редактировалось Boba_spb; 11.09.2015 в 14:31.
|
|
|
Сказали "Спасибо" Boba_spb
|
|
|
11.09.2015, 14:48
|
#46
|
Почётный гражданин KAZUS.RU
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
|
Re: Неправильная работа Proton с RS485
Сообщение от dosikus
|
Отключите свою спесь и попытайтесь вникнуть:
|
Да я не спесивый. Как раз очень терпеливый. Но подчас намеки идут настолько непрозрачные, что..
У меня версия компилятора такая же. И дело здесь не в том , чтобы просто передавать данные по этому интерфейсу. Я уже писал, что состыковал два МК по интерфейсу UART. Они периодически обмениваются данными и все работает вполне себе хорошо. Но вот когда я захотел усложнить задачу и организовать связь по 485 интерфейсу. Тем более, что переход на него должен был быть достаточно простой, а надежность канала значительно выше. Я собрал схему и в живую и в Протеусе. И тут началось. В результате я упростил схему и написал простейший код. И стал экспериментировать. В результате этих эксп. выявились непонятки, которые я здесь и опубликовал. И я еще раз хочу обратить внимание на то, что связь по UART работает хорошо. Если бы были виноваты помехи или несвоевременные прерывания то это бы проявлялось и здесь. Но проявляется почему то только когда появляются переходные М/Сх.
|
|
|
|
11.09.2015, 14:52
|
#47
|
Почётный гражданин KAZUS.RU
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
|
Re: Неправильная работа Proton с RS485
Сообщение от Boba_spb
|
С Вами тяжело спорить - к программированию Вы, похоже, имеете такое же отношение, как я к балет
|
Может быть. Попробуйте танцевать на сцене. Должно получиться. Программы, которые я писал для изготовленной мной и проданной аппаратуры работают уже по несколько лет. И вопросов от эксплуатационников пока не получал.
|
|
|
|
11.09.2015, 15:09
|
#48
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Неправильная работа Proton с RS485
Если код с UART тот же что вы выложили , можете его выкинуть и больше на него не ссылаться. Прерывания для Hserin как собаке пятая нога . Hserin высокоуровневая конструкция,
а для того чтобы пользовать прерывания нужна прямая работа с регистрами .
Сообщение от vladh
|
Программы, которые я писал для изготовленной мной и проданной аппаратуры работают уже по несколько лет. И вопросов от эксплуатационников пока не получал.
|
Вы о чем? Какие программы? На барсике, подобные вышеприведенной?
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 11.09.2015 в 15:24.
|
|
|
|
11.09.2015, 15:32
|
#49
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Неправильная работа Proton с RS485
Сообщение от anatol378
|
Очистку экрана также надо проводить через запрет-разрешение прерываний.
|
Сообщение от vladh
|
У дисплея для очистки экрана есть спец. команда. Но у компилятора для этого есть своя команда CLS, а значит прерывание во время её выполнения происходить не могут.
|
Если делать по уму, обеспечив целостность регистров W и статуса, а так же прочих задействованных в процессах регистров (то есть, чтобы данные в них не изменялись в результате действий в прерывании), то прерывания во время передачи команды (любой команды) дисплею происходить могут, и это не возбраняется.
Я не разбираюсь в этом самом бейсике и протоне, и не буду в него вникать. Но мне кажется, топикстартер, возможно, неправильно построил логику работы.
А вот читать автоматически сгенерированный ассемблерный листинг - это я и назвал "неблагодарным занятием". Ибо многа нипанятных букаф.
Сообщение от vladh
|
Когда компилятор транслирует свои команды в ассемблерные он должен постоянно отключать и включать разрешение обработки прерываний в пределах своих команд. Но я действительно не вижу в ассемблерной росписи таких отключений и включений. Получается, что действительно обработчик прерываний может наделать такого, что потом "в руки будет брать противно".
|
Вовсе необязательно постоянно включать-отключать ГЛОБАЛЬНО прерывания. Так сделает только неправильный компилятор. Прерывания для того и придуманы, чтобы вовремя среагировать.
А если по уму, то как раз обработчик прерываний должен позаботиться о том, чтобы не испортить те данные, с которыми работала основная программа.
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
11.09.2015, 15:39
|
#50
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Неправильная работа Proton с RS485
Сообщение от NewWriter
|
Вовсе необязательно постоянно включать-отключать ГЛОБАЛЬНО прерывания. Так сделает только неправильный компилятор. Прерывания для того и придуманы, чтобы вовремя среагировать.
А если по уму, то как раз обработчик прерываний должен позаботиться о том, чтобы не испортить те данные, с которыми работала основная программа.
|
Читай внимательно , Тс привел цитату о софтовых прерываниях а они фишка Протона.
У ТС каша в голове ...
__________________
Осторожно , злой кот
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:23.
|
|