Добавляем spi

Уже пощупаны rtc, timer25, adc, dma, usart. Теперь потестим spi. Поскольку новая тестовая плата еще не готова, попробуем применить плату №0 с минимумом подключений. Итак, схема теста следующая: terminal PC -> usart1 stm32 -> DMA1 ch.5 stm32 -> spi1 stm32 -> 74HC164(8 leds) -> spi1 stm32 -> DMA ch.2 stm32 -> usart1 stm32 -> terminal PC. Да, прицепим к spi1 регистр, нагруженный светодиодами

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

Все pdf'ки на STM32 одной кучей

Вот, собрал все даташитики и аппноты на STM32 в 1 архивчик, и переименовал в более-менее читаемые названия, чтобы всё было под рукой. Юзайте.

pdf_STM32.zip (59,6 МБ)

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

А зачем мне понадобились STM32?


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

Особенности использования прерывания Half transfer при работе с DMA

Если обрабатывается большой массив данных например от АЦП, то удобно применить для этого прямой доступ к памяти(ПДП). С использованием ПДП данные складываются в массив и потом могут быть обработаны. Если необходим непрерывный сбор данных и их обработка, то сбор можно вести с использованием ПДП, а обрабатывать их в прерывании ПДП. Данные пишутся в буфер циклически. По заполнении данными больше половины буфера, выставляется Half Transfer Interrupt Flag (HTIFx), По заполнении всего буфера выставляется Transfer Complete Interrupt Flag (TCIFx). Прерывания генерируются по установке любого из этих флагов (если разрешены). В обработчике прерывания эти флаги могут быть прочитаны и выяснено, насколько заполнен буфер — наполовину или целиком. Если буфер заполнен наполовину — то обрабатывается первая половина буфера. Данные в это время пишутся во вторую половину. И наоборот. Таким образом можно осуществить непрерывную обработку данных.

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

Использование gcc для stm32f100

Примерно полгода назад я обзавелся самым мелким контроллером stm32f100c4. Здесь я хотел бы изложить свой опыт применения средств разработки gcc вживую, без графической оболочки. Описывается установка, создание проекта — использование Makefile, прошивка через UART, отладка через gdb на stm32vldiscovery, ну и самое главное — грабли

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

Плата №0

В те давние-предавние, ветхие времена, когда народ занимался своими приземленными делами, Великий Гуру указал народу новые пути — на столько же светлые, как и загадочные. Скромный подмастерье, в меру сил своих, внимал каждому слову Великих и искал свой путь, дабы обрести покой души и сладкую радость от содеянного. И вот уже маленькие трудолюбивые гномы, через хитрых бояр, взялись изготовить подмастерью невиданные доселе чудо-штуковины. За несколько невзрачных зелёных фантов хитрые бояре доставили подмастерью чудеса трудолюбивых гномов, и подмастерье зделал первые шаги к неизведанному. Но закончились у подмастерья невзрачные зеленые фантики, а с ними, как известно, заканчивается и сказка.

Читать дальше
  • +4
  • 23 апреля 2011, 13:30
  • psv
  • 1

Затарился (update)

Пришла сегодня посылка с ништяками. SK-MLPC1768 и SK-MSTM32F107.






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

Погружаемся

Вчера придумал себе такую задачу, чтобы меньше работы с макеткой. Итак, периодически заставляем 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