Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: «Hello World!» в embedded-исполнении. Часть 7  (Прочитано 27915 раз)
0 Пользователей и 11 Гостей смотрят эту тему.
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« : 14-11-2011 06:17 » 

Обсуждение статьи: ««Hello World!» в embedded-исполнении. Часть 7»
« Последнее редактирование: 01-08-2012 12:40 от Dale » Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 21-11-2011 07:07 » 

Цитата
Делаем выводы: использование языка C для программирования микроконтроллеров не влечет непременного раздувания программного кода и снижения его эффективности. Зато выигрыш в производительности труда программиста очевиден.
Не влечет, если тщательно изучать листинг, и в нужный момент корректировать код.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 21-11-2011 08:16 » 

Не влечет, если тщательно изучать листинг, и в нужный момент корректировать код.

Вообще-то я специально немного слукавил и не сразу включил максимальную оптимизацию компилятора, чтобы наглядно показать ее влияние. Надо бы еще в статью добавить пару цитат по поводу оптимизации из https://club.shelek.ru/viewart.php?id=342
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 21-11-2011 08:36 » 

Dale, конечно же надо сослаться. И оговорить требования к проекту
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 21-11-2011 08:43 » 

Требования оговорены в самом начале здесь: https://forum.shelek.ru/index.php/topic,27682.msg268935.html#post_A3 . Без формальностей в духе IEEE, ибо примитивны донельзя.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 21-11-2011 08:50 » 

ой... ну ты уж извини, я забыл что было в первой части. Улыбаюсь

Ок.

Делаем выводы: использование языка C для программирования микроконтроллеров не влечет непременного раздувания программного кода и снижения его эффективности. Зато выигрыш в производительности труда программиста очевиден.
Так же читаем статью о ... ссылка на "оптимизацию" ...
И не забываем, что требования к проекту были озвучены в первой части. (ссылка)

Тем самым убьем несколько зайцев + перелинкуем статьи
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 21-11-2011 17:37 » 

Добавил небольшую мораль по части оптимизации.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 21-11-2011 17:49 » 

Dale, в итоге, это та самая статья, о которой ты сказал с год назад?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 21-11-2011 17:52 » 

Dale, в итоге, это та самая статья, о которой ты сказал с год назад?

Я не вполне понял, о чем речь... Можно ссылку или напоминание?
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 21-11-2011 18:00 » 

Я по памяти. Попробую найти. Где-то в обсуждении статей было.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 21-11-2011 18:05 » 

https://forum.shelek.ru/index.php/topic,26076.msg250273.html#msg250273
Думаю, тут.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 21-11-2011 18:16 » 

Нет, та статья пока еще ждет своего часа.

У меня в замыслах такое дальнейшее развитие сюжета. Мигать светодиодом при помощи контроллера, конечно, очень круто. Но что делать, если нужно, к примеру, мигать одновременно двумя, да еще и вразнобой (с некратными периодами)? Можно притянуть за уши таймер и работать с прерываниями, но тут всплывает еще одна задача: отслеживать нажатие кнопки и передавать азбукой Морзе сигнал SOS третьим светодиодом.

Спасти отцов русской демократии могут протопотоки. Разнесем каждую задачу в свой поток и будем гонять параллельно на одном ядре в режиме кооперативной мультизадачности.

А там уже и до задачи "производитель-потребитель" рукой подать. Заодно и реанимирую подзависшую ветку про мультипрограммирование. Я про нее не забыл, просто практической потребности пока не было, у нас сейчас теория далеко обогнала практику. Будем исправлять перекос при помощи паяльника.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 21-11-2011 18:22 » 

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

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 21-11-2011 18:31 » 

Там должна получиться очередь к таймеру от разных устройств (две мигалки, кнопка с программным подавлением дребезга, генератор кода Морзе)... Эту очередь нужно будет сортировать, синхронизировать задачи... Сначала покажу, какой запутанный, некрасивый и трудно масштабируемый код получается, а потом перейдем к протопотокам.

А для задачи "поставщик-потребитель" уже придумал реальный пример. Сделаю контроллер мини-дрели с программированием и стабилизацией оборотов. Там один поток-производитель будет измерять обороты шпинделя, а потребители будут индицировать и регулировать их.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 21-11-2011 18:55 » 

Предлагаю в общем сделать топик, где
Будет поставлена задача
Мигание светодиода, нажатие кнопок и прочее
Определены условия  - возможности железяки

Заслушать мнения и решения без обсуждений.

>Тема создана.<
« Последнее редактирование: 08-12-2011 20:56 от RXL » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 26-11-2011 17:56 » 

Вопрос: не следует ли заменить "unsigned short" на "uint16_t"?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #16 : 26-11-2011 18:24 » new

Пусть остается. Я специально не стал навязывать компилятору конкретный тип для организации внутреннего цикла, пусть сам оптимизирует.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #17 : 08-12-2011 20:54 » 

Димкина критика: https://club.shelek.ru/viewart.php?id=361
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines