Погружаемся

Вчера придумал себе такую задачу, чтобы меньше работы с макеткой. Итак, периодически заставляем DMA пересылать два байта с ADC, настроенного на датчик температуры, в USART. Итого: один проводок от макетки к преобразователю уровня на RS232 (+ земля, конечно).

Читать дальше
  • +2
  • 17 апреля 2011, 14:53
  • psv
  • 1

Разгоняемся

Пробуем HSE * PLL на 72MHz (как завещал нам великий мануал) и немного похулиганим. Вобщем, алгоритм следующий:
1 мигаем 10 раз светодиодом на HSI
2 мигаем 20 раз на HSE*PLL9
3 мигаем 10 раз на HSE
4 мигаем 1000 раз на HSE*PLL16
где HSE=8MHz

Читать дальше
  • +2
  • 13 апреля 2011, 12:10
  • psv

Вместо светодиода (часы)

Разрабатывая это простое устройство, мы пощупаем кое-что из периферии и освоим принципы доступа к ней. Итак, что мы берем для часов. Естественно, rtc, который считает только секунды.

Читать дальше
  • +2
  • 10 апреля 2011, 23:16
  • psv

STM32VLDISCOVERY+mbed NXP LPC1768+RTOS+KEIL



Начало.

Среда разработки: MDK ARM 4.14 + RL-ARM 4.12

Голый проект:

STM32
#include "stm32f10x.h"

int main (void)
{
   return 0;
}


В папку с проектом кладем:
C:\\Keil\\ARM\\INC\\ST\\STM32F10x\\stm32f10x.h (в файле разкоменчиваем одну из строк с 50 по 57)
C:\\Keil\\ARM\\Startup\\ST\\STM32F10x.s

Это пустышка достаточная для начала создания ЛЮБОЙ программы, все что нужно еще, это reference manual.

LPC1768
#include "LPC17xx.h"

int main (void)
{
   return 0;
}


В папку с проектом кладем:
C:\\Keil\\ARM\\Startup\\NXP\\LPC17xx\\startup_LPC17xx.s
C:\\Keil\\ARM\INC\NXP\\LPC17xx\\LPC17xx.h

Опять же пустышка для любой фантазии.



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

Вместо первой программы

Светодиодом мигать не будем. Нет у нас ни светика, ни портов. Голое ядро. Окунемся т.с. в чистый асм, чтобы проняться духом его. А что ближе к ядру? Правильно — ось.

Читать дальше
  • +4
  • 30 марта 2011, 13:54
  • psv

Записки "маньяка" или почему асм

Асм для stm32? Все сразу кричат — МАНЬЯК!!! Давайте разберемся. Асм для AVR — не маньяк. Но сразу поправляют — для быстрых фрагментов и не больших программ. Почему не больших? И где критерий большая программа или нет. Ведь на асме и не большая может весить десятки страниц. А большая под С вроде как и не очень для асма (по коду). Сложность восприятия асм текста? Так документировать и разбивать на блоки, файлы, драйвера никто не запрещает. Да и пишется много чего на макросах, что уже и на С смахивает. Возможность использовать чужие наработки, библиотеки. Тут да, облом. На асме и свои то наработки часто переделывать приходиться для разных avrок.

Читать дальше
  • +4
  • 29 марта 2011, 23:08
  • psv
  • 1

Воспроизведение звука на STM32-Discovery при помощи Speex

Многие уже воспользовались известным конкурсом, и заказали себе плату STM32-Discovery. Я тоже заказал себе такую. Захотелось сделать на ее основе какую либо конструкцию. Меня заинтересовал AN2812 от ST, в котором описывалось воспроизведение звука с использованием библиотеки Speex для STM32. Однако недостатком аппноута было то, что в нем использовалась stm32f103, более мощная чем stm32f100, установленная в discovery. Также аппноут рассчитан на работу с более сложной отладочной платой. Поскольку я только начинал изучать STM32 (это мой первый проект, до этого я только светодиодом мигал), я решил не пытаться запустить код аппноута, а собрать весь проект с нуля. Проект был создан в IAR.
Вид получившейся конструкции:




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

STM32 – Подключаем энкодер

Продолжаем разговор, сегодня очень кратенько о подключении энкодера к микроконтроллеру.
IMG_5311


Читать дальше
  • +6
  • 19 марта 2011, 19:24
  • ZiB

Контроллер ПДП + Таймер 15 в режиме ШИМ

На данный момент приостановились мои работы с STM32, так как пока приоритет у STM8L, но по просьбе пользователя LeftRadio, сегодня расскажу о контроллере прямого доступа к памяти (более привычно DMA) и в качестве примера рассмотрим работу контроллера ПДП с  таймером 15 в режиме ШИМ.


Читать дальше
  • +5
  • 16 марта 2011, 16:50
  • ZiB