Category Archives: AVR

О микроконтроллерах

Как задать скорость работы UART

Сижу, пишу проект. В проекте используется UART. На этот раз в обычном асинхронном режиме…

Думаю, не так много людей, кто любит читать документацию. Я тоже читаю pdf-ки только тогда, когда «прижимает». А вот так просто взять в руки и почитать — не-е! (Я уверен — не только один я такой ленивый!) Поэтому не удивительно, что многие разработчики про микроконтроллеры, с которыми работают, хотя и знают очень много чего, но ведь не всё. Всегда остаются «белые пятна», которые так или иначе закрываются другими способами и приёмами в работе.

Читать далее

Реклама

Ох, уж эти AVR-ки!

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

Необходимость загонять UART в режим синхронной передачи продиктована требованиями протокола — нужно передавать по геофизическому кабелю данные в коде Manchester-II.

Я уже как-то писал, что для создания Манчестерского кода как нельзя лучше подходят AVR-ки. И в самом деле, среди других микроконтроллеров, которые я знаю и которые у меня есть в наличие — MSP430 и STM32, только ATMEGA способны генерить синхросигнал во время передачи данных по UART. Остальные либо вообще не умеют этого делать (MSP430), либо считают не нужным вырабатывать синхроимпульсы во время «стартового» и «стопового» битов (STM32).

Читать далее

Как я осуществляю отладку микроконтроллерных программ

Задающего этот вопрос товарища интересовало как вообще осуществляется отладка микроконтроллеров STM32 из среды Linux.

В Винде, там — понятно, там сама среда разработки (IAR, KEIL) для этого имеет соответствующие режимы и средства. А вот в Линуксе — как? Тут ведь нет единой среды. Текстовый редактор — отдельно, компилятор — отдельно, программа для заливки кода — отдельно. Всё это хозяйство логически объединяется и управляется с помощью Make-файла. И это у меня в блоге было неоднократно расписано на примерах разного типа микроконтроллеров (AVR, MSP430, STM32). А вот про отладку — я скромно умолчал.

Читать далее

VPNkey-свисток

Давно это было. Отдал мне как-то мой приятель, Юрка Чернышов, одну штучку — VPNkey. Ключ дохлый, ни на что не отзывается. Можно было бы и выкинуть, но есть приятель (Сашка, то есть — я), который собирает подобные «трупы» и на них тренируется. В общем, отдал и забыл — и себе польза (избавился от ненужного), и дурачку свисток. Все довольны, все счастливы.

Конечно же! Самое первое, что я сделал, — я вскрыл свистульку. В животике у неё оказались — MEGA64 в корпусе MLF, конвертер USB в параллельный интерфейс PDIUSB12, флэшь-память AT45DB041B на 512 кБайт (в дурном корпусе CASON), монитор питания DS1813, ну и другие менее значимые микросхемы. То есть, для меня есть чем поживиться.

Здесь на фотке MEGA64 уже «сдута»:

img_1236

Память и монитор питания находятся с другой стороны платы.

К стати, о PDIUSB12 — точно такой же USB-конвертер используется в китайских программаторах Dragon!

Читать далее

Эмулятор каротажных сигналов

Прошу знакомиться, это — ЭКС (без корпуса):

DSC00004

Читать далее

Конвертер Manchester-II в RS232

Этот девайс устанавливается между Модулем Магнитного Каротажа (ММК) и компьютером. Он предназначен для преобразования потока данных, передаваемых от ММК по протоколу Manchester-II, в поток данных, передаваемых в комп по интерфейсу RS232. Вот такие непростые дела, хотя на самом деле всё намного проще.

Читать далее

ATMEGA8 vs. STM32F030

Сегодня пришла убийца AVR-ок.

DSC00525

Давайте сравним.

Читать далее

Как приручить AVR GNU assembler

Сегодня меня жизнь опять «завернула» с Cortex-ов на AVR-ки. Причем завернула очень лихо — мало того, что проект нужно создать очень-очень быстро, так он еще должен быть написан на ассемблере!

Читать далее

CRC16-CCITT — сравнение реализаций

При передаче данных на большие расстояния по зашумленным линиям связи всегда возникает вопрос о достоверности принимаемых данных.

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

Читать далее

Как организовать систик в AVR

systick — это системный таймер.

Довольно часто бывает нужно иметь чёткую «нарезку» времени — получение событий (импульсов) с заданной частотой.

Читать далее