Хорошая игрушка для тех, кто не хочет париться с программированием и нужно создать быстро и разово что-то простенькое.
Кстати, а почему модуль, подключенный к АЦП перед множителем, назвается IntToString ? Это же - перевод в строку, а не в вещественное число. И каким образом потом эта строка умножилась на коэффициент ?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс ноя 30, 2014 16:10:59
xkp
Что то не как не разберусь как этот конфигуратор зарегистрировать
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс ноя 30, 2014 16:21:18
Lihouzov
IntToSingl - преобразование целого числа в вещественное. Single - вещественное число одинарной точности (4 байта) Можно и не регистрироваться, просто обнови Configurator и HR_AVR.
Исходный ассемблерный код любого блока доступен через меню вызванным над блоком.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс ноя 30, 2014 16:23:46
Аlex
А, там Single. Прошу прощения, ошибся
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс ноя 30, 2014 16:26:20
xkp
вроде разобрался с программой маленько. В принципе меня заинтересовала эта идея.
Сделал все по вашему проекту но не хочет компилировать фаил прошивки
Спойлер
ну и при открытии проекта выдает
Спойлер
если использовать вывод на индикатор через LCD_word то все работает. Очевидно проблема в IntToSingl
Re: Реализация Графического Языка Программирования
Добавлено: Вс ноя 30, 2014 17:41:18
СКАЗОЧНИК
Прикольно. Просто, удобно... Критиковать не буду, т.к. сам такое не смогу сделать. ) Однозначно плюс.
Но! Не много ли для ассемблера 600 Байт, чтобы помигать одним светодиодом???? С учетом того, что у меня АТтини13 с 1 кБайтом флеша... А я хочу туда еще много чего напихать.... У меня в нее программка перехвата ИК пульта с NЕC-протоколом (урезанным) и управление Н-мостом мотора заняла в районе 300-400 Байт на ассемблере.
Re: Реализация Графического Языка Программирования
Добавлено: Пн дек 01, 2014 06:13:12
Lihouzov
СКАЗОЧНИК писал(а):Не много ли для ассемблера 600 Байт, чтобы помигать одним светодиодом????
В эти 600 байт входит ядро программы.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пн дек 01, 2014 06:18:52
Lihouzov
xkp писал(а): Очевидно проблема в IntToSingl
Я в установочный паке не добавил библиотеку для работы с вещественными числами, в скором времени добавлю.
Re: Реализация Графического Языка Программирования
Добавлено: Пн дек 01, 2014 06:23:27
Lihouzov
Хочу добавить блоки:
1. для работы с 7-ми сегментными индикаторами.
2. таймеры реального времени.
Писать код надо на ассемблере. У кого есть желание присоединиться к работе?
Re: Реализация Графического Языка Программирования
#ifndef _FBD15_
#define _FBD15_ FBD15
#message define FBD15 (RS trigger)__FILE__
//Размер описания FDB блока 4 байта
//1 байт- вход S
//1 байт- вход R
//1 байт- выход
//1 байт- начальное состояние
//Оперативная память 1 байт
//1 байт состояние триггера
FBD15_init:
ADIW YL, 3 //пропускаем первые три байта конфигурации
rcall Read_cfg //Читаем начальное состояние
st X+, Addr_Data //Сохраняем начальное состояние
ret //Окончание инициализации блока
FBD15_run:
//======== Читаем данные блока =========
rcall Read_cfg_Load_Uz1 //вход S
rcall Read_cfg_Load_Uz2 //вход R
ld A, X //текущее состояние триггера
//============= Логика работы FBD блока ==================
and Uz1L, One //and
sbrc UZ1L, 0 //Проверка 1 на S
mov A, One //Устанавливаем тригер
and Uz2L, One //and
sbrc UZ2L, 0 //Проверка 1 на R
mov A, Zero //Сбрасываем тригер
mov Uz1L, A //Копируем текущее состояние
//============= Сохраняем результат ==================
st X+, A
rcall Read_cfg_Save_Uz1 //Сохраняем результат
ADIW YL, 1 //пропускаем байт конфигурации
ret;
FBD15:
.db 4, 1 //Размер FBD блока, необходимая оперативная память
.dw FBD15_run, FBD15_init
#else
#error redeclared FBD15 __FILE__
#endif
Re: Реализация Графического Языка Программирования
Добавлено: Пн дек 01, 2014 07:10:17
ARV
у меня был припадок, во время которого я пытался разработать микро-ПЛК на AVR с простейшим вводом блок-схем. есть теоретические проработки псевдоязыка, которым описывается блок-схема. интерпретацией этого языка по моей задумке должен был заниматься AVR, что в итоге давало достаточно низкое быстродействие (порядка 1000 прогонов главного цикла в секунду) - ваш подход с компиляцией на ББ позволит существенно увеличить быстродействие. не знаю, будут ли полезны мои наработки, но если есть желание с ними ознакомиться - милости прошу в личку.
идею использовать ассемблер поддерживаю процентов на 40 - на остальные 60 я сторонник применения в подобной системе Си.
Re: Реализация Графического Языка Программирования
Добавлено: Пн дек 01, 2014 11:24:42
СКАЗОЧНИК
Lihouzov писал(а):ядро программы.
Убедили.
А ядро - это не РТОС?
И еще понравилось, что можно код любого блока посмотреть. )))
Re: Реализация Графического Языка Программирования
Добавлено: Пн дек 01, 2014 16:29:48
Lihouzov
СКАЗОЧНИК писал(а):И еще понравилось, что можно код любого блока посмотреть. )))
Более того, если изменить код блока, то и измениться работа блока!
СКАЗОЧНИК писал(а):А ядро - это не РТОС?
Что такое РТОС?
Re: Реализация Графического Языка Программирования
Добавлено: Пн дек 01, 2014 16:35:54
xkp
Могу взяться за код написания подпрограммы для 7-ми сегментников.
1. Сколько сегментов?
2. Выходы: общий/сегменты GND/Vcc, GND/GND, Vcc/GND Vcc/Vcc делать с переключением в ПП или разные ПП писать под них?
3. Какой вид ввода информации? Отдельные для каждого сегмента числа или сразу несколько знаков?
Re: Реализация Графического Языка Программирования
Re: Реализация Графического Языка Программирования
Добавлено: Пн дек 01, 2014 16:48:59
Lihouzov
Отлично.
1. давай попробуем для 4 сегментов.
2. блок разные, количество блоков никто не ограничивает.
3. Сразу на несколько знаков. По принципу с LCD. Есть блок который выводит участок памяти на индикаторы
в нашем случае 4 байта, а есть блоки которые в этот участок пишут данные.
То есть будет блок который отображает данные и множество блоков которые пишут данные.
Re: Реализация Графического Языка Программирования
Добавлено: Пн дек 01, 2014 17:10:45
xkp
4 байта? Я правда маленько не понимаю в выражениях "целые", "целочисленные" и тд. То есть каждый байт данных соответствует своему индикатору? Ну это облегчает задачу, можно еще и буквенные символы туда запихать, ну разумеется те, что можно написать на 7 сегментах.
Будет выглядеть примерно так? 4 разряда * 7 сегментов + 1 точка
И еще вопрос в блок что верхний на моем рисунке данные в каком виде поступают? В регистрах, в памяти? В каких регистрах? В какой ячейке или под каким именем памяти?
Re: Реализация Графического Языка Программирования
Добавлено: Пн дек 01, 2014 17:13:55
Lihouzov
Сделал заготовку блока. Обнови "Параметры->Обновления->Блоки в разработке"
Re: Реализация Графического Языка Программирования
Добавлено: Пн дек 01, 2014 17:16:51
Lihouzov
xkp писал(а):4 байта? Я правда маленько не понимаю в выражениях "целые", "целочисленные" и тд. То есть каждый байт данных соответствует своему индикатору? Ну это облегчает задачу, можно еще и буквенные символы туда запихать, ну разумеется те, что можно написать на 7 сегментах.
4 байта - да.
выражениях "целые", "целочисленные" и тд - тип соединительных выводов блока.
То есть каждый байт данных соответствует своему индикатору -да