BASCOM AVR в вопросах и ответах
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Полностью согласен.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- Реклама
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
ut1wpr писал(а):Безусловно, лучший вариант - задрать флаг обновленных данных от датчика, а в теле программы выводить эти данные по флагу готовности и тут же его гасить, чтобы не было повторного вывода одного и того же.
У меня тоже такая мысль появилась, когда уже домой ехал. Завтра попробую.
Спасибо за помощь !
С уважением,
Алексей.
Алексей.
Re: BASCOM AVR в вопросах и ответах
Когда перейдете к работе с графическими дисплеями, задача усложнится. Разные данные (символьные строки, пиктограммы и т.д.) должны будут выводится своими "драйверами". Тут вам на помощь придет буферизация вывода, внешние семафоры, анализ занятости устройства (дисплея) выводом. А это уже первые шаги в сторону многозадачности. Впрочем, не надо все и все сразу...Gordon Shumway писал(а):ut1wpr писал(а):Безусловно, лучший вариант - задрать флаг обновленных данных от датчика, а в теле программы выводить эти данные по флагу готовности и тут же его гасить, чтобы не было повторного вывода одного и того же.
У меня тоже такая мысль появилась, когда уже домой ехал. Завтра попробую.
Спасибо за помощь !
С уважением,
Виктор.
Виктор.
- pavel123
- Грызет канифоль
- Сообщения: 268
- Зарегистрирован: Чт май 17, 2007 09:44:13
- Откуда: Украина, г. Кривой Рог
Re: BASCOM AVR в вопросах и ответах
Доброго дня,
Еще раз спасибо всем, кто помог мне разобраться с подключением кнопок.
Теперь хочу добавить в схему контроль уровня жидкости.
Вот здесь есть схемка нечто похожего с подключением опрона.
Блок управления погружным насосом в колодце.
В принципе и подключение транзистора оптопары похоже на подключение кнопки. Тут, как говориться вопросов нет.
Как программно опрашивать порт?
- опять по Debounce Pinb.1 , 0 , подпрограмма
- или же просто проверять if Pinb.1=0 then......
Спасибо.
Еще раз спасибо всем, кто помог мне разобраться с подключением кнопок.
Теперь хочу добавить в схему контроль уровня жидкости.
Вот здесь есть схемка нечто похожего с подключением опрона.
Блок управления погружным насосом в колодце.
В принципе и подключение транзистора оптопары похоже на подключение кнопки. Тут, как говориться вопросов нет.
Как программно опрашивать порт?
- опять по Debounce Pinb.1 , 0 , подпрограмма
- или же просто проверять if Pinb.1=0 then......
Спасибо.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Контроль уровня жидкости - дело ответственное.
Проще на внешние прерывания повесить.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- Реклама
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Доброго времени суток !
Разбирался я тут с библиотекой для дисплея Nokia 1100 от уважаемого MrShilov и придумал, как выводить большие символы.
Вдруг кому пригодится ?...
Сделал пока только цифры (0-9) и двоеточие.
Цифры выводятся размером 2х2 знакоместа, то есть 12х16 точек. Для этого я откорректировал оригинальный файл шрифтов из библиотеки. Большие цифры получились ценой утраты некоторых спецсимволов и почти всех букв латинского алфавита, русский алфавит присутствует весь.

Оригинальный файл шрифтов

Модифицированный файл для вывода больших цифр.
Оформлено всё это дело в виде подпрограммы, которой нужно дать свои данные для вывода:координаты X и Y, инвертировать/не инвертировать (1/0) и сама строка цифр для вывода. При использовании стандартных шрифтов библиотеки в строке помещаются 16 символов. Соответственно в моем варианте - 8 цифр в строке.
В строке для вывода цифр не должно быть ничего кроме цифр.

Итог работы демонстрационной программы.

Дальнейший эксперимент. Пока не доведено до рабочего состояния.
Таким же способом можно переделать библиотеку на вывод больших букв. Как перерисовывать файл шрифтов - описано здесь у автора библиотеки MrShilov.
Разбирался я тут с библиотекой для дисплея Nokia 1100 от уважаемого MrShilov и придумал, как выводить большие символы.
Вдруг кому пригодится ?...
Сделал пока только цифры (0-9) и двоеточие.
Цифры выводятся размером 2х2 знакоместа, то есть 12х16 точек. Для этого я откорректировал оригинальный файл шрифтов из библиотеки. Большие цифры получились ценой утраты некоторых спецсимволов и почти всех букв латинского алфавита, русский алфавит присутствует весь.
Оригинальный файл шрифтов
Модифицированный файл для вывода больших цифр.
Оформлено всё это дело в виде подпрограммы, которой нужно дать свои данные для вывода:координаты X и Y, инвертировать/не инвертировать (1/0) и сама строка цифр для вывода. При использовании стандартных шрифтов библиотеки в строке помещаются 16 символов. Соответственно в моем варианте - 8 цифр в строке.
В строке для вывода цифр не должно быть ничего кроме цифр.
Итог работы демонстрационной программы.
Дальнейший эксперимент. Пока не доведено до рабочего состояния.
Таким же способом можно переделать библиотеку на вывод больших букв. Как перерисовывать файл шрифтов - описано здесь у автора библиотеки MrShilov.
- Вложения
-
- 1100-4.jpg
- Итог (симуляция в протеусе)
- (75.8 КБ) 3221 скачивание
-
- 1100-3.jpg
- Дальнейший эксперимент
- (58.46 КБ) 2678 скачиваний
-
- fonts_big_digits.jpg
- Цифры 2х2 знакоместа
- (4.98 КБ) 2119 скачиваний
-
- fonts_default.jpg
- Оригинальный шрифт
- (4.98 КБ) 2162 скачивания
-
- Test_lib.rar
- Программа, исходник, проект для протеуса, шрифты
- (52.08 КБ) 309 скачиваний
С уважением,
Алексей.
Алексей.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Ну отлично. Дело-то полезное. 

"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- Alex_Megavolt_79
- Грызет канифоль
- Сообщения: 262
- Зарегистрирован: Пт окт 30, 2009 22:33:56
- Откуда: Санкт-Петербург
Re: BASCOM AVR в вопросах и ответах
Уважаемые коты я тут как то просил помочь стр.96. кому лень листать повторю
Вопрос всё таки остаётся открытый так как, просто интересен этот способ организации менюшки.
у меня 2 проекта зависло
Alex_Megavolt_79 писал(а):У меня такой вопрос уважаемые коты. У меня не получается написать менюшку с использованием команд ADR , ADR2. За основу взял с http://minilabmaster.com/cgi-bin/yabb2/ ... 46889930/0 и http://avrhelp.mcselec.com/index.html?adr___adr2.htm. Но почему то в нужный пункт меню попадаю случайно могу раз 30 нажать на кнопку. Но реакция на кнопку есть, на экране появляется просто вертикальные две чёрточки и рядом звёздочка. Вот код:Код: Выделить всё
$regfile = "M16def.dat"
$crystal = 8000000
$hwstack = 64
$swstack = 64
$framesize = 64
$lib "lcd4.lbx"
$lib "adr2.lib"
'###################################################################################
'Конфигурируем LCD дисплей
'###################################################################################
Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
Config Lcd = 16 * 2 'используем дисплей на 2 строчки по 16 знакомест в каждой
Cursor Off
Cls
'###################################################################################
'Конфигурируем порты МК
'###################################################################################
Config Debounce = 60
'кнопки
Config Pinc.2 = Input 'настройка пина c2 на вход (S1)
Config Pinc.3 = Input 'настройка пина c3 на вход (S2)
Config Pinc.4 = Input 'настройка пина c4 на вход (S3)
Config Pinc.5 = Input 'настройка пина c5 на вход (S4)
Config Pinc.6 = Input 'настройка пина c6 на вход (S5)
Config Pinc.7 = Input 'настройка пина c7 на вход (S6)
Set Portc.2 ' включить внутренний подтягивающий резистор
Set Portc.3 ' включить внутренний подтягивающий резистор
Set Portc.4 ' включить внутренний подтягивающий резистор
Set Portc.5 ' включить внутренний подтягивающий резистор
Set Portc.6 ' включить внутренний подтягивающий резистор
Set Portc.7 ' включить внутренний подтягивающий резистор
Dim Menupointer As Word
Dim B As Byte
Dim Type As Byte
Dim Dummy As Byte
Dim Message As String * 32
Dim Longstr As String * 32 , Lcdstr As String * 32
Dim Str1 As String * 16
Dim Str2 As String * 16
' Типы меню
Const Id_submenu = &HAA
Const Id_command = &H55
Main_menu:
' Ставим указатель Data на первый пункт главного меню
Restore Menu1
' Сохраняем в MenuPointer текущий указатель Data,
' который лежит в регистрах R8 и R9 (ассемблерный код).
sts {MenuPointer}, R8
sts {MenuPointer + 1}, R9
Display_new_menu:
' Извлекаем из MenuPointer указатель в регистры R8 и R9,
' то есть передвигаем указатель Data в позицию MenuPointer.
lds R8, {MenuPointer}
lds R9, {MenuPointer + 1}
' Читаем тип меню (подменю или команда), название и печатаем название
Read Type
Read Message
Longstr = Message
Cls
Lcd Message
Do
'опрос кнопок
Debounce Pinc.2 , 0 , Menu , Sub
' Если нажата не 2 (Enter), то пропускаем 2 байта с адресом
' команды или подменю - они нам не нужны.
Read Dummy
Read Dummy
Debounce Pinc.3 , 0 , Minus , Sub
' Если нажата и не 1 (<-), то снова пропускаем 2 байта с адресом
' соседа слева - они нам тоже не нужны.
Read Dummy
Read Dummy
Debounce Pinc.5 , 0 , Plus , Sub
Loop
'###################################################################################
Esc:
Return
'###################################################################################
Menu:
' Если тип у нас - подменю, то:
If Type = Id_submenu Then
' Читаем адрес дочернего меню (идет в Data сразу за названием)
Read Dataptr
' Записываем его в MenuPointer и идем читать и рисовать это новое меню
sts {MenuPointer}, R8
sts {MenuPointer + 1}, R9
Goto Display_new_menu
' Иначе (если тип - команда), то:
Else
' Читаем адрес метки команды (идет в Data сразу за названием)
Read Dataptr
' Вызываем подпрограмму по этому адресу.
movw R30,R8
icall
' И после ее отработки идем в самое начало. Здесь можно и выйти
' из меню вообще или остаться в этом пункте меню или еще что-нибудь.
lds R8, {MenuPointer}
lds R9, {MenuPointer + 1}
Goto Main_menu
End If
Return
'###################################################################################
Minus:
' Читаем адрес предыдущего меню на этом уровне (сосед слева)
Read Dataptr
' Записываем его в MenuPointer и идем читать и рисовать это новое меню
sts {MenuPointer}, R8
sts {MenuPointer + 1}, R9
Goto Display_new_menu
Return
'###################################################################################
Plus:
' Читаем адрес следующего меню на этом уровне (сосед справа)
Read Dataptr
' Записываем его в MenuPointer и идем читать и рисовать это новое меню
sts {MenuPointer}, R8
sts {MenuPointer + 1}, R9
Goto Display_new_menu
Return
End
' ---------
' Подпрограммы для команд
Runmenu11:
' Здесь делаем полезные дела
Cls
Lcd "Run com men 1->1"
Return
Runmenu12:
' Полезные дела
Cls
Lcd "Com of menu 1->2"
Return
Runmenu2:
' Полезные дела
Cls
Lcd "Com of menu 2"
Return
Runmenu3:
' Полезные дела
Cls
Lcd "Com of menu 3"
Return
Printlsd:
Str1 = Mid(longstr , 1 , 32)
Str2 = Mid(longstr , 17 , 32)
Cls
Lcd Str2
Lowerline
Lcd Str2
Return
' ---------
' Блок данных. Здесь и находится структура меню. Порядок пунктов меню не важен,
' главное правильно указать связи-адреса на дочерний элемент (подменю или
' команду) и соседей слева и справа. Структура такая:
'
' Метка_своя:
' Data Тип_Меню
' Data "Название_меню"
' Data Метка_дочернего
' Data Метка_соседа_слева
' Data Метка_соседа_справа
'
$data
Menu1:
Data Id_submenu
Data "Menu 1 v"
Adr2 Menu10
Adr2 Menu3
Adr2 Menu2
Menu10:
Data Id_submenu
Data "Menu up^"
Adr2 Menu1
Adr2 Menu12
Adr2 Menu11
Menu11:
Data Id_command
Data "Menu 11!"
Adr Runmenu11
Adr2 Menu10
Adr2 Menu12
Menu12:
Data Id_command
Data "Menu 12!"
Adr Runmenu12
Adr2 Menu11
Adr2 Menu10
Menu2:
Data Id_command
Data "Menu 2 !"
Adr Runmenu2
Adr2 Menu1
Adr2 Menu3
Menu3:
Data Id_command
Data "Menu 3 !"
Adr Runmenu3
Adr2 Menu2
Adr2 Menu1
Где напортачил подскажите пожалуйста
Вопрос всё таки остаётся открытый так как, просто интересен этот способ организации менюшки.
у меня 2 проекта зависло
Re: BASCOM AVR в вопросах и ответах
Мне кажется Debounce 60 - маловато, тем более на частоте 8МГц! Реально задержка должна быть не менее 100. В своих проектах с кнопками, я обычно ставлю даже больше (150-200). ИМХО, в этом все дело, просто нажатие кнопки не успевает попадать в прерывание...
Цапу крутить надо!!! Ку или не ку?
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Доброго всем времени суток !
Уважаемые Баском-знатоки ! А не научите ли экономить память микроконтроллера ?
Наваял програмку для меги 8 - при компиляции выходит 115 процентов. Вроде что-то пооптимизировал - 106 процентов. А дальше - никак...
Все переменные объявлены по минимуму. Некоторые одинаковые процедурки объединил в одну подпрограмму. Убрал Format, но пока не придумал, как без него обойтись.
Я предполагаю, что криво сделал опрос кнопок:
X, Y - координаты вывода на дисплее nokia 1100, Z - признак инверсии, Gosub Print_dig - подпрограмма, которая всё это дело выводит на дисплей.
Уважаемые Баском-знатоки ! А не научите ли экономить память микроконтроллера ?
Наваял програмку для меги 8 - при компиляции выходит 115 процентов. Вроде что-то пооптимизировал - 106 процентов. А дальше - никак...
Все переменные объявлены по минимуму. Некоторые одинаковые процедурки объединил в одну подпрограмму. Убрал Format, но пока не придумал, как без него обойтись.
Я предполагаю, что криво сделал опрос кнопок:
Код: Выделить всё
Do
If Plus = 0 Then
Incr Hours
If Hours > 23 Then Hours = 0
Strh = Str(hours)
'Strh = Format(strh , "00")
X = 2 : Y = 2
Z = 1 : Stroka = Strh
Gosub Print_dig
Waitms 200
End If
If Minus = 0 Then
Decr Hours
If Hours > 23 Then Hours = 23
Strh = Str(hours)
'Strh = Format(strh , "00")
X = 2 : Y = 2
Z = 1 : Stroka = Strh
Gosub Print_dig
Waitms 200
End If
If Setting = 0 Then
Waitms 200
Goto Setminute
End If
Loop
Setminute:
'потом день, число, месяц, год... X, Y - координаты вывода на дисплее nokia 1100, Z - признак инверсии, Gosub Print_dig - подпрограмма, которая всё это дело выводит на дисплей.
С уважением,
Алексей.
Алексей.
Re: BASCOM AVR в вопросах и ответах
Gordon Shumway ,СПАСИБО! Дай вам Бог здоровья и полный холодильник денег 

- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
selco писал(а):Gordon Shumway ,СПАСИБО! Дай вам Бог здоровья и полный холодильник денег
Да без проблем ! А за что ?...
С уважением,
Алексей.
Алексей.
Re: BASCOM AVR в вопросах и ответах
За библиотеку КРУПНОГО шрифта.Попробую на 3310 вывести.
Re: BASCOM AVR в вопросах и ответах
Без обид. Совет избитый - уходите от Васика, вы уже выросли из этих штанишек...Gordon Shumway писал(а):Доброго всем времени суток !
Уважаемые Баском-знатоки ! А не научите ли экономить память микроконтроллера ?
Наваял програмку для меги 8 - при компиляции выходит 115 процентов. Вроде что-то пооптимизировал - 106 процентов. А дальше - никак...
В восьмой Меге ну очень многое можно разместить. Но только не с этой платформой. Вам вяжут руки библиотеки. С одной стороны - там все реализовано за вас. С другой стороны - а вы знаете как? Вы уверены в их оптимальности? И вообще, что вы можете сказать про оптимальность генерируемого кода? У вас есть возможность выбирать уровни оптимизации? В сторону объема или в сторону скорости?
С уважением,
Виктор.
Виктор.
-
Radan
- Мучитель микросхем
- Сообщения: 465
- Зарегистрирован: Ср июн 21, 2006 08:24:32
- Откуда: Лисичанск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
ut1wpr писал(а):Без обид. Совет избитый - уходите от Васика, вы уже выросли из этих штанишек...Gordon Shumway писал(а):Доброго всем времени суток !
Уважаемые Баском-знатоки ! А не научите ли экономить память микроконтроллера ?
Наваял програмку для меги 8 - при компиляции выходит 115 процентов. Вроде что-то пооптимизировал - 106 процентов. А дальше - никак...
В восьмой Меге ну очень многое можно разместить. Но только не с этой платформой. Вам вяжут руки библиотеки. С одной стороны - там все реализовано за вас. С другой стороны - а вы знаете как? Вы уверены в их оптимальности? И вообще, что вы можете сказать про оптимальность генерируемого кода? У вас есть возможность выбирать уровни оптимизации? В сторону объема или в сторону скорости?
Очень хороший совет в теме "BASCOM AVR в вопросах и ответах"
Сколько времени понадобится, чтобы перейти на СИ или АСМ?
Вопрос не в том, какой язык лучше, а как им владеешь.

Ну а по теме оптимизации - самое простое решение, если память занята более чем на 90% и предполагается дальнейшее развитие проекта - возьмите вместо 8 Меги 168-ю, с запасом на будущие хотелки.
Здесь очень важно соблюсти баланс между желанием оптимизировать существующий код (на что может уйти немало времени) и желанием развивать проект (на это тоже время нужно), да и множество других факторов. Также большое значение имеет, будет ли это изделие серийным или в единственном экземпляре... Эти же и множество других вопросов приходится решать и для других ЯП.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Radan писал(а):Вопрос не в том, какой язык лучше, а как им владеешь.
В том и дело. Я ради интереса писал одну и ту же задачу на АСМе, Си и Бейсике. Ну АСМ конечно вне конкуренции по размеру кода, а вот Бейсик очень даже запросто конкурирует с Си. Но это конечно без использования библиотек проверялось...
А с другой стороны
ut1wpr писал(а):что вы можете сказать про оптимальность генерируемого кода?
Все бы хорошо, но даже при обычной работе с прерываниями, Баском в обработчике сохраняет в стек все РОН и статусный регистр. Так вот, общей кучей, не заморачиваясь. Конечно это раздувает код. Есть конечно возможность отключить эту удивительную вещь, но тогда без дизасма и ассемблерных вставок не обойтись (АСМ листинг на выходе Баском не генерирует, к сожалению).
ut1wpr писал(а):У вас есть возможность выбирать уровни оптимизации?
Возможность включить оптимизацию есть, но выбора уровня оптимизации нет.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
Прекрасный совет от radan
Это и не только к Бейсику имеет отношение. И , как правильно он отметил, важно учитывать важность разработки. Что-то типа "овчинки и ее выделки"
если память занята более чем на 90% и предполагается дальнейшее развитие проекта - возьмите вместо 8 Меги 168-ю, с запасом на будущие хотелки.
Это и не только к Бейсику имеет отношение. И , как правильно он отметил, важно учитывать важность разработки. Что-то типа "овчинки и ее выделки"
С уважением,
Виктор.
Виктор.
Re: BASCOM AVR в вопросах и ответах
Подскажите пожалуйста,в какой программе отредактировать файл fonts.inc,хочу убрать русский шрифт и кое что лишнее для 3310 с крупным шрифтом.
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
selco писал(а):Подскажите пожалуйста,в какой программе отредактировать файл fonts.inc,хочу убрать русский шрифт и кое что лишнее для 3310 с крупным шрифтом.
Для 3310 используется совсем другая библиотека. Там шрифты в теле файла библиотеки в виде строчек "data". Хотя, если разобраться, можно применить способ и в этой библиотеке...
Касаемо дисплея 1100 - в архиве с библиотекой есть исходник шрифтов - fonts.bmp, его-то и нужно править в графическом редакторе. Я для этого использую fastlcd. Потом отредактированный файл конвертируется встроенным в Bascom конвертером. Подробности у автора библиотеки.
Или может стоит сделать полное описание в виде отдельной статьи ? Там вылезли некоторые тонкости и интересности, которые я решал с помощью MrShilov (автора библиотеки), за что ему огромное спасибо !
Последний раз редактировалось Gordon Shumway Вс апр 29, 2012 21:03:35, всего редактировалось 3 раза.
С уважением,
Алексей.
Алексей.
- Gordon Shumway
- Мучитель микросхем
- Сообщения: 485
- Зарегистрирован: Пн авг 20, 2007 21:35:45
- Откуда: Мытищи, Московская область
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
ut1wpr писал(а):Без обид. Совет избитый - уходите от Васика, вы уже выросли из этих штанишек...Gordon Shumway писал(а):Доброго всем времени суток !
Уважаемые Баском-знатоки ! А не научите ли экономить память микроконтроллера ?
Спасибо всем, ответившим на мой вопрос !
Про уход от Баскома - это наверное единственный язык, который я хоть как-то знал (бейсик) - когда-то начинал на Спектруме. Но дальше дело не пошло, СИ и ассемблер для меня - тёмный лес (пока ?) . О них я знаю только то, что они существуют. Боюсь, что переход сильно затянется. Но, думаю, совсем без перехода не обойдётся.
Про проект, о котором спрашивал: он задумывался одновременно как некий гаджет в качестве беспричинного подарка и как способ поваять красоту в своё удовольствие. Скорее всего развития не будет.
Но программу я всё-таки почти сделал - осталось куда-то деть меньше процента: (28 too long при компиляции). Глаза боятся, а руки делают !
С уважением,
Алексей.
Алексей.


