Easyelectronics.ru

Электроника для всех
Текущее время: 17 дек 2018, 04:19

Часовой пояс: UTC + 5 часов




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 1645 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 66  След.
Автор Сообщение
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 14:22 
Только пришел
Аватара пользователя

Зарегистрирован: 15 дек 2011, 22:23
Сообщения: 15
Vga, MrYuran, спасибо за ответы.

Попробовал несколько return-ов поставить по условиям. Посмотрел асм, да, действительно все собралось на один RETI.

Vga писал(а):
А вообще, размещать икону "конец" в середине кода - оригинально-с.


Вот мне это тоже показалось нелогичным абсолютно. Что мешало размещать икону "Конец" там, где ей и место.

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 18:11 
Только пришел
Аватара пользователя

Зарегистрирован: 15 дек 2011, 22:23
Сообщения: 15
Хм, почему-то Дракон стал зависать при сохранении файлов проекта (не листа). И через меню "Программирование" и просто при нажатии F9. И даже при нажатии на четвертый квадратик иконы "Модуль" (чтобы просто посмотреть собраный код). Среда просто зависает и "Не отвечает". При повторном запуске слетает "Вид" (белый фон). Пробовал удалять папку программы и распаковывать снова.

UPD: Как я понял, это связано с тем что путь к программным файлам ведет в папку с проектом AVR Studio 5. Я просто хотел чтобы при изменении схемы в Драконе, код в студии менялся автоматом...

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 19:33 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 22 фев 2010, 19:44
Сообщения: 86
Откуда: Челябинск
Здравствуйте!
Посмотрел ролики Сергея Ефанова, зацепило решил попробовать, поднял проект часов на МК Atmega-48 который и выкладываю здесь. Может кому поможет начать работать с данной средой.
При написании возник вопрос если в цикле для есть условный переход,то код не собирается из-за, того что транслятор размещает метку в конце цикла для, может кто подскажет как устранить:
пример:
Код:
/* F:\Eclipse_progekt\clock\Новый_01.drt */
    /* 1. ИС Дракон. Трансляция маршрутной части. Изменение 06.02.2012 20:27:46 */
    /* Схема - Процедура */
ISR (SIG_OVERFLOW1)
{

    /* ==================== Шампур */

    /* 2. Заголовок // Обработка служебного таймера */

    /* 17. ЦиклДляНачало // обработка таймеров от 0 до maxGTIMERS */
uint8_t i;
for (i=0; i>=maxGTIMERS; i++)
{

    /* 8. Вопрос // таймер запущен */
if (!(GTStates [i]==TIMER_RUNNING)) goto L18;

    /* 3. Действие // увеличить значение */
GTimers[i]++;

L18:
    /* 18. ЦиклДляКонец // конец обработки */
}

    /* 13. Конец // Конец */
return;

}


Вложения:
часы дракон.rar [62.65 Кб]
Скачиваний: 242
цикл.GIF
цикл.GIF [ 30.72 Кб | Просмотров: 13272 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 19:48 
Заглядывает иногда

Зарегистрирован: 25 дек 2011, 20:47
Сообщения: 73
edm2007 писал(а):
UPD: Как я понял, это связано с тем что путь к программным файлам ведет в папку с проектом AVR Studio 5. Я просто хотел чтобы при изменении схемы в Драконе, код в студии менялся автоматом...


Закономерное желание. Делал так для IAR, обошлось без висов. Не слишком длинный путь или может быть в пути присутствуют пробелы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 20:00 
Старожил

Зарегистрирован: 29 янв 2012, 20:16
Сообщения: 496
Mega_Volt писал(а):
При написании возник вопрос если в цикле для есть условный переход,то код не собирается из-за, того что транслятор размещает метку в конце цикла для, может кто подскажет как устранить:

Я не пользовался Си.
Не понял. Разве нельзя поместить метку перед концом цикла? Что надо устранить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 20:10 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 22 фев 2010, 19:44
Сообщения: 86
Откуда: Челябинск
Цитата:
Я не пользовался Си.
Не понял. Разве нельзя поместить метку перед концом цикла? Что надо устранить?

Здравствуйте, Геннадий.
Суть в том, что в моем примере метка L18 при трансляции ставится перед закрывающейся скобкой цикла для и компилятор не понимает, какое действие выполняется после этой метки. Для устранения проблемы думаю нужно сделать так, чтобы метка транслировалась в начало цикла для.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 20:29 
Только пришел

Зарегистрирован: 05 фев 2012, 14:13
Сообщения: 10
Mega_Volt писал(а):
код не собирается из-за, того что транслятор размещает метку в конце цикла для, может кто подскажет как устранить:
В иконе, закрывающей цикл, напишите ;}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 20:54 
Только пришел

Зарегистрирован: 05 фев 2012, 14:13
Сообщения: 10
edm2007 писал(а):
Хм, почему-то Дракон стал зависать ... это связано с тем что путь к программным файлам ведет в папку с проектом AVR Studio 5. Я просто хотел чтобы при изменении схемы в Драконе, код в студии менялся автоматом...
Я не знаю, почему это у Вас происходит. Могу только сказать, что работаю с ИС очень много, в зависаниях не замечена. Я использую её при работе с IAR Embedded WorkBench IDE. Для своего удобства зарегистрировал в в IDE файлы .drt сл. образом: Tool/Configure Viewers/File Name Extensins
Код:
.drt
Tool/Configure Viewers/Command Line
Код:
d:\drakon\drakon.bat $PROJ_DIR$\USER\ "$FILE_PATH$"
Файлы Дракон-схем включены в проект. При щелчке по файлу в проекте вызывается drakon.bat, которому передаются два параметра: путь к папке с файлами проекта, и имя файла дракон-схемы. Содержимое бат. файла:
Код:
@echo off
D:
cd %1
start d:\drakon\dragon.exe %1 %1%2
При запуске папка с проектом устанавливается как текущая, потом вызывается ИC Дракон, которой в качестве параметра передаётся имя файла с полным путём.
В файле "dragon.ini" руками поправил одну строчку:
Код:
PathPrg=.
После чего ИС Дракон сохраняет программные файлы в текущий каталог. В результате я использую ИС во множестве проектов, без переназначения каталога сохранения программных файлов.
Думаю, что в Вашей Studio тоже можно сделать что то подобное.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 20:59 
Только пришел
Аватара пользователя

Зарегистрирован: 15 дек 2011, 22:23
Сообщения: 15
digitalinvitro писал(а):
Закономерное желание. Делал так для IAR, обошлось без висов. Не слишком длинный путь или может быть в пути присутствуют пробелы?


В плане путей, пробелов и русских букв все нормально, это я научен. :) Просто закономерность пока найти не могу, в каких-то случаях все нормально работает. Но если виснет то всё. После этого хоть пересохраняй, хоть путь в другое место указывай - бесполезно. Открываться - открывается, можно перерисовывать что угодно, а вот собираться не желает. Беда будет если с рабочим проектом такое случится.

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 21:01 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 22 фев 2010, 19:44
Сообщения: 86
Откуда: Челябинск
Цитата:
В иконе, закрывающей цикл, напишите ;}

Спасибо, так действительно собирается, на мне кажется если бы метка транслировалась в начало цикла "для", то было бы логичнее и в конце цикла достаточно было бы написать только }, что более очевидно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 21:07 
Только пришел
Аватара пользователя

Зарегистрирован: 15 дек 2011, 22:23
Сообщения: 15
efanov писал(а):
Могу только сказать, что работаю с ИС очень много, в зависаниях не замечена.


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

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 21:18 
Заглядывает иногда

Зарегистрирован: 25 дек 2011, 20:47
Сообщения: 73
edm2007 писал(а):
Хотя это не совсем правильно, наверное, когда два приложения тянутся к одному файлу одновременно. Может в этом и дело...


Да нет тут все нормально при возвращении в студию, будет вопрос - обновить файл. Хотя за AVR Studio не скажу, для AVR компилировал gcc, а вот для msp430 IAR всегда запрашивает обновление файла. Но дело то не в студии, виснет то ИС-Дракон?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 21:57 
Только пришел
Аватара пользователя

Зарегистрирован: 15 дек 2011, 22:23
Сообщения: 15
Студия и спрашивает про обновление файла, в этом плане все нормально. Но вот в какой момент зависает Дракон, пока не могу сказать. Сейчас все работает, например. Время покажет...

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 22:27 
Старожил
Аватара пользователя

Зарегистрирован: 27 янв 2012, 17:24
Сообщения: 525
У меня зависание тоже было, но один раз и без серьезных последствий.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 22:32 
Старожил
Аватара пользователя

Зарегистрирован: 27 янв 2012, 17:24
Сообщения: 525
efanov писал(а):
Файлы Дракон-схем включены в проект. При щелчке по файлу в проекте вызывается drakon.bat, которому передаются два параметра: путь к папке с файлами проекта, и имя файла дракон-схемы. Содержимое бат. файла:
Код:
@echo off
D:
cd %1
start d:\drakon\dragon.exe %1 %1%2
При запуске папка с проектом устанавливается как текущая, потом вызывается ИC Дракон, которой в качестве параметра передаётся имя файла с полным путём.
В файле "dragon.ini" руками поправил одну строчку:
Код:
PathPrg=.
После чего ИС Дракон сохраняет программные файлы в текущий каталог. В результате я использую ИС во множестве проектов, без переназначения каталога сохранения программных файлов.
Думаю, что в Вашей Studio тоже можно сделать что то подобное.

Вот, уже дело :)
По крупицам собираем?инфу.
Таки не зря я тему завел.
Глядишь, на доку насобираем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 06 фев 2012, 23:19 
Только пришел
Аватара пользователя

Зарегистрирован: 15 дек 2011, 22:23
Сообщения: 15
efanov писал(а):
Думаю, что в Вашей Studio тоже можно сделать что то подобное.


Вполне возможно. Только я совсем ничего не понял. :) Ну да со временем разберусь, думаю...

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 07 фев 2012, 01:51 
Только пришел
Аватара пользователя

Зарегистрирован: 15 дек 2011, 22:23
Сообщения: 15
Уф, разобрался почему зависало. Как и бывает обычно, сам же виноват. :) Пока разбирался со студией, рисовал в Драконе что в голову пришло. Лишь бы проверить.

Изображение

Что-то переклинило что 18 как раз и будет меткой, на которую все закольцуется. А вышло так что если в ветке пусто, то все зависает. Извините за баламутство. )))

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 07 фев 2012, 03:38 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 09 фев 2011, 23:57
Сообщения: 116
Цитата:
При щелчке по файлу в проекте вызывается drakon.bat, которому передаются два параметра: путь к папке с файлами проекта, и имя файла дракон-схемы.

Зачем эти пляски с батником? Укажи
Command=d:\drakon\dragon.exe
Argument="$PROJ_DIR$\USER\" "$PROJ_DIR$\USER\$FILE_PATH$"
Initial Directory="$PROJ_DIR$\USER\"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 07 фев 2012, 09:54 
Старожил
Аватара пользователя

Зарегистрирован: 27 янв 2012, 17:24
Сообщения: 525
MrYuran писал(а):
Также, лично я бы преобразовывал ветки в do{}while(0), пусть даже с goto между ними. Это улучшает структуру текста и облегчает дальнейшую работу именно с текстом. И самое главное, что теоретически никаких препятствий для этого не вижу.
Начало ветки сопроводить текстом "do{", а конец - "}while(0)", ничего больше не меняя.

Как идея?
Либо ещё проще: добавить квадратики "Приложение П" к началу и концу ветки.
Да хоть и вообще ко всем иконам. Можно туда по умолчанию комментарии вписать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 07 фев 2012, 12:08 
Заглядывает иногда

Зарегистрирован: 25 дек 2011, 20:47
Сообщения: 73
MrYuran писал(а):
Либо ещё проще: добавить квадратики "Приложение П" к началу и концу ветки.
Да хоть и вообще ко всем иконам. Можно туда по умолчанию комментарии вписать.


Фактически никто же не мешает вставлять икону "действие" перед такими проблемными местами, указывать там либо комментарий либо вообще пустой блок для Си {};


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 07 фев 2012, 12:52 
Старожил
Аватара пользователя

Зарегистрирован: 27 янв 2012, 17:24
Сообщения: 525
digitalinvitro писал(а):
Фактически никто же не мешает вставлять икону "действие" перед такими проблемными местами, указывать там либо комментарий либо вообще пустой блок для Си {};

Это уже совсем костыли.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 08 фев 2012, 22:41 
Старожил

Зарегистрирован: 29 янв 2012, 20:16
Сообщения: 496
Выполнена доработка ИС Дракон для программирования на различных, произвольных языках и ассемблерах.

Выпуск от 08.02.2012 скачать можно здесь

После демонстрации Сергеем Ефановым программирования на Си микроконтроллеров, поступило много требований о использовании ИС Дракон с другими языками и ассемблерами.

ИС Дракон доработан:
Убран фиксированный набор языков.
Разработан язык настройки ИС Дракон на конкретный язык программирования, ассемблер.
Ограничен выбор языка (ассеблера). Необходимо наличие операторов: комментарий, метка, безусловный и по условию переходы.
Введены в меню пункты "Программирование / Описание нового языка", "Программирование / Описание вашего языка".
Введен в меню пункт "Лист / Статистика".

Цитата:
; Описание языка программирования XXXXXX
; Редактируйте для вашего языка
; Имя файла описания - LangProgramm.ini
; Файл поместить в папку программы
[Operator]
; Комментарий до конца строки
Comment=// <Comment/>
;Comment=/* <Comment/> */
; Метка
Label=L<NN/>: ;
; 1=============== для Delphi, Pascal и других
; Объявление меток
Labels=L<NN/>
; 1======
; 2================ для Си и других
; Безусловный переход
Goto=goto L<NN/>;
; Переход по условию ДА
YesGoto=if (<Usl/>) goto L<NN/>;
; Переход по условию НЕТ
NotGoto=if (!(<Usl/>)) goto L<NN/>;
; 2======
; 3=============== или для ассемблеров
; Безусловный переход
Goto=jmp L<NN/>
; Переход по условию ДА
YesGoto=jmpz L<NN/>
; Переход по условию НЕТ
NotGoto=jmpnz L<NN/>
; 3======
; 4=============== Для использования трассировки
; Трассировка
Trick=trassa_macro(<NN/>);
; Трассировка с новой строки
TrickNS=trassa_macro_ns(<NN/>);
; 4======

Цитата:
; Описание языка программирования Си
; Редактируйте для вашего языка
; Имя файла описания - LangProgramm.ini
; Файл поместить в папку программы
[Operator]
; Комментарий до конца строки
Comment=// <Comment/>
;Comment=/* <Comment/> */
; Метка
Label=L<NN/>: ;
; 2================ для Си и других
; Безусловный переход
Goto=goto L<NN/> ;
; Переход по условию ДА
YesGoto=if (<Usl/>) goto L<NN/>;
; Переход по условию НЕТ
NotGoto=if (!(<Usl/>)) goto L<NN/>;
; 2======
; 4=============== Для использования трассировки
; Трассировка
Trick=trassa_macro(<NN/>);
; Трассировка с новой строки
TrickNS=trassa_macro_ns(<NN/>);
; 4======

Код:
Статистика

   1. D=2, I+U=207, I=114, ?I=1, A=14, B=0, P=75, L=57, X*Y=3322*1031, V=2, Главное меню_1.drt
V 2. D=9, I+U=417, I=250, ?I=0, A=0, B=1, P=188, L=2, X*Y=7854*1022, V=0, Получение файла прошивки.drt

=== D=11, I+U=624, I=364, ?I=1, A=14, B=1, P=263, L=59, V=2
Где: D - количество схем, I+U - икон + узлов, I - икон, ?I - икон слепышей, A - А текстов, B - B текстов, P - P текстов, L - меток, X*Y - размер листа, V - версий, наименование листа.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 09 фев 2012, 10:02 
Старожил
Аватара пользователя

Зарегистрирован: 27 янв 2012, 17:24
Сообщения: 525
Ну надо же...
Оказывается, не нужно изобретать велосипед,
уже все есть...

Цитата:
Приложение DrakonToTxt предназначено для трансляции файла формата *.drt,
полученного после и.с. DRAKON Г.Н. Тышова, в текстовый файл программы на языке Си (C#).
Приложение создавалось как рабочий инструмент, необходимый для решения насущных проблем
разработки и производства, поэтому при написании программ и.с. DRAKON используется с
нарушением правил ДРАКОНА В. Д. Паронджанова и рекомендаций Г.Н. Тышова.
В настоящем проекте сделана попытка описать при помощи и.с. DRAKON программу на
языке Си (а не наоборот, что было бы, наверное, правильнее, но это более сложная реализация).
Ниже приводятся некоторые приемы работы со схемами и иконами и.с. DRAKON для
получения рабочего Си – файла.


Лично мне описание в pdf-ке очень понравилось.
Только запустить не смог, надо найти обновленную версию, под новый (текущий) формат .drt


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 09 фев 2012, 13:25 
Заглядывает иногда

Зарегистрирован: 25 дек 2011, 20:47
Сообщения: 73
dragonedit писал(а):
Выполнена доработка ИС Дракон для программирования на различных, произвольных языках и ассемблерах.

Выпуск от 08.02.2012 скачать можно здесь


спасибо! будем пробовать.

dragonedit писал(а):
; Переход по условию ДА
YesGoto=jmpz L<NN/>
; Переход по условию НЕТ
NotGoto=jmpnz L<NN/>


Геннадий Николаевич развейте мои сомнения, переход возможен только одного типа z, nz, к примеру а если по тексту программы потребуется контроль различных флагов с, nc, s, ns, v, nv и так далее. Этого пока не предусмотрено?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение ИС ДРАКОН
СообщениеДобавлено: 09 фев 2012, 15:53 
Только пришел
Аватара пользователя

Зарегистрирован: 15 дек 2011, 22:23
Сообщения: 15
Замечательно, теперь ничего не виснет а выдает ошибку "программа зациклена". :) Да и сама суть описания нужного языка несомненно очень удобна.

Тут вот только непонятно что должно быть:

Изображение

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 1645 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 66  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB