В последнее время возросла популярность ARM микроконтроллеров, среди профессионалов и любителей, что привело к появлению очень большого числа интегрированных сред разработки (IDE).
Все они различны между собой. Основные различия:
1) Язык программирования: C, C++, Assembler;
2) Количество поддерживаемых архитектур ARM микроконтроллеров;
3) Наличие готовой библиотеки функций для решения типовых задач;
4) Кроссплатформенность;
5) Платный или бесплатный продукт.
Самые популярные среды программирования:
1) Atmel Studio – интегрированная среда разработки от компании Atmel для разработки приложений под микроконтроллеры AVR и ARM. Программа позволяет работать с языками программирования, как на ассемблере, так и на C/C++. Она содержит в себе: мастер проектов, виртуальный симулятор, редактор исходного кода, модуль внутрисхемной отладки и интерфейс командной строки. Визуальные инструменты позволяют ускорить написание программы. Atmel Studio считается лучшей средой создания приложений для контроллеров AVR.
2) CodeVisionAVR – интегрированная среда разработки приложений для AVR микроконтроллеров. Из главных достоинств CodeVisionAVR можно отметить то, что он не слишком сложен для самостоятельного освоения.
|
|
|
Поддерживает все многочисленное семейство микроконтроллеров AVR. Программа позволяет работать на Си-языках и на ассемблере. Основными модулями CodeVisionAVR являются: трансляторы программ, элементы для инициализации периферийных устройств, компоненты взаимодействия с внешними программаторами, редактор первичного кода, терминальный модуль.
3) Keil MDK–ARM (Keil uVision) – среда разработки, представляющая собой набор утилит для выполнения полного комплекса мероприятий по написанию приложений для микроконтроллеров.
Keil MDK–ARM позволяет работать с проектами любой сложности, начиная с введения и правки исходных текстов и заканчивая внутрисхемной отладкой кода и программированием памяти микроконтроллера. Компиляторы Keil работают с текстами, написанными на Си или ассемблере. Встроенный редактор облегчает работу с исходным текстом за счет использования многооконного интерфейса, выделения синтаксических элементов шрифтом и цветом.
4) Atollic TrueSTUDIO – для ARM
5) IAR Embedded Workbench
6) CooCox CoIDE
Обобщенная процедура подключения АЦП к Микроконтроллеру.
Рассматривается код программного SPI микроконтроллера AVR и подключение через него внешнего 12-битного ADC (АЦП) MCP3202.
Аппаратно подключение довольно простое - тип интерфейса SPI, используется 4 сигнала CS, DI, DO и CLK (см. таблицу).

Цоколевка АЦП MCP3202 (аналог ADC0832)
| Сигнал MCP3202 | Порт AVR | Описание |
| CS, вход | PB5, выход | Выборка для чипа MCP3202, активный уровень - лог. 0 |
| DI, вход | PB7, выход | Последовательные данные команды для MCP3202 |
| DO, выход | PC7, вход | Последовательные данные результата АЦП MCP3202 |
| CLK, вход | PB6, выход | Такты для бит сигналов DI и DO MCP3202 |
У АЦП два мультиплексируемых входа CH0 и CH1, которые могут быть выбраны программно. В качестве эталонного напряжения (reference voltage) для АЦП MCP3202 служит напряжение питания VDD / VREF.
|
|
|
Используемый протокол обмена данными максимально прост. Сначала по шине DI идут 4 бита команды, потом по шине DO выдвигаются из АЦП 12 бит данных (каждый бит команды DI и каждый бит данных DO тактируется фронтом сигнала CLK). Данные передаются в порядке, когда самый старший бит идет первым (MSBF, Most Significant Bit First).






