Неочевидная схемотехника: часть первая. О кусках и эхе.

Для многих слово «СВЧ» означает не только микроволновую печку. Кто-то вспоминает спутниковую связь и вайфай. Но я постоянно вижу, что люди боятся работать с частотами выше нескольких сотен мегагерц. Слышу возгласы «да ты чтоо! Это ж свч, там все по-другому!» Не спорю, на некоторые моменты я до сих пор смотрю как на колдовство, по ходу обучения что-то меня очень сильно удивляло. Решил я наконец поделиться своими знаниями и примерами, мысли зрели с первого курса, то есть четыре года уже этим мыслям.


Читать дальше

CodeBlocks :: не просто ещё одна IDE

Видя регулярные холивары «студия vs эклипс» или «programmers notepad против vim», каждый раз собираюсь поведать миру об универсальном инструменте, которым сам пользуюсь в течение уже нескольких лет.
Это многофункциональная IDE для С/С++ разработки Code::Blocks.


CodeBlocks — это свободная кроссплатформенная среда, заполняющая нишу между монструальными и неповоротливыми «взрослыми» системами для больших проектов, типа Eclipse, Visual Studio, Net Beans, и убогими по функционалу, но шустрыми блокнотами типа Scintilla, причем преимущества и тех, и других складываются и позволяют использовать данную систему как для написания небольших проектов для встраиваемых приложений, так и для программирования приложений для РС под Windows, Linux и MacOs.

Основные характерные особенности среды:


  • Кроссплатформенная IDE с открытым кодом, основанная на библиотеке wxWidgets
  • Компактное ядро и расширение функционала посредством множества плагинов
  • Встроенный интерфейс под множество компиляторов и тулчейнов, как свободных, так и проприетарных
  • Множество визардов для быстрого создания шаблона проекта как для разнообразных микропроцессорных архитектур (AVR, ARM, PowerPC), так и для библиотек и тулкитов под РС: GTK, Qt, WxWidgets, OpenGL итд.
  • Компактная и интуитивно понятная структура меню, обеспечивающая быструю настройку среды
  • Огромное количество забавных и полезных рюшечек, которые я до сих пор с удивлением иногда нахожу :)

Данный пост — просто беглый обзор возможностей и особенностей IDE CodeBlocks, который(ая?) незаслуженно обделен вниманием, на мой субъективный взгляд.


Читать дальше

"Препарируем" EagleCad. Часть II.

Раньше уже писал FAQ на эту тему. А т.к. периодически возникают кое-какие рабочие моменты, которые необходимо решить, решения выресовываются иногда интересные. Поехали.

Читать дальше

STM32 Core board. Заказ печатных плат у seeedstudio.com


Вот и я заказал себе платы у китайцев, http://www.seeedstudio.com, чтобы проверить насколько хорош этот сервис.
Ждал 3 недели примерно. Качесто за такие деньги просто отличное. Кстати, заказывал 10шт плат, пришло 11шт.
Вот тут фотографии плат http://www.dropbox.com/gallery/14601294/1/STM32_Core_board?h=429d51


Читать дальше

Приём-отправка данных между МК и программой на ПК (RS-232)

После того, как вдоволь намигался светодиодом stm32 и посмотрев температуру с LM75, решил погонять данные между компом и демоплатой.
Что именно за данные?
1) Отправка — по тыканью на кнопку в программе зажигаем светодиоды;
2) Прием — в программу сливаем данные с АЦП.
Демоплата — STM32VL-Discovery + CooCox IDE
Для ПК пишу с использованием Qt, который можно выкачать отсюда http://qt.nokia.com/downloads

Disclaimer: я не профессиональный программист, и впервые познакомился с ООП. Да и вообще это моя первая статья. Так что баги/фичи/наставления приветствуются пирожком и конфеткой :)


Читать дальше

Форматный вывод на Си для микроконтроллеров.

Форматированный ввод-вывод применяется очень широко, в первую очередь это, конечно, взаимодействие с пользователем, а так-же отладочный вывод, логи, работа с различными текстовыми протоколами и многое другое. В этой статье рассматриваются особенности применения форматированного вывода (ввод оставим на потом) для микроконтроллеров.
Первая программа написанная для ПК традиционно называется «Hello, world» и естественно пишет в стандартный вывод эту знаменитую фразу:
#include <stdio.h>
int main(){
printf("%s", "Hello, world");
return 0;
}

Первая программа для микроконтроллера обычно зовётся «Blinky» и она просто мигает светодиодом. Дело в том, что заставить работать традиционный «Hello, world» на микроконтроллере не так уж и просто для начинающего. Во первых, нет стандартного устройства вывода и его функциональность ещё нужно реализовать. Во вторых, не всегда бывает очевидно как подружить стандартные функции вывода с целевым устройством. Ситуация усугубляется тем, что в каждом компиляторе (тулчейне) это делается каким-то своим способом.


Читать дальше
  • +7
  • 14 октября 2011, 09:21
  • neiver
  • 1

Руководство к быстрому старту по работе с периферией STM32F10x

Данная статья Logoпредназначена для тех, кто начинает изучать ARM-контроллеры ST Microelectronics серии STM32F10x и уже определился со средой разработки, но еще не взялся за собственно программирование. Я покажу, как средствами библиотеки STM32 Peripheral Library можно легко управлять периферией контроллера без прямого обращения к регистрам, а главное — научу, как искать информацию по работе с этой периферией.

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

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init( GPIOC , &GPIO_InitStructure);

Это пример настройки порта ввода-вывода (GPIO). Рассмотрим его поподробнее.


Читать дальше

Самая большая электронная библиотека рунета

Много чего я повидал в сети, но вот очередная колхозная библиотека очень впечатляет: bookfi.org

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

Вкусности:
1. У меня широкий кругозор, но я не смог придумать книжки, которой бы там не было. На полном серьёзе. Недавно искал литературу по символьному интегрированию для проекта SMath Studio (http://ru.smath.info/forum/ — аналог Mathcad, на .Net, работает под Линуксом тоже). Начал как обычно с Гугла и нашёл там самую первую работу 1961 г. по этой теме. Потом попробовал на bookfi (!)… можно было сразу с него и начинать.

2. Не только книжки, но и журналы, статьи и просто электронные тексты. Есть даже почти полный набор сканов «Наука и жизнь». Очень было интересно прочитать первый номер, хоть и в плохом качестве.

3. Форматы самые разные, но типовые: fb2, pdf, djvu. Причём, читать fb2 можно прямо в онлайне на прикольном движке «Видим фигу» :) — vidimfigu.ru. Попробовал прочитать «Ракеты и люди» Чертока. Очень здорово и с фотками.

4. Не надо никаких явок и паролей (!). Инфаната отдыхает.

Думается мне, что после Рутрекера это один из самых нужных источников для проектирования. Там берём инструменты, а тут литературу.

П.С. Есть ещё одна мега библиотека, но для тех, кто знает китайский:
www.hackchina.com/en/
  • +1
  • 11 сентября 2011, 17:44
  • uni

Используем libc (newlib) для stm32

Многие тулчейны для ARM на GCC (Code Sourcery Lite в том числе) поставляются вместе с newlib — стандартной библиотекой языка C. С помощью неё можно использовать множество удобных стандартных функций (printf/scanf/malloc и т.д.).
Для того чтобы использовать эту библиотеку от нас требуется реализация некоторых системных вызовов.


Читать дальше
  • +4
  • 15 августа 2011, 14:32
  • Kosyak
  • 1

Разработка под stm32 в Linux (GCC + CMake + Eclipse + openocd)

Ко мне наконец-то пришли посылки c отладочной платой и JTAG-адаптером из Китая, и я решил продолжить свои изыскания.
В результате получилась рабочая и вполне удобная среда для разработки под армы в Linux.
UPD: Теперь всё лежит на github'е — https://github.com/ObKo/stm32-cmake


Читать дальше