Pashgan

Pashgan

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

   Подправил библиотеку для LCD, теперь она поддерживает контроллеры ks0066 и hd44780. Фишка в чем. Библиотека для hd44780 может работать и с ks0066, а вот библиотека для ks0066 с контроллером hitachi уже не работает.  У этих контроллеров есть некоторое отличие в инициализации при использовании 4-ех разрядной шины. Вообщем я добавил несколько строк кода и заключил их в директивы условной компиляции, чтобы можно было выбирать тип контроллера. Код для hitachi чуть "потолще", а если будет использоваться контроллер ks0066 зачем нам лишние 40 байт кода. 

    Стандартный подход к написанию программы для микроконтроллера сводится к использованию бесконечного цикла (суперлупа), внутри которого непрерывно опрашиваются флаги и запускаются те или иные функции. Этот подход вполне оправдан для написания небольших программ, но при превышении определенного порога сложности, такая программа становится громоздкой, непонятной и запутанной. Этой ситуации можно избежать, если на начальной стадии разработки оценить сложность программы и выбрать для нее более подходящую форму организации.
   Самой ближайшей альтернативой является событийная система. Она не такая тяжеловесная, как операционная, и в то же время позволяет организовать программу в довольно стройную и понятную конструкцию, которую легко наращивать и изменять. 
Найджел Джонс

   Одна из наименее используемых, но  потенциально наиболее полезных директив препроцессора Си - это #error. В этой статье мы рассмотрим пару интересных способов применения #error, которые пригодятся вам при разработке программного обеспечения для встраиваемых систем.

  Директива препроцессора #error относится к нововведениям Standart C (стандарт 1989 года). Синтаксис ее довольно простой:

#error <error message>

<error message> - может состоять из любого печатного текста и его даже не обязательно заключать в кавычки. Технически, сообщение можно опустить, однако особого смысла в этом нет.   

  Когда препроцессор Си встречает директиву #error, процесс компиляции останавливается и пользователю выдается сообщение. Обычно оно выглядит так:

Filename(line_number): Error! 
Ennnn: <error message>

Где Filename - это имя исходного файла, line_number – номер строки, где находится директива #error, и Ennnn – код ошибки компилятора. Таким образом, сообщение #error ничем не отличается от обычных сообщений компилятора об ошибках. 

 

USB AVR программатор USBasp

В интернете много схем USB программаторов для микроконтроллеров AVR. Все их можно разделить на три группы: программаторы на основе микроконтроллеров AVR, в которых USB интерфейс реализован программно, программаторы на основе микроконтроллеров AVR с аппаратной поддержкой USB, и программаторы на основе микросхем FT232, которые работают в режиме BitBang.

Один из наиболее простых для повторения AVR USB программаторов – это USBasp. Он собран на микроконтроллере Atmega8 (или Atmega48), требует минимум внешних компонентов, имеет несколько готовых вариантов разводки печатной платы и оболочек для программирования, а также может работать под Linux и MacOS.

Правда есть одно НО! Для оживления этого программатора в микроконтроллер нужно записать прошивку, а значит, у вас уже должен быть какой-то работающий AVR программатор или хотя бы возможность его где-то взять.

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

  В предыдущей статье по scmRTOS мы создали в IARe некую заготовку. Теперь на ее основе мы напишем полноценную программу для микроконтроллера AVR. Программа будет простая — два светодиода моргающих с разной частотой. Однако  даже для ее реализации придется напрячь извилины и разобраться с основными моментами использования операционной системы.

Nigel Jones

   Очевидно, что обязательным и существенным этапом процесса найма на работу программистов встраиваемых систем является «Си-тест». Многие годы мне приходилось проходить такие тесты самому и составлять их для других, и по ходу дела я понял, что такие тесты могут быть очень поучительными как для соискателя, так и для работодателя.

   Привет. Прошел ровно год с того момента как был запущен сайт ChipEnable. Честно говоря, даже не верится, что так быстро пролетело время. Сайт живет, развивается, расширяет тематику и медленно, но верно наращивает аудиторию. Не всегда получается регулярно писать для сайта статьи, что меня сильно расстраивает, тем не менее бросать это занятие я пока не собираюсь. Заходите на ChipEnable, чаще общайтесь на форуме и оставляйте комментарии. Если у кого-то есть желание разместить свой материал - буду только рад. ChipEnable - С Днем Рождения!!!
   Второй повод для всеобщей радости - это День Программиста, который с 2009 года теперь отмечается на 256 день в году. Сегодня именно такой день. Всех с Днем Программиста!!!