Свежие обсуждения
Микроконтроллеры

Ликбез по С для микроконтроллеров PIC

1 10 64

Zandy: Привык к асму - все четко, однозначно, команд немного, голова только придумыванием алгоритма занята.
Ну на асме голова не совсем тем занята. Попробуйте проделать какой-либо сложный математический расчёт на бумаге, без калькулятора и компьютера. Справитесь? Наверняка да. И голова будет занята ещё как. Но только вот чем? Рутиной. А с калькулятором? Сосредоточиться можно будет на смысле расчёта, а не на "умножении в столбик" и "таблицах Брадиса" Так вот ЯВУ, и в том числе Си - это и есть своего рода "калькулятор" для программиста. Освоите и Си, вспомните "терзающие сумленья" в ликбезе по асму. Ссылку не буду давать, наверняка сами помните. Или вот ещё аналогия. Вождение автомобиля тоже ведь осваивать приходится. Поначалу - "ё-моё, какие-то рычаги, педали, кнопки, клавиши, крунтики, лампочки, приборов куча... что со всем этим делать?.." А потом настолько привыкаем, что можем рулить, курить, слушать музыку и разговаривать одновременно. И добираться до цели быстро и с комфортом, при этом не особо задумываясь о самом процессе вождения.
Помните, я рассказывал о своём методе. Предельно конкретные вопросы и поиск ответов на них. Из деталей строится общая картина, постепенно. Не найдёте ответ на вопрос сами - пишите здесь, или мне почтой. Но, ещё раз повторю, вопросы должны быть предельно конкретными.

 

2 Chav1961
Конечно если есть вариант использовать более мощный МК, то это просто замечательно.Не всегда поставленная задача позволяет использовать более мошный МК. Например при среднем или массовом производстве девайсов, начальство скорее прогаммеру мозги попарит чем отвалит те же самые лишние килобаксы на более дорогой камень. Можно более менее акууратно написать прогу на Си "потрястись над байтами" и нормально чувствовать себя при отладке а можно написать на асме, и потом сидеть пошагово проверять содержание всех регистров при возникновении ошибки.
Ладно, мне кажется мы далеко ушли от темы данной ветки. Давайте что-нибудь конкретное рассмотрим. Есть предложение реализовать динамическую индикацию на 7-сегментных индикаторах. Если такая задача не нравится, предлагайте свою.

 

Почему бы и нет? Давайте сделаем. Это просто. На микробейсике я такую штуку уже делал, теперь можно и на Си. Желательно использовать связку CCS PICC + MPLAB + PROTEUS. Чтоб сразу полюбоваться на результат.
А что будем отображать? Может сразу и матрицу кнопок прикрутим?

 

Время)

 

Время. Хорошая мысль. Я начинал такой девайс делать, почти доделал, он уже заработал в макете, но тут... кончились новогодние праздники, а с ними и свободное время. Идея - таймер для кухни. Простой в эксплуатации - проще некуда. Три кнопки и двухразрядный светодиодный 7-сегментный индикатор. Кнопка "установка десятков минут", кнопка "установка единиц минут", кнопка "старт-стоп". Чтоб любая домохозяйка сразу поняла и освоила.
В исходном состоянии девайс "спит" - выключатель питания ему не нужен. При нажатии на любую из кнопок - просыпается и ожидает набора выдержки. Ничего не набрали за 10 секунд? Опять засыпает. Набрали выдержку, нажали кнопку "старт-стоп" - процесс пошёл. Каждую секунду индикатор (2 разряда) вспыхивает, отображая оставшееся время в минутах. Истекла выдержка - подаётся звуковой сигнал, и ещё можно предусмотреть выход на внешние устройства.
Вот так вкратце. Только я на микробейсике писал. Сначала графы составил, обдумал. Программа, в общем, процентов на 80 написана. Ну так что, может сделаем такой девайс на Си? Многим пригодится, в кухне поставить или повесить. Составление техзадания и схему беру на себя.

 

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

 

Давайте сделаем такой девайс.Я за. Тем более у Вас свой ресурс есть. Поскольку аттачи не пашут, это есть немаловажно.

 

Только ещё такие предложения. Во-первых, не спешить. Как уже правильно замечено, здесь ликбез, и килобаксы за скорость нам не светят Во-вторых, при составлении графа и алгоритма попытаемся использовать switch-технологию. Граф, разумеется, составим. У меня уже наброски есть. В третьих, подойдём к решению этой задачи комплексно, с описанием всех этапов. От создания проекта до готового девайса в железе, с проверкой в Протеусе, в реальном времени.
И в-четвертых, выберем координатора для этого проекта, с правом решающего голоса.
Подождём, пока участники выскажут свои мнения по этому поводу.

 

picmaniac: Три кнопки и двухразрядный светодиодный 7-сегментный индикатор. Кнопка "установка десятков минут", кнопка "установка единиц минут", кнопка "старт-стоп".
Я согласен! Только вот сам сразу на С не напишу такую штуку. Хотелось бы посмотреть, как товарищи напишут. По ходу процесса постараюсь подключиться.

 

Zandy: Только вот сам сразу на С не напишу такую штуку. Хотелось бы посмотреть, как товарищи напишут.

Можно посмотреть в примерах к компиляторам. И в PROTEUS наверняка в примерах это есть.