Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2020, 11:11   #1
sheppard
Гуру
 
Регистрация: 19.04.2020
Сообщения: 215
Сказал Спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении
По умолчанию прерывания и оформление - где-то накосячил.

Железяка ругается.

https://yadi.sk/i/pzrEBD-HLKBXzQ

https://yadi.sk/i/ei_YXWvuNzXTuw

Вот зуб даю что где-то мелкопакостную мелочь пропустил...
sheppard вне форума   Ответить с цитированием
Старый 18.08.2020, 11:49   #2
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 712
Сказал Спасибо: 19
Сказали Спасибо 145 раз(а) в 138 сообщении
По умолчанию

синтаксис прерывания неверный.
interrupt decl=32 when $meas_pulse[3]==true then do forward() - неправильно
interrupt decl 32 when $meas_pulse[3]==true do forward() - правильно
Роботёр вне форума   Ответить с цитированием
cказали "Спасибо" Роботёр за это сообщение:
sheppard (18.08.2020)
Старый 18.08.2020, 13:22   #3
sheppard
Гуру
 
Регистрация: 19.04.2020
Сообщения: 215
Сказал Спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении
По умолчанию

Это уже злит.

Ругается, что после INI должна быть '('

Вот кто придумывал синтаксис ))

Все перепробовал - или не работает
interrupt decl 32 when $meas_pulse[3]==true do forward()

или не инициализируются переменные.

В описанке КРЛ нет даже намека как оформить INI

Где я снова накосячил?
sheppard вне форума   Ответить с цитированием
Старый 18.08.2020, 13:30   #4
sheppard
Гуру
 
Регистрация: 19.04.2020
Сообщения: 215
Сказал Спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении
По умолчанию

https://yadi.sk/i/kwHV4iaFW3MZWw

https://yadi.sk/i/rIDIJ_L4Ime5Qg

Не бывает же такого... наверняка все же есть кривые правила KRL
sheppard вне форума   Ответить с цитированием
Старый 18.08.2020, 13:43   #5
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 712
Сказал Спасибо: 19
Сказали Спасибо 145 раз(а) в 138 сообщении
По умолчанию

что вообще у тебя за строчка ini? ты руками ее написал или это формуляр, который создается вместе с модулем?
лучше скинь архив
Роботёр вне форума   Ответить с цитированием
Старый 18.08.2020, 13:54   #6
sheppard
Гуру
 
Регистрация: 19.04.2020
Сообщения: 215
Сказал Спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении
По умолчанию

все руками пишу надо же разобраться...

строчу в оранжэдите

как оформляется Ini, причем без подпрограмм и хитростей? все объявляемые переменные просто перечисляются.

ну не может же там быть подводных камней
sheppard вне форума   Ответить с цитированием
Старый 18.08.2020, 14:38   #7
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 712
Сказал Спасибо: 19
Сказали Спасибо 145 раз(а) в 138 сообщении
По умолчанию

я не понимаю. ini - это формуляр, который создается при создании модуля. Он не обязателен. Если у тебя это просто текстовая строчка, то конечно робот ее не поймет. Пришли архив.
Вот так вот выглядит полностью открытый ini формуляр
;FOLD INI
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 )
;ENDFOLD (BASISTECH INI)
;FOLD USER INI
;Make your modifications here

;ENDFOLD (USER INI)
;ENDFOLD (INI)
Роботёр вне форума   Ответить с цитированием
Старый 18.08.2020, 15:04   #8
sheppard
Гуру
 
Регистрация: 19.04.2020
Сообщения: 215
Сказал Спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении
По умолчанию

примерно так и понял, но все весело.

Ini, по сути, это то, что интерпретатор проглядывает, но не использует.

Bas (#initmov,0 ) - но вот это что за чудо? у меня же потом есть инициализация координат.

где-то есть хитрость.

---

Код скину, но там ничего интересного Поэтому и хочу разобраться.
sheppard вне форума   Ответить с цитированием
Старый 26.08.2020, 11:35   #9
sheppard
Гуру
 
Регистрация: 19.04.2020
Сообщения: 215
Сказал Спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении
По умолчанию

Странно - все делаю в OrangeEdit'е...

кажется, подглюкивает? Ведь файлы, которые он "ест", обычные текстовые.

То есть видятся вот так - https://yadi.sk/d/wlbzBvmLDz89uQ - в архиве все как есть, ровно то, что прекрасно глотает OrangeEdit, и в нем же файлы создавались. Это все ошибочные, но стали они такими только после добавления:
global interrupt decl 32 when $meas_pulse[3]==true do forward()


Первые 2-3-4 файла показывают смысловые ошибки "требуется операнд" на строке global interrupt decl 32 when $meas_pulse[3]==true do forward()

не слишком ясно, что хочет, но хоть понятно.

Но вот в последних трех файлах полный зашквар. Требует после INI скобку "(". Может надо было и закрыть? Но уже люто ругается даже сам Orange. На всякий пожарный потасовал строки, но там уже ругань что переменные объявляются не в INI.

===

может влепить напрямую в Оранже

GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 )

?

Но матерится. Другое дело что, мол, пусть Оранж матерится, но робот делает... ?
sheppard вне форума   Ответить с цитированием
Старый 26.08.2020, 12:08   #10
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 712
Сказал Спасибо: 19
Сказали Спасибо 145 раз(а) в 138 сообщении
По умолчанию

я не вижу ни одной программы, в которой бы ты объявил прерывание. где смотреть?
Роботёр вне форума   Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

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


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

vBulletin v3.6.2, Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co