Easyelectronics.ru

Электроника для всех
Текущее время: 29 апр 2017, 18:31

Часовой пояс: UTC + 5 часов


Правила форума


Входить исключительно со своей туалетной бумагой. Можно невозбранно получить по голове за быдляк и личные наезды.


    • Изготовление печатных плат. Примерные цены: 10 штук 2-слоя 100*100mm 8.21$ или около ~470 рублей
    • Создание принципиальных схем и проектирование печатных плат
    • Симуляция работы на spice моделях
    • Просмотр GERBER файлов

Начать новую тему Ответить на тему  [ Сообщений: 1181 ]  На страницу Пред.  1 ... 44, 45, 46, 47, 48
Автор Сообщение
 Заголовок сообщения: Re: Алгоритм билдер (описания, без программ)
СообщениеДобавлено: 02 дек 2015, 21:14 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2014, 13:20
Сообщения: 325
Откуда: правая юрта тундры
aamonster писал(а):
Более того - это задачи, где можно использовать даже C++ в ардуиновской интерпретации (с ардуиновскими же либами), а то и вообще python или Lua (см. nodeMCU) - проц, которого хватит на это, крайне дёшев (а если нужен WiFi - то дешевле, чем делать на AVR).
Вообще было бы интересно посмотреть на того постановщика заданий, который предлагает, чтобы трактор, алмазный железорез или сварочник сами выходили в интернет, скачивали бы себе весёлые картинки, музыку, да и вообще развлекались бы по-всячески, меняя ту специальность прибора, которая им прописана нормальным разработчиком ТЗ на вашу ... Еа, рок и ролл.


Вложения:
image282.JPG
image282.JPG [ 5.63 Кб | Просмотров: 2617 ]


Последний раз редактировалось PodnimatelPingvinov 02 дек 2015, 21:46, всего редактировалось 2 раз(а).
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм билдер (описания, без программ)
СообщениеДобавлено: 02 дек 2015, 21:37 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3944
PodnimatelPingvinov писал(а):
Вообще было бы интересно посмотреть на того постановщика заданий, который предлагает, чтобы трактор, алмазный железорез или сварочник сами выходили в интернет, скачивали бы себе весёлые картинки
посмотри например на производителей автомобилей, которые по сути-то своей как трактор, только вот уже им симку подавай с интернетами. 21й век на дворе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм билдер (описания, без программ)
СообщениеДобавлено: 02 дек 2015, 23:24 
Старожил
Аватара пользователя

Зарегистрирован: 23 янв 2012, 00:31
Сообщения: 1762
Откуда: Новокузнецк
Alexandr_1 писал(а):
Думаю, у АБ в этом плане есть преимущество – даже не имея высокой квалификации программиста можно относительно легко и просто писать и отлаживать программы.

Почему? Какие преимущества есть у АБ, которые позволяют легче и проще отлаживать алгоритмы и искать ошибки?

_________________
elisey.su


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм билдер (описания, без программ)
СообщениеДобавлено: 03 дек 2015, 13:38 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2014, 13:20
Сообщения: 325
Откуда: правая юрта тундры
PodnimatelPingvinov писал(а):
PodnimatelPingvinov писал(а):
Интересно было бы посмотреть - как работает project1 в SliTaz'е (v.4.0, где Linux Kernel 2.6.37) - на старых тихоходах.
ЕСЛИ ВХОДИТЬ В SliTaz ПОД root'ом, ТО ПРОЕКТЫ, НАПИСАННЫЕ В Lazarus'e, УПРАВЛЯЮТ РОЗЖИГОМ ПОДКЛЮЧЁННЫХ К LPT-ПОРТУ СВЕТОДИОДОВ. (Ставлю в BIOS'е ECP-режим LPT-порта).
# tazpkg get-install wine
(можно сначала закачать #tazpkg get wine , а потом установить # tazpkg install wine )
(Переключения раскладки клавиатуры в слитазе - через CTRL+SHIFT - станут возможны, если запустить в терминале команду:
# setxkbmap -layout 'us,ru' -variant ',winkeys' -option 'grp:ctrl_shift_toggle,grp_led:scroll')
Связь линукса с камнем через LPT есть (шью из слитаза через COM посредством ab5.17 (в вине), компьютерная управляющая программа - сделана на лазарусе (1.4.4, где fpc 2.6.4)(в вине) в слитазе, запускается в слитазе и выдаёт число от 0 до 255 (Edit1) на LPT порт по нажатию Button1).
ClamAV® is an open source antivirus engine for detecting trojans, viruses, malware & other malicious threats, другими словами говоря, ClamAV - это бес-
платный антивирус.
/чтобы установить борланд-паскаль копированием, надо ставить в вине(95) дельфи(16р) (с олд-дос ру)/
Дельфи-паскаль и графический ассемблер похожи - в обоих случаях мы видим на плоскости - как строим программу: то ли мышью помещаем кнопку на форму, то ли рисуем ассемблерный переход к метке ...


Вложения:
22.png
22.png [ 127.8 Кб | Просмотров: 2431 ]


Последний раз редактировалось PodnimatelPingvinov 28 мар 2017, 11:05, всего редактировалось 28 раз(а).
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм билдер (описания, без программ)
СообщениеДобавлено: 06 дек 2015, 03:33 
Старожил

Зарегистрирован: 02 июл 2010, 23:41
Сообщения: 327
aamonster писал(а):
Характерный пример задач, для которых C проще и удобней =) (тупо в силу более компактного кода, который легче просматривать)

Не понял – это насчет моего примера логарифма?
Логарифм действительно написан некомпактно. Я использовал старый библиотечный элемент нелинейной функции, который написал, когда был начинающим. Логарифм понадобился срочно, поэтому быстренько переделал старый элемент в логарифм.
Будет время, сделаю логарифм получше. Это несложно.
Mekong писал(а):
Alexandr_1 писал(а):
Из своей практики – самый «затяжной» поиск одиночного дефекта занимал не более нескольких часов. Да и то дефекты были аппаратные.

Попробуйте уйти на более высокий уровень абстракции. Тогда увидите насколько легко или сложно писать на АБ.

Насчет абстракции - вопрос, как это выглядит в АБ.
Начинаю писать программу с верхнего уровня, на котором описываю основные действия, которые должен выполнить МК. На этом уровне практически нет ассемблерных команд.
Некоторые команды этого уровня могут содержать сотни ассемблерных команд.
Может быть, этот уровень можно причислить к абстракции, поскольку здесь нет привязки к железу.
Кстати, пробовал уйти от транслита, как тут советовали. Не понравилось.
Скажем, нужно сделать продувку газовой системы в течение 5 секунд. В программе напишу команду Produvka_5_sek. Это некультурно, говорят программисты.
Как я должен написать? Английский знаю слабо, придется искать перевод в словаре, это затраты времени. Зачем?
Спустя, скажем, год обращусь к программе, опять придется лазить в словарь. Неудобно.
А слово Produvka_5_sek я прочту без всякого словаря.
В общем, какое-то искусственное ограничение.
Mekong писал(а):
Как только появится удобный инструмент использования АБ с СИ и например с STM32 с удовольствием перейду обратно на АБ.
На АБ удобно новичкам - правильно написанные программы очень легко читаются. Правда расплата за неправильно написанные очень жестокая.

Я тут подумал, что создаваемый АБ hex-код, наверно, можно просто вставлять в СИ-программы.
Будет ли АБ для ядра кортекс – вопрос, автор АБ вроде бы не исключает такую возможность.
elisey писал(а):
Alexandr_1 писал(а):
Думаю, у АБ в этом плане есть преимущество – даже не имея высокой квалификации программиста можно относительно легко и просто писать и отлаживать программы.

Почему? Какие преимущества есть у АБ, которые позволяют легче и проще отлаживать алгоритмы и искать ошибки?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм билдер (описания, без программ)
СообщениеДобавлено: 27 мар 2016, 00:45 
Старожил

Зарегистрирован: 02 июл 2010, 23:41
Сообщения: 327
Переделал программу расчета логарифма согласно сегодняшнему своему уровню. Привел в приложении.
Решил все-таки всё приблизить к языку ЯВУ.
Оформил в виде функции.
Вызывается логарифм так:

Logarifm_10 (argument, Itog_Log)

В скобках слева переменная - входной аргумент, справа через 3 пробела – переменная, куда будет помещен результат расчета логарифма.
Вызывать можно из любого участка программы и не думать о регистрах и прочем.
Перебросы переменных в функцию и обратно производятся через SRAM. Перед работой в функции все задействованные в функции регистры стекуются.
Таким образом, в функции доступны все 32 РОН, и можно не думать о регистрах.
Перебросы переменных увеличивают объем программы, но не намного, процентов 10…20. Это мелочь, зато писать очень просто.

Вначале идут указанные перебросы переменных, там все банально.

Собственно, сама программа расчета логарифма состоит всего из 3 команд.

Первая команда:
Vybor_Interval (L_10_X_metka, 0, c_L_10_N_tochek, L_10_Argument_SRAM, L_10_N_Interval)
Это библиотечный элемент, он выбирает номер интервала, в который попадает аргумент.
Здесь:
L_10_X_metka метка массива, где выбирается номер интервала;
0 – начальная точка массива, где будет выбираться интервал, выбрана равной 0;
c_L_10_N_tochek – конечная точка, выбрана последней точкой массива;
L_10_Argument_SRAM – сам аргумент логарифма;
L_10_N_Interval- результат действия функции, номер интервала.

Вторая команда:
L_10_Vybor_Alfa_Beta – макрос, выбирающий коэффициенты линии, аппроксимирующей логарифм.
Он состоит из библиотечных элементов выбора коэффициентов альфа и бета из массивов.

3 команда:
L_10_Raschet – собственно, сам расчет логарифма.
Тут просто: аргумент умножается на альфа и прибавляется бета.
L_10 – префикс функции.

Этой функцией можно рассчитывать не только логарифм, но любую нелинейную функцию – корень, синус и т.д. Достаточно только подключить соответствующие массивы:
- координаты точек разбиения Х (метка массива - L_10_X_metka);
- массивы альфа и бета (метки массивов - L_10_Alfa_metka и L_10_Beta_metka).

Логарифм рассчитывается по формуле y = 32768 * Lg (1024*x), точность расчета – 0,5 %.
Аргумент может меняться в диапазоне от 1 до 64.

Очень просто можно получить логарифм с другими коэффициентами или с другой точностью.
В МАТЛАБе запустить соответствующую программу. В программе задать требуемую точность логарифма и коэффициенты. Программа выдаст нужные массивы, которые подставить вместо имеющихся.
Так можно быстро (наверно, за час, два) получить любой требуемый логарифм. Думаю, такой подход соответствует работе серьезного разработчика.
А всего 2 логарифма на все случаи жизни – это похоже на любительство.


Вложения:
Комментарий к файлу: Расчет десятичного логарифма
Logarifm-10.zip [15.43 Кб]
Скачиваний: 38
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1181 ]  На страницу Пред.  1 ... 44, 45, 46, 47, 48

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB