STM32 Discovery. Подключение отладочной платы.

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

Итак, часть 1, программирование STM32 Discovery через Keil.

Подключаем нашу платку к USB, и ждем пока она определится как внешний носитель. Если Windows не увидел вашу плату (как было у меня), то советую проверить в первую очередь кабель и разъем для него на плате. У меня, например, отошел контакт на discovery и я очень долго втыкал, почему же не работает )

Читать далее

Приложения QT. Построение графика в реальном времени.

В прошлых статьях мы научились строить график QT при помощи библиотеки QWT, теперь возьмем и сделаем так, чтобы он строился в реальном времени. Алгоритм будет такой:

1. Определим два массива x[] и y[] для хранения координат точек кривой графика. В качестве примера заранее заполним массивы данными, но, на самом-то деле, можно записывать туда данные, приходящие, например, из com-порта в реальном времени.
2. Настроим таймер, так, чтобы каждые 25 мс он выдавал сигнал timeout() и присоединим к этому сигналу слот – обработчик timerHandle().
3. В этом обработчике будем брать последнюю не отображенную точку, и передавать ее функции appendGraphPoint().
4. Эта функция будет добавлять точку в массив данных, а также на график. Правда для хранения данных будет использоваться не просто массив, а объект класса CurveData, который мы сами и реализуем.

Читать далее

Приложения QT. Построение графиков.

Продолжаем рубрику приложения QT. В этой статье рассмотрим графики QT, процесс построения графиков с использованием QT и библиотеки QWT (напомню, что процесс установки библиотеки описан тут). Для начала запускаем QT и создаем новый проект.
Новый проект в среде разработки Qt Creator

Читать далее

Приложения QT. Установка QWT.

Частенько при написании программ для контроллеров появляется необходимость вывести и обработать данные на компьютере, график, например, построить по данным с АЦП. Ну или просто написать приложение для ПК. Я для всего этого использую QT + библиотеки под конкретные нужды. Не буду особо долго расписывать плюсы/минусы QT, каждый сам выбирает для себя удобный и подходящий инструмент, лично мне QT очень нравится и не было еще такого случая, чтобы в чем-то я разочаровался. Собственно это статья не про QT в целом, а про установку библиотеки QWT.

Что это за библиотека?

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

Читать далее

STM32 с нуля. FreeRTOS. Кооперативная многозадачность.

Продолжаем работу с FreeRTOS, и в этой статье мы закончим обсуждение программы-примера, созданной ранее (тут). Там же можно найти теоретические сведения о разных типах многозадачности.

У нас получилось запустить наш код под управлением FreeRTOS, и вроде бы он даже работал так, как и задумывалось. Но сейчас мы убедимся, что это не совсем так )

Поправим программу – сделаем так, чтобы во время выполнения задачи vADCTask на определенной ножке выставлялась логическая единица, а при выполнении задачи vUSARTTask – на выходе был 0. Для этих целей выберем вывод PB0. Настраиваем:

Читать далее