Вверх ↑
Этот топик читают: Гость
Ответов: 20
Рейтинг: 6
#76: 2015-11-03 23:50:14 ЛС | профиль | цитата
Благодарю за труд за создание пакета. Добавьте пожалуйста attiny13a если не трудно...
------------ Дoбавленo в 23.50:
Подскажите что я делаю не так? Не могу скомпилировать.

Add(EntryPoint,9186961,35,133)
{
Chip=4
Optimize=0
link(onStart,10223430:doEvent,[])
}
Add(Loop,13158585,196,203)
{
link(onLoop,16638210:doEvent,[])
}
Add(PortCfg,5966053,196,112)
{
@Hint=#38:1.Настройка порта B, пин 3 на выход...|
PORT=1
PIN_3=0
AddHint(-74,-57,172,26,@Hint)
}
Add(Hub,10223430,105,133)
{
link(onEvent1,5966053:doSet,[(157,139)(157,118)])
link(onEvent2,13158585:doLoop,[(157,146)(157,209)])
}
Add(PortOut,9329633,392,203)
{
PORT=1
PIN=3
link(onWrite,5785306:doSleep,[])
}
Add(data,15958793,350,175)
{
Lines=#1:1|
}
Add(DoData,6471123,350,203)
{
link(onEventData,9329633:doWrite,[])
link(Data,15958793:data,[])
}
Add(Delay,5785306,497,203)
{
Delay="500"
}
Add(PortOut,13185888,392,301)
{
PORT=1
PIN=3
link(onWrite,9454142:doSleep,[])
}
Add(data,499440,350,273)
{
Lines=#1:0|
}
Add(DoData,12487044,350,301)
{
link(onEventData,13185888:doWrite,[])
link(Data,499440:data,[])
}
Add(Delay,9454142,497,301)
{
Delay="500"
}
Add(Hub,16638210,259,203)
{
link(onEvent1,6471123:doData,[])
link(onEvent2,12487044:doData,[(311,216)(311,307)])
}
Add(InfoTip,9017995,322,154)
{
Info=#16:зажечь светодиод|
Font=[MS Sans Serif,8,1,32768,1]
Width=134
Height=88
}
Add(InfoTip,2726916,322,252)
{
Info=#18:погасить светодиод|
Font=[MS Sans Serif,8,1,8421504,1]
Width=134
Height=88
}
Add(InfoTip,13571980,462,154)
{
Info=#14:подождать 0.5с|
Font=[MS Sans Serif,8,1,8421504,1]
Width=113
Height=88
}
Add(InfoTip,13150106,462,252)
{
Info=#15:подождать 0.5с,|13:начать заново|
Font=[MS Sans Serif,8,1,8421504,1]
Width=113
Height=88
}



Отладка говорит следующее:

Подготовка к сборке проекта...
Генерация кода целевого языка
Компоновка проекта...
Command line: make_gcc.exe "Crogram FilesHiAsmElementshiavrExampleBlinkBlink.c";"Crogram FilesHiAsmElementshiavrcodeBlink.hws"
ђҐ¦Ё¬ ўлў®¤  Є®¬ ­¤ ­  нЄа ­ (ECHO) ®вЄ«о祭.
ђҐ¦Ё¬ ўлў®¤  Є®¬ ­¤ ­  нЄа ­ (ECHO) ®вЄ«о祭.
#@avr-gcc --version
‘Ёб⥬Ґ ­Ґ г¤ Ґвбп ­ ©вЁ гЄ § ­­л© Їгвм.
‘Ёб⥬Ґ ­Ґ г¤ Ґвбп ­ ©вЁ гЄ § ­­л© Їгвм.
process_begin: CreateProcess(NULL, #@avr-gcc --version, ...) failed.
make (e=2): Не удается найти указанный файл.

make: *** [gccversion] Error 2
Сборка завершена.

карма: 0

0
Ответов: 20
Рейтинг: 6
#77: 2015-11-14 08:44:32 ЛС | профиль | цитата
Здравствуйте уважаемые форумчане. Пожалуйста, покажите примеры использования компонентов: глобальные прерывания (Cli), прерывания по входу (INT), цикл с условием (While), переменная (Var), глобальная переменная (global var), безусловный переход (goto). Заранее благодарен.
карма: 0

0
Ответов: 20
Рейтинг: 6
#78: 2015-11-16 22:59:50 ЛС | профиль | цитата
Печально, печально что проект заброшен.
карма: 0

0
Ответов: 203
Рейтинг: 2
#79: 2016-01-13 19:45:45 ЛС | профиль | цитата
Уважаемый Galkov, чем плох данный пакет в смысле генерации ЯВУ? Очень хотелось бы узнать Ваше мнение....
карма: 0

0
Ответов: 9906
Рейтинг: 351
#80: 2016-01-14 22:08:24 ЛС | профиль | цитата
Про качество пакета я ничего сказать не могу. Просто не изучал его подробно. Поэтому, все ниже сказанное относится имеющимся технологиям программирования, НО НЕ к Автору пакета.

Мне не нравится сама идея генерации кода для контроллеров реального времени с помощью ЯВУ.
Вообще-то, у AVR порядка 130 команд (по максимуму). И все - это будет полное и законченное знание об архитектуре. В любом ЯВУ заморочек и подводных камней - значительно больше.
Мне не представляется правильным (а главное - безошибочным) работа в стиле: думаешь одно, пишешь другое, получаешь - третье.

Еще меньше понравилось бы применение некой ОС. Настоящих и эффективных RTOC просто нет. Вообще-то, вся наша жизнь -- это Real Time. Многие про это забыли (грядет эра лохов), но разработчики микроконтроллеров (не все, должен отметить) еще помнят.

Можно было БЫ генерировать код на АСМ-е, но у нас пока нет удовлетворительной технологии генерации такого кода. Грубо говоря, кодогенератор не может получить из скриптов элементов достаточной информации для генерации именно рационального (а не какой получится) кода.
А это очень важно именно для AVR: 8-ми битный контроллер, всего 20 МГц, очень ограниченные ресурсы по памяти.
И делать можно довольно серьезные вещи. Как оказалось. Если не на ЯВУ, и голова не деревянная.

карма: 9

0
Ответов: 5227
Рейтинг: 587
#81: 2016-01-15 12:37:30 ЛС | профиль | цитата
Galkov писал(а):
(грядет эра лохов)
уже наступила, раньше с помощью логарифмической линейки корабли в космос летали.
И сейчас на орбиту спутники выводят только вот что-то часто падают, прогресс так скажем, суперкомпьютеры не справляются (ну или люди которые сидят за ними "человеческий фактор", так сейчас модно говорить)
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Гость
Ответов: 17029
Рейтинг: 0
#82: 2016-01-15 17:43:46 правка | ЛС | профиль | цитата


Редактировалось 7 раз(а), последний 2022-09-20 04:40:28
карма: 0

0
Ответов: 203
Рейтинг: 2
#83: 2016-01-17 18:14:05 ЛС | профиль | цитата
Galkov!

Обращение к г. Galkov (наверно много пафоса и орфографических ошибок)!

Нужен пакет для программирования Arduino. Если уточнить правильно задачу, то создать основу для пакета Arduino. Я знаю, что Вы ОЧЕНЬ много знаете про внутренности МК, и у Вас богатый опыт программирования. КТО сможет создать ПРАВИЛЬНУЮ основу для этого пакета ? Не всегда этот код будет управлять АЭС – может просто мигать светодиодом, а может просто читать температуру с DS18B20, и отдавать ее по протоколу MODBUS. Понятно нет материальной выгоды, может и интереса к таким мелочам….

карма: 0

0
Ответов: 203
Рейтинг: 2
#84: 2016-01-28 19:46:59 ЛС | профиль | цитата
wss60, отзовись! нужна твоя помощь.

Вопрос в следующем:
смотрю hiLed.hws
там есть функция Init
code_36881.txt

Зачем она и что делает? Если можно то построчно
карма: 0

0
файлы: 1code_36881.txt [137B] [919]
Ответов: 704
Рейтинг: 44
#85: 2016-01-29 10:40:17 ЛС | профиль | цитата
kaban4ik писал(а):
Зачем она и что делает? Если можно то построчно

В каждом элементе есть данная функция, которая имеет в теле этой функции определенный ряд выполнение действий кодогенерации. Т.е в этой функции описываются действия последовательности принтование по блокам. Когда создаем какой либо проект, в редакторе видим всего один элемент - это: (EntryPoint или же MainForm) т.е главный элемент формы. В этой главной форме, есть точка onStart(), которая отвечает за точку входа начала проекта.
1. В главной форме регистрируются блоки для сбора кода.
2. В главной форме должна быть правильный алгоритм подстановки блока.
3. В дочерних элемента должен быть алгоритм принтование по блокам в главную форму, которые будут принтовать ваш целевой код.

И почитать не помешает Особенности работыРасширение CodeGenВведениеОператоры языкаВстроенные переменныеВстроенные функцииДополнительные функцииУправление блокамиИнтерфейс доступа к дереву элементовМассивыПрочие системные вызовыУправление секциямиЛогические операторы
------------ Дoбавленo в 10.04:
Так же есть готовый туториал от Netspirit в котором подробно все написанно. http://forum.hiasm.net//getfile/24542
карма: 0

0
Ответов: 203
Рейтинг: 2
#86: 2016-01-30 18:28:36 ЛС | профиль | цитата
Тут набросал небольшое дополнение для пакета, можно шить ARDUINO прямо из HIASM. Но так как нет поддержки в пакете atmega328p (моя ARDUINO NANO v.3), потому помигать не смог. Если кто сможет протестить - пишите. А если кто добавит поддержку моего камня - вообще отлично будет, ибо структуру пакета пока не понимаю.
http://forum.hiasm.net/forum_serv.php?q=56&id=4187
карма: 0

0
Ответов: 20
Рейтинг: 6
#87: 2016-01-30 20:15:18 ЛС | профиль | цитата
По моему поддержка atmega328p в пакете имеется, а вот Attiny13 нету.
карма: 0

0
Ответов: 704
Рейтинг: 44
#88: 2016-01-30 21:31:54 ЛС | профиль | цитата
kaban4ik писал(а):
Тут набросал небольшое дополнение для пакет

Какое, то что в архиве?

kaban4ik писал(а):
можно шить ARDUINO прямо из HIASM

Это как? что уже и порт пашет при компиляции?

kaban4ik писал(а):
ибо структуру пакета пока не понимаю.

У тебя уже фундамент заложен, струтуру пакета в мануале я так полагаю ты прочитал, раз так блоки выставил. Теперь остается прочитать мануал по функциям FTCG и писать элементы.
Брать готовые исходники и раскидывать их по элементам. Циклы - for, while. Условие - if, switch и.т.д по элементам.

Sergius писал(а):
помигать не смог

Не смог потому что!
1.Нет компилятора
2.Нет исходного кода + порт не подключен к ARDUINO.

Если что-то хочешь слепить, прочитай мануал по кодогенератору. А тут уже подскажем что как. Если нет понятие о синтаксисе FTCG - то, я не вижу дальнейшего развития пакет.
карма: 0

0
Ответов: 203
Рейтинг: 2
#89: 2016-01-30 21:47:27 ЛС | профиль | цитата
Kazbek17 aka Александр прежде чем писать надо проверять работу.

1. смотрим 1 пост
1.1. установить пакет в папку Hiasm.
1.2. Скачать и установить в любую папку компилятор WinAvr(желательно на диск C:\).

2. Заменяем файлы теми что в архиве.
3. Запускаем hiasm и выбираем COM порт по которому сидит Ардуинка. Тип программатора и скорость оставляем по умолчанию. Устанавливаем флаг Flash_hex в свойствах проекта. Запускаем компиляцию в Hiasm и все.
4. Смотрим результат или ошибки в окне Hiasm "Отладка".

И будет Вам счастье.

P.S.

Blink заработал однако .

Add(EntryPoint,9186961,161,147)
{
Chip=5
Flash_hex=1
link(onStart,10554345:doEvent,[])
}
Add(PortOut,11041619,574,224)
{
PORT=1
PIN=5
}
Add(PortCfg,3712577,441,147)
{
PORT=1
PIN_5=0
AddHint(66,-14,22,13,PORT)
AddHint(67,9,48,13,PIN_5)
}
Add(Hub,10554345,231,147)
{
link(onEvent1,3712577:doSet,[])
link(onEvent2,10836947:doLoop,[(273,160)(273,230)])
}
Add(DoData,8315717,511,224)
{
Data=Integer(1)
link(onEventData,11041619:doWrite,[])
AddHint(0,-30,21,13,Data)
}
Add(Delay,10425155,441,224)
{
Delay="500"
link(onSleep,8315717:doData,[])
}
Add(Loop,10836947,301,224)
{
link(onLoop,5749560:doEvent,[])
}
Add(PortOut,11717924,574,308)
{
PORT=1
PIN=5
}
Add(DoData,1586256,511,308)
{
Data=Integer(0)
link(onEventData,11717924:doWrite,[])
AddHint(-1,-31,21,13,Data)
}
Add(Delay,6978318,441,308)
{
Delay="500"
link(onSleep,1586256:doData,[])
}
Add(Hub,5749560,364,224)
{
link(onEvent1,10425155:doSleep,[])
link(onEvent2,6978318:doSleep,[(410,237)(410,314)])
}


Спасибо автору пакета, он проделал очень большую работу.
карма: 0

0
Ответов: 704
Рейтинг: 44
#90: 2016-01-31 09:25:33 ЛС | профиль | цитата
kaban4ik писал(а):
прежде чем писать надо проверять работу.

[flood]
Снимаю шляпу сударь. [/flood]
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)