реклама на сайте
подробности

 
 
27 страниц V  « < 6 7 8 9 10 > »   
Reply to this topicStart new topic
> Сложные программы
x893
сообщение Jan 8 2017, 22:53
Сообщение #106


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Как можно рассказать о разнице между креветками и раками человеку, который их не пробовал ?
А тот кто пробовал - он уже выбрал для себя закуску к пиву.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Jan 8 2017, 23:06
Сообщение #107


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



программа растёт пока не превысит способности программиста (с)
после чего становится сложной (с)


Сообщение отредактировал Огурцов - Jan 8 2017, 23:06
Go to the top of the page
 
+Quote Post
Буратино
сообщение Jan 8 2017, 23:20
Сообщение #108


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



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


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jan 8 2017, 23:42
Сообщение #109





Guests






Цитата(Буратино @ Jan 9 2017, 02:20) *
нужно жить прощая

"Нет сложных задач, есть ограниченность в их реализации" (С) Jeer
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Jan 8 2017, 23:44
Сообщение #110


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Буратино @ Jan 9 2017, 00:20) *
зря, когда людей мы судим

незнание законов мерфи не освобождает от ответственности
хотя таки да, уже многое о вас говорит

Сообщение отредактировал Огурцов - Jan 8 2017, 23:44
Go to the top of the page
 
+Quote Post
HardEgor
сообщение Jan 9 2017, 00:55
Сообщение #111


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Цитата(Буратино @ Jan 9 2017, 02:39) *
чужие работают, но не вместе. как только необходимо выполнять чужой код одновременно, то без ос никак.

Еще раз, прочитайте что я писал - чужой код нормально выполняется и без ОС и с ОС, никакой разницы.
У меня LwIP в простой программе работает отлично, плюс подключены датчики разных производителей через модули и никакой ОС.

Цитата(Буратино @ Jan 9 2017, 02:39) *
что касается этой самой мнимой сложности задачи, то все конечно относительно и условно, но вот представьте себе некий электронный выход, который включает и отключает мотор. если положить на бумагу логику включения, отключения и работы этого выхода, то получится например пару страниц в ворде. для меня это сложно, не знаю как вам там. и самая жара если что то править нужно. во-первых зачастую затрагиваются смежные куски по, во-вторых тестирование результатов доставляет и выбешивает просто что теряется первоначальная стройность проекта, появляются заплатки и костыли.

Так это как и раз называется построение архитектуры приложения. Вам, кстати, про это уже писали.

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

Практический пример - STM32Cube. Как это выглядит - ставите галочки какие блоки задействовать в микроконтроллере, ставите галочки при настройке этих блоков, и на выходе получаете готовый си-код инициализации процессора. Но так как настроек много, кода получилось много и некачественного, то результат получается неоправданно усложненный и плохо поддерживаемый, правда говорят что у многих он нормально работает.

Go to the top of the page
 
+Quote Post
Буратино
сообщение Jan 9 2017, 06:23
Сообщение #112


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(HardEgor @ Jan 9 2017, 03:55) *
Еще раз, прочитайте что я писал - чужой код нормально выполняется и без ОС и с ОС, никакой разницы.
У меня LwIP в простой программе работает отлично, плюс подключены датчики разных производителей через модули и никакой ОС.

Еще раз пишу: чужой код одновременно! Стек сетевой и USB, плюс WEB сервер и LCD матрица с тачскрином. В качестве вишенки светодиодом моргать с периодом 0.025 сек.
Наверное можно и без ОС, но нужно ли?


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 9 2017, 06:25
Сообщение #113


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(HardEgor @ Jan 9 2017, 02:55) *
У меня LwIP в простой программе работает отлично, плюс подключены датчики разных производителей через модули и никакой ОС.


А какой критерий "отличности" у вас применяется?

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


Go to the top of the page
 
+Quote Post
Буратино
сообщение Jan 9 2017, 06:27
Сообщение #114


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(HardEgor @ Jan 9 2017, 03:55) *
. Как раз в этом и состоит искусство программиста - найти оптимум.

на сколько я помню оптимальных решений добивается инженер, и как мне кажется искусство программиста - стать настоящим инженером. rolleyes.gif


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 9 2017, 06:30
Сообщение #115


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Буратино @ Jan 9 2017, 08:23) *
Еще раз пишу: чужой код одновременно! Стек сетевой и USB, плюс WEB сервер и LCD матрица с тачскрином. В качестве вишенки светодиодом моргать с периодом 0.025 сек.
Наверное можно и без ОС, но нужно ли?


Да не спорьте, вы правильно пишите. Даже LCD с WEB сервером можно не добавлять.

RTOS еще облегчает отладку и соответсвенно ускоряет разработку.
Только ради этого одного ее оправдано везде применять.
Но почитав про FreeRTOS вы этого не поймете, поскольку эти всякие RTOS сильно отличаются друг от друга.
Начните с uCOS-III и почувствуйте силу.
Go to the top of the page
 
+Quote Post
Эдди
сообщение Jan 9 2017, 06:53
Сообщение #116


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Цитата(Буратино @ Jan 9 2017, 09:23) *
Еще раз пишу: чужой код одновременно! Стек сетевой и USB, плюс WEB сервер и LCD матрица с тачскрином. В качестве вишенки светодиодом моргать с периодом 0.025 сек.
Наверное можно и без ОС, но нужно ли?

Элементарно все это реализуется на конечных автоматах безо всяких ртосей!
В крайнем случае можно свой диспетчер задач накидать на systick. Зачем лезть в ртось-болото? Оверхед же жутчайший!
Тупые моргания светодиодом вообще таймером реализуются — даже прерываний никаких обрабатывать не нужно. Экранчик тоже аппаратно обновляется (если достаточно оперативки у МК) — при помощи DMA.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 9 2017, 07:06
Сообщение #117


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Эдди @ Jan 9 2017, 08:53) *
Элементарно все это реализуется на конечных автоматах безо всяких ртосей!


Боюсь содержание вашего github-а не позволяет относится к вашим словам серьезно. Фреймворк ваш в зачаточном состоянии.
И справтесь для начала у себя со сканированием 1-Wire"при помощи DMA" biggrin.gif
Go to the top of the page
 
+Quote Post
Herz
сообщение Jan 9 2017, 07:17
Сообщение #118


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(Огурцов @ Jan 9 2017, 01:44) *
незнание законов мерфи не освобождает от ответственности
хотя таки да, уже многое о вас говорит

Огурцов, буду вынужден Вас окончательно забанить за подобную писанину.
Go to the top of the page
 
+Quote Post
Эдди
сообщение Jan 9 2017, 08:02
Сообщение #119


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Цитата(AlexandrY @ Jan 9 2017, 10:06) *
Фреймворк ваш в зачаточном состоянии.

Ну так не было еще такого количества задач, чтобы всю периферию объять.
Цитата
И справтесь для начала у себя со сканированием 1-Wire"при помощи DMA" biggrin.gif

Это совершенно ненужное занятие, потому как оно имеет смысл лишь при замене одного сгоревшего термодатчика другим. А в данном случае проще будет заново все поочередно повтыкать и пройти процедуру перенумеровки.
Другое дело, что я эмуляцию EEPROM во флеш так и не добил (пока не нужно было часто что-то туда писать), если понадобится, сделаю.

Скоро, кстати, буду расширять сниппеты на 0-вую серию (термомониторинг главного зеркала нашего телескопа, чипы STM32F042, связь по CAN, датчики — TSYS01).
Go to the top of the page
 
+Quote Post
HardEgor
сообщение Jan 9 2017, 09:10
Сообщение #120


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Цитата(AlexandrY @ Jan 9 2017, 13:25) *
А какой критерий "отличности" у вас применяется?

Самый главный критерий - всё работает корректно.
Запас по скорости передачи данных есть, единственная проблема - памяти не хватает.

Цитата(Буратино @ Jan 9 2017, 13:23) *
Еще раз пишу: чужой код одновременно! Стек сетевой и USB, плюс WEB сервер и LCD матрица с тачскрином. В качестве вишенки светодиодом моргать с периодом 0.025 сек.
Наверное можно и без ОС, но нужно ли?

Чужой или свой - побарабану, если ресурсов хватает, конечно нужно.
ОС в любом случае требует дополнительные уровни абстракции и кушает ресурсы.


Цитата(Буратино @ Jan 9 2017, 13:27) *
на сколько я помню оптимальных решений добивается инженер, и как мне кажется искусство программиста - стать настоящим инженером. rolleyes.gif

О как! Вообще-то специальность так и называется инженер-программист.
Но есть просто кодер, это уже уровень техника, тогда да, до инженера расти и расти.
Go to the top of the page
 
+Quote Post

27 страниц V  « < 6 7 8 9 10 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 07:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01849 секунд с 7
ELECTRONIX ©2004-2016