ответ

1

Этот ответ немного не по теме, но ....

Я лично использую ОСТО из microchip.com. Они действительно недороги и имеют довольно много материала, в который входят тонны опций/версий. Хотя я хотел бы использовать .NET Micro, он, похоже, разрабатывается для более чистых чипов, предназначенных для запуска ОС. Множество встроенных проектов, особенно в области связи, нуждаются в более чистых чипах ($ 100 + доски в небольших количествах), но много хороших встроенных проектов - это мелочи и нужны только 2 доллара. .NET Micro не ориентируется на них.

7

.NET Micro Framework предназначен для встроенных систем, которые содержат мощный процессор (в настоящее время ARM7, ARM9 и Blackfin).

Плата Arduino основана на 8-битном микроконтроллере AVR, для которого .NET Micro Framework даже не доступен. Рассмотрим, например, требования к памяти фреймворка: объявляется, что он потребляет всего около 300 кбайт памяти. Arduino имеет в общей сложности 16 кбайт программной памяти + 1 КБ ОЗУ.

Nintendo DS, с другой стороны, по крайней мере технически способна работать с .NET Micro Framework.

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

+0

На самом деле его 32kb не 300 – 2009-10-25 14:14:29

+2

Моих 300 кБ требования основано на подробной Белой книге, которая доступна из этого страница: http://msdn.microsoft.com/en-us/netframework/bb267253.aspx. В нем говорится: «Самый маленький показатель производительности .NET (около 300 КБ ОЗУ)». – smt 2009-10-26 11:23:12

2

Это правда, .NET Framework Micro полностью отличается. Ethernet, последовательные порты (UART), SPI, I2C, а также GPIO s поддержка все в одном.

И вы используете Visual Studio 2008. Лучшая IDE.

9

Честно говоря, если бы я тебя (что я не, кстати), я бы придерживаться его и избегать высокоуровневой абстракции платформы .NET для встроенной системы. То, как я узнал, было через курс колледжа, где я впервые познакомился с концепциями встроенных систем в наборе SunROM (аналогично плате Arduino, а также с MCM ATmega32) на языке ассемблера AVR, а затем переучивал концепции на C Имея краткое техническое понимание .NET, которое я делаю, я чувствую, что на платформе слишком много произвольной абстракции, чтобы это было очень мудрым выбором. (Разумеется, часть этого также является моей ненавистью к .NET и Java в целом, и особенно при использовании в программировании встроенных систем, поэтому сделайте мое предвзятое мнение зерном соли.)

Встроенное программное обеспечение должно (в моем мнение) сможет использовать платформу, на которой она работает, чтобы работать как можно быстрее и эффективнее, вместо того, чтобы быть более абстрактной для работы на как можно большем количестве различных машин. Вместо того, чтобы пакет разработки программного обеспечения был ошарашен, делая программы медленнее или добавляя излишнюю сложность, я думаю, что вы должны изучать концепции и реализацию с нуля, поэтому у вас есть лучшее знание того, что такое «Система».Watchdog»на самом деле, прежде чем начать злоупотребляя один.

9

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

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

Но опять же, если ваша цель состоит в том, чтобы не научиться а просто выполнить, тогда структура может помочь вам сделать это намного быстрее, потому что вам не нужно понимать внутреннюю работу. Но где это весело?

1

Если вы заинтересованы в прототипировании с очень низкой стоимостью, стоит рассмотреть маршрут «Ардуино», но не использовать Arduino.

Использования stripboard или макетный дизайн, как в #Shrimp с использованием ATmega328-PU работает под Arduino Uno загрузчика может дать вам почти такую ​​же базовую стоимость как PIC, но сохраняет совместимость со всеми уже существующим Arduino проектами мейкер, которые там , как ... http://www.instructables.com/tag/type-id/category-technology/channel-arduino/

Основанный на 100 единицах, вы можете получить компоненты для работы #Sremimp на макете всего за 1,70 фунта на стриптизере или £ 2,30 на паяльной макете в британских условиях. Для небольших томов, например 5 или 10, вы смотрите ближе на 2,90 и 3,50 фунта соответственно, но все равно дешево. Цепь #Shrimp может быть составлена ​​из схемы компоновки примерно через 10 минут, когда вы начинаете, и вы можете получить это примерно до минуты, когда вы быстро.

Конечно, стоимость не является единственным фактором, который следует учитывать.

Возможно, вы захотите запрограммировать программу на определенном языке. Для вашего sketch для работы на Arduino он должен быть написан на C, хотя вы можете использовать pyfirmata для удаленного управления Arduino-совместимым с Python, если вы не возражаете, чтобы он постоянно подключался к рабочему столу.

Использование мусора языка сбора как C# и поддержки инструментальных средств Visual Studio можно рассматривать как большое преимущество в использовании .NET Micro Framework, особенно для тех, кто уже развивается в среде Microsoft. В равной степени простота свободной и открытой исходной среды Arduino IDE представлена ​​в качестве выгоды другими.

[Раскрытие, я соавтор на прибыли не-для[email protected] проецировать себя.]

Смежные вопросы