Реализация Графического Языка Программирования

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
xkp
Опытный кот
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров
Контактная информация:

Re: Реализация Графического Языка Программирования

Сообщение xkp »

обновил. На вашем блоке N1 N2 N3 N4 лучше расположить горизонтально (если воеможно) так будет понятнее какое Nx к камому разряду относится. И еще добавить точку.

И еще нужно будет добавить настройку прерываний tim_0_ovf для динамической индикации
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Реклама
Lihouzov
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Re: Реализация Графического Языка Программирования

Сообщение Lihouzov »

Горизонтально, проблема, нужно дорабатывать графическую библиотеку. Точку добавил.
Динамическую индикацию сделаем программно. Блок будет получать управление примерно в одинаковые промежутки времени.
Плюс мы не привяжем данный блок к аппаратным узлам микроконтроллера, а значить он будет работать на всех AVR контроллерах.
Реклама
Lihouzov
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Re: Реализация Графического Языка Программирования

Сообщение Lihouzov »

Код: Выделить всё

#ifndef _FBD41_
#define _FBD41_ FBD41
#message define FBD41 (LED_7_SEG)__FILE__
.SET LED_7_SEG_DATA_SIZE = 4
.SET LED_7_SEG_DATA_RAM = FBD_DATA_RAM                          //Глобальные данные для LED
.SET FBD_DATA_RAM = LED_7_SEG_DATA_RAM + LED_7_SEG_DATA_SIZE    //Выделяем память для LED

//Размер описания FDB блока
//12  байт- вывода
// Оперативная память 
//1 байт счетчик

FBD41_init:
ret;



FBD41_run:
ret;

FBD41:
.db 12, 1                                  //Размер FBD блока, необходимая оперативная память
.dw FBD41_run, FBD41_init


#else
#error redeclared FBD41 __FILE__
#endif

Lihouzov
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Re: Реализация Графического Языка Программирования

Сообщение Lihouzov »

Теперь необходимо написать две функции "инициализация" и "исполнение". Задача вывести четыре байта на четыре индикатора. Наверное лучше составить блок схему.
Последний раз редактировалось Lihouzov Пн дек 01, 2014 17:51:23, всего редактировалось 1 раз.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
xkp
Опытный кот
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров
Контактная информация:

Re: Реализация Графического Языка Программирования

Сообщение xkp »

как то так...
инициализация
Спойлер

Код: Выделить всё

	.equ seg		=portd
	.equ portout	=portb
;регистры
	.def tmp=r16
	.def tmp0=r17
	.def cnt=r18
.DSEG
	ind0:		.byte 1
	ind1:		.byte 1
	ind2:		.byte 1
	ind3:		.byte 1
	Nind:		.byte 1
вывод на индикацию, пока без точки
Спойлер

Код: Выделить всё

.CSEG
;==========
look:					;подпрограмма вывода индикации
;==========
	push tmp			;сохраняем данные
	push tmp0			;которые можем потерять
	in tmp,sreg			;tmp, tmp0,
	push tmp			;sreg
	lds tmp,Nind		;tmp = nind
	subi tmp,1			;если 1
	brcs look0			;переход на look0
	subi tmp,1			;если 2
	brcs look1			;переход на look1
	subi tmp,1			;если 3
	brcs look2			;переход на look2
	rjmp look3			;иначе look3
;----------------------------------------------------------------
look0:					;вывод на первый индикатор
;----------------------------------------------------------------
	cbi seg,3			;выключаем 4-ый индикатор
	lds tmp,ind0
	rcall decind
	out portout,tmp
	sbi seg,0			;зажигаем 1-ый индикатор
	ldi tmp,1
	sts Nind,tmp		;в другой раз на look1

	pop tmp				;восстанавливаем ранее
	out sreg,tmp		;сохранённые данные
	pop tmp0			;в обратном порядке
	pop tmp				;sreg,tmp,tmp0
	reti				;выход из подпрограммы обработки прерываний
;------------------------------------------------------------------
look1:					;вывод на второй индикатор
;------------------------------------------------------------------
	cbi seg,0			;выключаем 1-ый индикатор
	lds tmp,ind1
	rcall decind
	out portout,tmp
	sbi seg,1			;зажигаем 2-ой индикатор
	ldi tmp,2
	sts Nind,tmp		;в другой раз на look2

	pop tmp				;восстанавливаем ранее
	out sreg,tmp		;сохранённые данные
	pop tmp0			;в обратном порядке
	pop tmp				;sreg,tmp,tmp0
	reti				;выход из подпрограммы обработки прерываний


;------------------------------------------------------------------
look2:					;вывод на третий индикатор
;------------------------------------------------------------------
	cbi seg,1			;выключаем 2-ой индикатор
	lds tmp,ind2
	rcall decind
	out portout,tmp
	sbi seg,2			;зажигаем 3-ий индикатор
	ldi tmp,3
	sts Nind,tmp		;в другой раз на look3

	pop tmp				;восстанавливаем ранее
	out sreg,tmp		;сохранённые данные
	pop tmp0			;в обратном порядке
	pop tmp				;sreg,tmp,tmp0
	reti				;выход из подпрограммы обработки прерываний
;------------------------------------------------------------------
look3:					;вывод на четвёртый индикатор
;------------------------------------------------------------------
	cbi seg,2			;выключаем 3-ый индикатор
	lds tmp,ind3
	rcall decind
	out portout,tmp
	sbi seg,3			;зажигаем 4-ый индикатор
	ldi tmp,0
	sts Nind,tmp		;в другой раз на look0

	pop tmp				;восстанавливаем ранее
	out sreg,tmp		;сохранённые данные
	pop tmp0			;в обратном порядке
	pop tmp				;sreg,tmp,tmp0
	reti				;выход из подпрограммы обработки прерываний

decind:
	cpi tmp,$ff
	brne dec_n
	ret
dec_n:
	ldi zh,high(2*tabind)
	ldi zl,low(2*tabind)
	add zl,tmp
	clr tmp
	adc zh,tmp
	lpm
	mov tmp,r0
	ret
;=============
;=         таблица символов для семисегментного индикатора         =
;=  0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F  =
;= $00 $01 $02 $03 $04 $05 $06 $07 $08 $09 $0a $0b $0c $0d $0e $0f =
;=============
;=  G   H   J   L   P   q   r   t   U   y   -   Є  =
;= $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $1a $1b =
;===============
tabind:
	.dw	0b1111100111000000	;1-0
	.dw	0b1011000010100100	;3-2
	.dw	0b1001001010011001	;5-4
	.dw	0b1111100010000010	;7-6
	.dw	0b1001000010000000	;9-8
	.dw	0b1000001110001000	;B-A
	.dw	0b1010000111000110	;D-C
	.dw	0b1000111010000110	;F-E
	.dw 0b1000100111000010	;H-G
	.dw 0b1100011111100001	;L-J
	.dw 0b1001100010001100 	;q-P
	.dw 0b1000011110101111	;t-r
	.dw 0b1001000111000001	;y-U
	.dw 0b1111111110111111	;Є--
/*
точка: перед строчкой "sts ind_,tmp" ставить:
andi tmp,0b01111111
*/
вывод числа "0123"
Спойлер

Код: Выделить всё

	ldi tmp,0
	sts ind0,tmp
	ldi tmp,1
	sts ind1,tmp
	ldi tmp,2
	sts ind2,tmp
	ldi tmp,3
	sts ind3,tmp
Программа полностью во вложении и там же протеус. Индикация висит на tim0ovf.
Вложения
test_7_seg.rar
(13.34 КБ) 184 скачивания
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Реклама
Lihouzov
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Re: Реализация Графического Языка Программирования

Сообщение Lihouzov »

Настройки портов нам не нужны, да и наверное функция инициализации тоже.
http://horizontautomatics.ru/Runtime/AV ... id=fbd_add
http://horizontautomatics.ru/Runtime/AV ... d_adc_tn13

LED_7_SEG_DATA_RAM - глобальный адрес (4 байта для вывода)
X - указатель на оперативную память (я выделил 1 байт)

Можно использовать
.def Uz1L = r7 //Узловая переменная
.def Uz1H = r8 //Узловая переменная
.def Uz2L = r9 //Узловая переменная
.def Uz2H = r10 //Узловая переменная
.def Uz3L = r11 //Узловая переменная
.def Uz3H = r12 //Узловая переменная
.def A = r16 //регистр временного хранения данных
.def B = r17 //регистр временного хранения данных
.def C = r18 //регистр временного хранения данных
.def D = r19 //регистр временного хранения данных
.def E = r20 //регистр временного хранения данных
.def F = r21 //регистр временного хранения данных
.def G = r22 //регистр временного хранения данных
.def H = r23 //регистр временного хранения данных

и пару регистр. Z
Реклама
Аватара пользователя
uni
Встал на лапы
Сообщения: 137
Зарегистрирован: Пт дек 07, 2007 11:17:40
Откуда: г. Екатеринбург
Контактная информация:

Re: Реализация Графического Языка Программирования

Сообщение uni »

Приятно видеть, что есть люди, которые пытаются что-то сделать в такой области. От себя хочу заметить, что есть случаи, когда графическое представление неудобно. Имеется в виду обмен данными через последовательный порт. Я программирую ПЛК и для этого случая использую язык ST, так как графические версии все выглядят просто непонятно. Есть ещё случаи, когда текстовый вид предпочтительнее. Например, нужно сохранить некие данные в виде наборов в памяти мк. Операция вычисления смещения для указателя в графическом виде будет только запутывать (это на будущее).

Могу показать как выглядит пример программы для ПЛК на языке ST. Народ быстро переходит от "кнопочек и лампочек" к реальным задачам и оказывается, что лёгкость графического программирования обманчива.
Вложения
MainUnit.pdf
Пример программы для ПЛК на языке ST
(51.91 КБ) 254 скачивания
Россия навсегда!
Аватара пользователя
xkp
Опытный кот
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров
Контактная информация:

Re: Реализация Графического Языка Программирования

Сообщение xkp »

Кстати, почему LCD 12*2 ? вроде как стандарт (ну или более часто употребляемые дисплеи) 16*2
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Lihouzov
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Re: Реализация Графического Языка Программирования

Сообщение Lihouzov »

И еще вопрос в блок что верхний на моем рисунке данные в каком виде поступают? В регистрах, в памяти? В каких регистрах? В какой ячейке или под каким именем памяти?
В зависимости от типа входа данного блока (логический, целочисленный, вещественный итд.) В виде указателя на оперативную память.


Блок схема будущего блока: http://horizontautomatics.ru/Runtime/AV ... d=fbd_7seg
Lihouzov
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Re: Реализация Графического Языка Программирования

Сообщение Lihouzov »

xkp писал(а):Кстати, почему LCD 12*2 ? вроде как стандарт (ну или более часто употребляемые дисплеи) 16*2
Просто у меня был в наличии данный дисплей.
Lihouzov
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Re: Реализация Графического Языка Программирования

Сообщение Lihouzov »

Код: Выделить всё

#ifndef _FBD41_
#define _FBD41_ FBD41
#message define FBD41 (LED_7_SEG)__FILE__
.SET LED_7_SEG_DATA_SIZE = 4
.SET LED_7_SEG_DATA_RAM = FBD_DATA_RAM                          //Глобальные данные для LED
.SET FBD_DATA_RAM = LED_7_SEG_DATA_RAM + LED_7_SEG_DATA_SIZE    //Выделяем память для LED


//Размер описания FDB блока A-F,DP,N1-N4
//12  байт- вывода
// Оперативная память 
//1 байт счетчик    
//    биты  7-5 - выводимый символ
//    биты  4-0 - счетчик

FBD41_run:
  ld   H, X                 //Получаем байт счетчика
  inc  H                    //Увеличить счетчик
  mov  F, H                 //Копируем
  andi H, 0b00011111        //Счетчик
  brne FBD41_out_symbol
  andi F, 0b01100000        //Получаем номер символа
  clr  Uz1H                 //Выводим ноль
  clr  Uz1L                 //Выводим ноль
  rcall Read_cfg_Save_Uz1   //Вывод A
  rcall Read_cfg_Save_Uz1   //Вывод B
  rcall Read_cfg_Save_Uz1   //Вывод C
  rcall Read_cfg_Save_Uz1   //Вывод D
  rcall Read_cfg_Save_Uz1   //Вывод E
  rcall Read_cfg_Save_Uz1   //Вывод F
  rcall Read_cfg_Save_Uz1   //Вывод G
  rcall Read_cfg_Save_Uz1   //Вывод DP
     
ret;

FBD41:
.db 12, 1                                  //Размер FBD блока, необходимая оперативная память
.dw FBD41_run, Init_default


#else
#error redeclared FBD41 __FILE__
#endif

Аватара пользователя
xkp
Опытный кот
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров
Контактная информация:

Re: Реализация Графического Языка Программирования

Сообщение xkp »

Необходимо по байту 0bХХХ00000 получить значение N1,N2,N3,N4 -???
Спойлер

Код: Выделить всё

ldi r16,0bxxx00000; или если с памяти то lds r16,0bxxx00000
andi r16,0b10000000
tst r16
brne loop_01 ;если r16 = 0b10000000 то на loop_01

ldi r16,0bxxx00000; или если с памяти то lds r16,0bxxx00000
andi r16,0b01000000
tst r16
brne loop_02 ;если r16 = 0b01000000 то на loop_02

ldi r16,0bxxx00000; или если с памяти то lds r16,0bxxx00000
andi r16,0b00100000
tst r16
brne loop_03 ;если r16 = 0b00100000 то на loop_03

rjmp loop_04 ;иначе на loop_04

loop_01:
;гасим предыдущий индикатор
;выводим сегменты
;зажигаем текущий индикатор
ret
loop_02:
;гасим предыдущий индикатор
;выводим сегменты
;зажигаем текущий индикатор
ret
loop_03:
;гасим предыдущий индикатор
;выводим сегменты
;зажигаем текущий индикатор
ret
loop_04:
;гасим предыдущий индикатор
;выводим сегменты
;зажигаем текущий индикатор
ret
 
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Lihouzov
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Re: Реализация Графического Языка Программирования

Сообщение Lihouzov »

Вроде бы все, завтра будем тестить...
Спойлер

Код: Выделить всё

#ifndef _FBD41_
#define _FBD41_ FBD41
#message define FBD41 (LED_7_SEG)__FILE__
.SET LED_7_SEG_DATA_SIZE = 4
.SET LED_7_SEG_DATA_RAM = FBD_DATA_RAM                          //Глобальные данные для LED
.SET FBD_DATA_RAM = LED_7_SEG_DATA_RAM + LED_7_SEG_DATA_SIZE    //Выделяем память для LED


//Размер описания FDB блока A-F,DP,N1-N4
//12  байт- вывода
// Оперативная память 
//1 байт счетчик    
//    биты  7-5 - выводимый символ
//    биты  4-0 - счетчик

FBD41_run:
  ld   H, X+                //Получаем байт счетчика
  inc  H                    //Увеличить счетчик
  mov  F, H                 //Копируем
  andi F, 0b01100000        //Получаем номер символа
  andi H, 0b00011111        //Счетчик
  brne FBD41_out_symbol
  clr  Uz1H                 //Выводим ноль
  clr  Uz1L                 //Выводим ноль
  rcall Read_cfg_Save_Uz1   //Вывод A
  rcall Read_cfg_Save_Uz1   //Вывод B
  rcall Read_cfg_Save_Uz1   //Вывод C
  rcall Read_cfg_Save_Uz1   //Вывод D
  rcall Read_cfg_Save_Uz1   //Вывод E
  rcall Read_cfg_Save_Uz1   //Вывод F
  rcall Read_cfg_Save_Uz1   //Вывод G
  rcall Read_cfg_Save_Uz1   //Вывод DP
  ldi   A, 0b000000001      //Преобразуем 0b0XX00000 -> 0b00001000
  sbrc  F, 5                //Преобразуем 0b0XX00000 -> 0b00001000
  lsl   A                   //Преобразуем 0b0XX00000 -> 0b00001000
  sbrc  F, 6                //Преобразуем 0b0XX00000 -> 0b00001000
  lsl   A                   //Преобразуем 0b0XX00000 -> 0b00001000
  sbrc  F, 6                //Преобразуем 0b0XX00000 -> 0b00001000
  lsl   A                   //Преобразуем 0b0XX00000 -> 0b00001000
  //sbrc  F, 7              //Преобразуем 0b0XX00000 -> 0b00001000
  //swap  A                 //Преобразуем 0b0XX00000 -> 0b00001000
  BST A, 0
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод N1
  BST A, 1
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод N2
  BST A, 2
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод N3
  BST A, 3
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод N4
  ret
FBD41_out_symbol
  swap F                    //Номер символа 0b00000XX0
  lsr  F                    //Номер символа 0b000000XX
  ldi   ZL, Low(LED_7_SEG_DATA_RAM)   ; адрес
  ldi   ZH, High(LED_7_SEG_DATA_RAM)  ; адрес
  ld    A, Z                //Загружаем символ
  BST A, 0
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод A
  BST A, 1
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод B
  BST A, 2
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод C
  BST A, 3
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод D
  BST A, 4
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод E
  BST A, 5
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод F
  BST A, 6
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод G
  BST A, 7
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод DP
  ADIW  YL, 4         //Пропускаем N1, N2, N3, N4 

 ret;

FBD41:
.db 12, 1                                  //Размер FBD блока, необходимая оперативная память
.dw FBD41_run, Init_default


#else
#error redeclared FBD41 __FILE__
#endif

Аватара пользователя
xkp
Опытный кот
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров
Контактная информация:

Re: Реализация Графического Языка Программирования

Сообщение xkp »

хотелось бы увидеть индикатор LCD 16*2 с поддержкой русского языка... и графический LCD 128*64
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Реализация Графического Языка Программирования

Сообщение ARV »

попробовал вашу систему... видимо, из-за сволочного характера не понравилась, если интересно - могу раскритиковать "под ноль" :)))
а по-доброму если, то как-то непонятно: то ли продукт еще слишком сырой, то ли неинтуитивно все, и я не понял, как им пользоваться. создал проект, выбрал attiny13. доступно 8 портов - откуда?! ладно, взял один порт в качестве входа, второй в качестве выхода, пробую соединить их - не дает. поставил между ними генератор импульсов, вход завел на левый пин генератора, выход с правого взял - соединилось. жму "отладка" - ошибка, какой-то там файл не найден...

кстати, почему программа устанавливается в корень диска, а не в Program Files? и почему проекты сохраняет куда-то внутрь себя, а не в "Мои документы"? и почему деинсталлятор ни в меню, ни в панели управления не присутствует?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
xkp
Опытный кот
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров
Контактная информация:

Re: Реализация Графического Языка Программирования

Сообщение xkp »

Движок программы мне тоже не нравится, сырой еще. Как говрится русский народ и за идею готов работать. Так вот мне идея понравилась и поэтому хочу помочь проекту в развитии.
И генератор который вы попробовали пока еще не работает) Ну а вход с выходом у меня соединяются хорошо)
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Реализация Графического Языка Программирования

Сообщение ARV »

xkp писал(а): Ну а вход с выходом у меня соединяются хорошо)
а я, видимо, рылом не вышел :(
из подобных продуктов, ориентированных на микроконтроллеры (8-битные) мне знаком АлгоритмБилдер и MCStudio (под MCS51? правда). слышал еще про какую-то иноземщину под ардуино - но не видел :)

имхо, баловство это все...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
ppp
Это не хвост, это антенна
Сообщения: 1451
Зарегистрирован: Ср мар 02, 2011 20:05:39
Откуда: Карельский перешеек

Re: Реализация Графического Языка Программирования

Сообщение ppp »

ARV писал(а):имхо, баловство это все...
Да нет, это просто вам, опытным программистам, сложно опуститься до уровня чайника, на которого, как я понимаю, автор ориентируется. А я вот, как раз тот чайник :). Ну, как бы это объяснить. Вот, к примеру, меня никогда не интересовало, как выглядит изнутри 155ЛА3, но это меня никогда не останавливало от использования ее в своих поделках. С МК у меня тоже самое, но не катит, приходится смотреть изнутри. Для Вас сама программка уже является объектом творчества, а для меня таким объектом является только конечное устройство, и то, что программа в МК работает медленнее и занимает места больше, чем могла бы, меня нисколько не волнует. Главное, чтобы она работала не медленнее, чем мне нужно.

Чтобы как-то выкрутиться сегодня пользуюсь FlowCode. Удобно, быстро. Эту программу не устанавливал, смотрел только видеоролики. Невольно, конечно, сравнивал с FlowCode. На первый взгляд кажется, что автор пошел туда же, что и они. Но нет. В FlowCode, я хоть и никудышним, но должен оставаться программистом. Там я строю алгоритм. Здесь же я собираю устройство и отодвинут от программирования еще дальше. Что только поднимает настроение :). Думаю, что если ее снабдить такой же массой маленьких примеров по подключению и настройке каждого блока, как это сделали FloeCode, то она у радиолюбителей, не испорченных АСМом или Си, будет пользоваться бешеным спросом. Без примеров и без опыта программирования, конечно трудно будет въехать.
Аватара пользователя
xkp
Опытный кот
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров
Контактная информация:

Re: Реализация Графического Языка Программирования

Сообщение xkp »

Лично мне нравятся такие программы. Особенно когда надо быстренько своять что нито. Да и начинал я програмирование мк не с изучения команд на асм (хотя и пробовал с этого), а с написания программ в алгоритме Буилдера, а уже потом, как начал понимать структуру написания программы, начал изучать асм. Ну и мнений всегда будет столько, сколько людей хотят поспорить!
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Реализация Графического Языка Программирования

Сообщение ARV »

польза подобных систем очевидна и мною не оспаривается. под баловством я имел ввиду попытку одиночки поднять эту тему - имхо, это нереально и кроме разочарования ничего не принесет. для получения достойного результата требуется неплохая команда, причем специалистов широкого профиля, т.к. надо разбираться и в программировании МК, и в программировании на ББ и дружить с отладкой в железе.

пользователь нынче избалован "настоящими" программами, и поэтому в одиночку даже догнать их уровень почти нереально, ну а превзойти и подавно... в свое время я через это прошел....
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Ответить

Вернуться в «AVR»