Подтвердить что ты не робот

Начало работы с программированием ПОС (или аналогичных продуктов)

Как мне начать с программирования PIC (или аналогичных продуктов)?

Предпочтительно в C. Какие хорошие новички, учебники, книги и т.д.? Может быть, некоторые маленькие роботизированные идеи проекта.

4b9b3361

Ответ 1

Надеюсь, я не смогу сказать об этом, но я считаю, что ассемблеру намного проще для ПОС, чем что-либо еще. Я говорю о ПИК, а не о ПИК 32, что совсем другое.

Обычно я часто использую SparkFun для плат Olimex и non-Olimex (SparkFun). Иногда есть ссылки на рабочие примеры, иногда нет, вам нужно ходить по магазинам.

Я порезал свои зубы на ПИК, но уже давно их оставили. Набор инструкций был ужасно неэффективным, и они не "поняли" его, когда речь зашла о советах разработчиков. Похоже, что теперь они "получают", есть тонна досок в диапазоне от $20 до $50, с помощью которого можно намочить ноги, на самом деле, возможно, слишком много досок. К сожалению, день опоздал, а олл-ал для меня лично.

Вам нужно будет что-то похожее на AVR Butterfly, несколько разных на борту гаджетов, чтобы научиться программировать, и/или почти голая доска, только чип, часы/мощность, предпочтительно, связь UART или UART через USB (что и вы также получаете власть). Примечание. У SparkFun есть ряд решений для этого: небольшие платы, которые вы подключаете к концу USB-кабеля, а другая сторона - UART, питание и земля. С помощью простой платы вы можете добавить свои собственные светодиоды и все, что угодно, без необходимости удалять или отключать гаджеты gee whiz, которые поставляются с оценочной панелью. В какой-то момент я использовал SPI UART, поскольку бит-бит SPI был проще, чем бит, битый самими битами UART.

Я бы начал с мигания светодиодов, как путем подсчета инструкций, так и количества часов в цикле и обучения использованию таймера на кристалле. Затем научитесь масштабировать системные часы или другие делители часов. Затем я попал в UART или немного взломал сериал, чтобы ваши программы могли общаться с вами. Затем попробуйте получать данные о последовательном /UART с UART, если он есть, но также путем опроса вывода ввода-вывода и использования таймера или счетных часов, а также использовать прерывания, прерывая изменение состояния на штыре, если это возможно, Узнайте, как использовать подтягивания, получить Далласский полупроводниковый однопроводный датчик температуры или что-то в этом роде и не просто загрузить рабочий код. Объясните, как с ним общаться (вы можете очень хорошо расплавить одну или несколько частей, которые делают это, как ПОС, так и температурные датчики, покупают дополнительные предметы).

Все и все эти базовые навыки необходимы для создания робототехники. Хм, шаг, что двигатель не похож на бит, стучащий по шине UART или SPI, просто немного отличается...

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

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

Если вы пытаетесь что-то вывести, скорее всего, вам захочется, чтобы какой-то осциллограф или логический анализатор "увидели" ваш вывод, и даже с областью действия устройство все еще может просто не принимать ваши данные. В конце концов вы захотите иметь проект, который выводит что-то, конечно, поэтому вам нужно быть готовым к этому. В зависимости от того, с чем вы хотите взаимодействовать, вы можете получить две платы микроконтроллеров и иметь один выход данных, как если бы он разговаривал с устройством, а другой монитор и получать данные, как если бы он был логическим анализатором, давая вам способ "видеть" данные за 20 долларов вместо 20 000 долларов.

О, и когда вы входите в заблуждение, забудьте ВСЕ, вас учили в классе программирования. ПИК и кролик-полу и другие компиляторы не будут истинными компиляторами C, а являются компиляторами C (некоторые могут быть совместимы с некоторыми стандартами, но для встроенных вам НЕ НУЖНО). Такие правила, как no gotos, глобальные переменные, одна функция возврата на функцию, должны быть меньше, чем X строк кода и т.д. Это может иметь или может иметь цель на компьютере, но многие из них сильно повредят вам во встроенном мире. Убедитесь, что вы можете разбирать или в основном видеть инструкции, созданные вашим кодом C. Если у вас очень ограниченное ПЗУ и ОЗУ, вы не хотите использовать в 10-100 раз больше ресурсов, чем вам действительно нужно. Или придется покупать большую часть только из-за вашего стиля кодирования. Как и для мигающих светодиодов, чтобы узнать, как использовать контакты ввода/вывода, научиться программировать для встроенных так же важно, прежде чем попасть в настоящий проект. Хорошо, что вы можете получить бесплатный или демонстрационный компилятор и начать изучать этот материал, прежде чем покупать какое-либо оборудование. Есть, вероятно, и симуляторы PIC, и вы можете сделать один шаг через код, чтобы понять, что происходит.

Моя нижняя строка заключается в том, что вы не должны ограничивать себя PIC, магазином sparkfun.com, покупать несколько различных оценочных плат за 20 долларов с различными чипами (AVR, PIC, MSP430 и, безусловно, некоторые из ARM-моделей), играйте со всеми из них. Определите свои сильные и слабые стороны и/или ваши избранные на основе вашего личного стиля кодирования. У каждого есть немного другой способ внедрения I/O и таймеров и прерываний и т.д.

Ответ 2

Один из способов начать работу - использовать стартовые комплекты PIC, предлагаемые Microchip. Они обычно представляют собой одну демонстрационную плату, которая поставляется с одним включенным PIC, который может быть использован для программирования микроконтроллера, а также для выполнения простых проектов со светодиодами и такого, что входит в состав платы, а также оценочной версии компилятора C.

Существует несколько семейств ПОС, начиная с 8-контактных 8-разрядных микроконтроллеров, которые имеют только 256 слов памяти, до 32-разрядных микроконтроллеров с сотнями КБ ОЗУ и флэш-памятью, основанной на ядре ARM. Поэтому, вероятно, было бы неплохо сначала узнать, какие требования будут (из книг и руководств), прежде чем решать, какое семейство микроконтроллеров PIC использовать.

Поиск чего-то по линии "PIC robotics" в онлайн-книжном магазине, таком как Amazon, даст много книг по использованию ПОС для робототехники. Однако следует отметить, что многие книги могут действительно использовать BASIC или другие компиляторы, не относящиеся к C, для программирования микроконтроллера, поэтому, вероятно, было бы неплохо сначала взглянуть на содержание книги, чтобы убедиться, что она обеспечивает C примеры.

Кроме того, следует отметить, что могут быть некоторые несовместимости между компиляторами C (доступные библиотеки и т.д.), поэтому было бы неплохо также проверить, что у вас есть компилятор C и примеры кода, приведенные в книге фактически работают друг с другом. Эта часть может быть одной из наиболее разочаровывающих частей, связанных с началом внедрения программирования.

Ответ 3

Практически каждый выпуск Make Magazine имеет по крайней мере один проект робототехники. Их блог также полон идей.

Ответ 5

В настоящее время я играю с процессорами PIC как хобби, с очень ограниченным временем и денежным бюджетом. Я получил Microchip стартовый комплект от Farnell (я заплатил 20 фунтов стерлингов, но теперь он меньше 30 фунтов стерлингов).

Важно отметить, что, хотя в комплект входит 14-контактный разъем, он будет программировать большие чипы, в настоящее время я использую 20-контактный 16F690.

Я использую компилятор HI-TECH C, который имеет бесплатную версию, которая превосходна.

Я также использую плату Velleman USB, которую я получил от Maplin за £ 30. Он немного медленный, но он позволяет вам разговаривать с ПОС с вашего ПК.

Процессоры PIC могут быть не самыми лучшими, но они просты в использовании и дешевы.

Ответ 6

Я пошел на AVR, а не PIC для моего проекта микроконтроллера хобби и решил "нетривиальный" проект "шестиугольного робота" от царапины "(без комплектов) с пользовательской электроникой и прошивкой в ​​сборке... Блог здесь, он идет хорошо, но медленно:)

Я нашел учебники на SparkFun, которые были очень хорошими, и мне не потребовалось много времени, чтобы идти.

Там отличное сообщество AVR на AVRFreaks с большим количеством обучающих материалов, больше для C, чем ассемблер, чтобы быть честным.

Ответ 7

Хотя прошло какое-то время, я хотел бы поделиться хорошей ссылкой для тех, кто будет искать эту тему в StackOverflow.

Gooligum Electronics - Учебники по ПОС

Они объясняют вещи очень хорошо, я думаю.

Ответ 8

Если честно, я бы не стал беспокоиться о PIC в эти дни, вместо этого посмотрю на IC, содержащий ядра ARM7. Они мощные, достаточно просты в использовании, могут быть запрограммированы с помощью бесплатных инструментов (GCC) и теперь дешевы. Вы не говорите, где вы находитесь, но если вы находитесь в Европе, тогда посмотрите на покупку совета развития от этой компании.

http://www.olimex.com/dev/

Если вы думаете, что ядро ​​ARM7 сложнее, тогда вместо этого взгляните на семейство MSP430. Я купил комплект для разработки MSP430, созданный Техасом и проданный Farnell примерно за 12 фунтов стерлингов, и который включал в себя немного искалеченный компилятор C. Также.

Ответ 9

Вы хотите сделать электронику, а также встроенную разработку. Вы можете посмотреть учебники "Начальная встроенная электроника" в SparkFun. Этот проект основан на ATmega168.

Ответ 10

Большинство поставщиков компилятора C для PIC имеют хорошие недорогие стартовые чипы с бесплатными версиями компилятора, которые обычно ограничены конкретным процессором (тот, который находится в комплекте или еще несколько), самым дорогим товаром будет ICD (

К ним относятся:

  • Microchip
  • CCS
  • HITECH
  • больше.... есть даже некоторые компиляторы PIC C/С++ с открытым исходным кодом.

Я начал работу с CCS, но мне не очень нравится их компилятор C, но я не делаю достаточно работы PIC, чтобы беспокоиться о переключении.... пока.

Ответ 11

Вы можете посмотреть стартовые наборы Rabbit. Они предлагают множество недорогих комплектов для начинающих, чтобы опробовать определенную технологию, такую ​​как беспроводная связь, Bluetooth, датчики и т.д. Было бы забавно войти в встроенное программирование, сделав классный гаджет.

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

Ответ 12

Dwengo содержит некоторые полезные руководства и стартовые комплекты для начинающих с PIC на C, включая некоторые проекты робототехники.

Ответ 13

Поскольку я очень привык к Delphi, продукты от mikroElektronika были очень привлекательны для меня. Я выполнил несколько проектов с использованием MikroPascal (очень похоже на синтаксис Delphi), используя их плагины разработки и программисты на платформе EasyPIC.

Они расположены где-то в восточной Европе, но у меня никогда не было проблем с доставкой их продуктов в США.

Здесь ссылка на их сайт:

http://www.mikroe.com/

Ответ 14

Начало работы с программированием PIC...

Поскольку вы упоминали о PIC, я добавлю два цента, рекомендуя тщательную книгу Embedded C programming и Microchip PIC от Barnett, O'Cull и Cox. Фрагменты в книгах Google

В книге используется компилятор CCS.

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

Угу. Кроме того, документация более скудна. Кроме того, IDE для встроенной разработки заметно более упрощены (но, по-видимому, более загадочны), чем IDE для разработки ПК.