цифровая электроника
вычислительная техника
встраиваемые системы

 

MPLAB X Парсинг в реальном времени

Автор: Mike(admin) от 29-08-2013, 13:22

MPLAB X имеет мощный парсер, позволяющий устранять синтаксические ошибки при написании кода.




Микроконтроллеры семейства PIC32. Прерывания.

Автор: Mike(admin) от 29-08-2013, 13:18

Говоря простым языком, прерывание это какое-либо внешнее или внутреннее событие, требующее от процессора немедленной реакции на него. При этом выполнение текущей программы на время завершается, процессор сохраняет значения служебных регистров, входит в обработчик прерывания, обрабатывает это прерывание, по выходу восстанавливает служебные регистры и вновь возвращается к месту выполнения основной программы, на котором его прервали. Вообще, в ядре MIPS (а в PIC32 используется именно оно) все прерывания попадают в категорию исключений. К исключениям здесь относится все, что «мешает» нормальной работе основной программы. Например, выполнение процедуры сброса – исключение, ошибка при делении – исключение, и, конечно же, различные прерывания, как внутренние, так и внешние, тоже исключения.


Прерывания


В PIC32 имеются 96 источников прерывания и 64 векторов прерывания. Это значит, что несколько источников могут быть «приписаны» к одному вектору, то есть указателю к функции обработчика прерывания. Нужно учитывать, что механизм прерываний поддерживает одновекторный и мультивекторный режимы. При одновекторном режиме в таблице исключений будет представлен один вектор для прерываний, и, следовательно, будет лишь один обработчик прерываний. Многовекторный режим предоставляет возможность работать с прерываниями в собственных обработчиках, тем самым повышая гибкость и читабельность программы. Давайте начнем разбирать это на примерах и потихоньку вникать во все тонкости прерываний.

MPLAB X Навигация с помощью гиперссылок

Автор: Mike(admin) от 29-08-2013, 13:14

MPLAB X с помощью гиперссылок позволяет находить места объявлений переменных и функций как внутри, так и вне одного файла




Микроконтроллеры семейства PIC32. Работа с таймерами.

Автор: Mike(admin) от 29-08-2013, 13:08

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


Таймеры


В PIC32 имеется два типа таймеров – таймеры A (по сути, он один – TMR1) и таймеры B (TMR2, TMR3, TMR4, TMR5). Все они 16-разрядные, могут тактироваться от внешнего или внутреннего источника и вызывать прерывания. Но таймер A может работать в качестве асинхронного таймера/счетчика, тактируемого от отдельного осциллятора, функционировать в спящем режиме микроконтроллера и иметь предделитель со значениями 1:1, 1:8, 1:64, 1:256. Таймеры B могут формировать в паре один 32-разрядный таймер, иметь предделитель со значениями 1:1, 1:2, 1:4, 1:8, 1:16, 1:32, 1:64, 1:256, влиять на срабатывание триггера события.

MPLAB X Шаблоны кода

Автор: Mike(admin) от 29-08-2013, 13:04

MPLAB X может автоматически продолжить строку или даже вставить целый фрагмент кода в зависимости от введенных первых символов




Микроконтроллеры семейства PIC32. Первый проект.

Автор: Mike(admin) от 29-08-2013, 12:37

Компания Microchip давно и широко известна отечественным радиолюбителям благодаря линейке дешевых 8-битных микроконтроллеров, которые успели найти себе применение в различных приложениях, вроде терморегуляторов, сенсорных устройств, приборов малой автоматизации и т.д. и т.п. Там российский разработчик не брал МК компании Atmel (прямой конкурент Microchip), он пользовался именно PIC’ами. Выбирать особо не приходилось. STM, NXP, TexasInstruments и уж тем более Renesas лет 10-15 назад были не так широко представлены на отечественном рынке по сравнению с сегодняшним днем. Да и PIC’и и AVR’ки были просты в освоении, в первую очередь благодаря немалому количеству русскоязычной документации. Но потом эти компании начали массово выпускать 32-разрядные микроконтроллеры (преимущественно с ядром ARMCortex) и заполнять ими мировые рынки. Чтобы не увидеть себя в хвосте этой гонки и не прослыть компанией, выпускающей «DIP’овых тараканов для самопайщиков», Microchip в 2007 году вывела на рынок свои 32-битные микроконтроллеры семейства PIC32.


MPLAB X Связь инструментов

Автор: Mike(admin) от 29-08-2013, 12:10

Связь средств программирования и отладки со средой MPLAB X



Шина LIN

Автор: Mike(admin) от 29-08-2013, 12:04

Принцип работы сети LIN (видео компании Melexis)



15 дополнений, превращающих Raspberry Pi в рабочую лошадку

Автор: Mike(admin) от 29-08-2013, 11:59

В июне 2013 года Королевская инженерная академия присудила престижную награду Серебряную медаль доктору Эбену Аптону, соучредителю Raspberry Pi Foundation.


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


В последнее время появились десятки компаний, выпускающих дополнительные компоненты и аксессуары для оригинального Raspberry Pi. Основной причиной этому являются цена, доступность, расширяемость и развивающееся сообщество поддержки. В этой статье будут представлены 15 аксессуаров, превращающих обычный компьютер в мощную машину.

Разница между процедурно-ориентированным и объектно-ориентированным программированием

Автор: Mike(admin) от 29-08-2013, 11:42

Мы все знаем, что существуют 2 подхода к написанию программы – процедурно-ориентированное программирование (ПОП) и объектно-ориентированное программирование (ООП). Вы можете написать программу, используя любой из этих способов, но между ними есть заметные различия. Эти 2 подхода являются результатом эволюции разработки программного обеспечения, длившейся многие десятилетия. С момента изобретения компьютера было опробовано множество подходов и методов написания программ. Сюда можно отнести такие методы, как программирование сверху вниз (Top-Down programming), программирование снизу вверх (Bottom-Up programming), модульное программирование (Modular programming), структурное программирование (Structured programming) и другие. Основной целью всех этих методов было одно — сделать процесс программирования эффективнее. Это означает, сделать процесс написания сложных программ менее трудным, легко понимаемым, легко расширяемым/модифицируемым и имеющим как можно меньшую вероятность появления ошибок.