Программирование МК STM32. Урок 159. HAL. SPI. DMA

  Рет қаралды 3,144

narod stream

narod stream

Күн бұрын

Продолжаем подробное изучение шины SPI в контроллере STM32. И на данном уроке мы попробуем воспользоваться технологией DMA, подключить данную периферию к нашему SPI, настроить её каналы п попытаемся передать данные в оба направление через DMA.
Мы также соединим между собой два контроллера посредством шины SPI.
Один контроллер будет работать в режиме MASTER или будет ведущий, а второй - SLAVE или ведомый.
Контроллеры мы будем использовать STM32F103, расположенные на недорогих отладочных платах
Отладочную плату STM32F103C8T6 можно купить здесь ali.pub/1jgc7
Программатор недорогой ST-Link V2 можно купить здесь ali.pub/pwzj8
Индикатор светодиодный семиразрядный с драйвером MAX7219 можно купить здесь ali.pub/1mflzq
Логический анализатор 16 каналов можно приобрести здесь ali.pub/2i1ki5
Навигация по видео:
00:00 Введение
01:50 Ведущее устройство
05:58 Ведомое устройство
07:25 Проверим работу нашего кода
09:37 Логический анализ передачи данных
Рекомендуется также перед просмотром данного урока просмотреть данное видео:
Урок 1. Установка Keil μVision • Программирование МК ST...
Урок 23. HAL. SPI. Сдвиговый регистр 74HC595 • Программирование МК ST...
Урок 24. HAL. SPI. LED Статическая индикация • Программирование МК ST...
Урок 25. HAL. SPI. LED Динамическая индикация • Программирование МК ST...
Урок 26. HAL. SPI. Драйвер индикатора MAX7219 • Программирование МК ST...
Урок 153. HAL. SPI. Соединяем два контроллера. Часть 1 • Программирование МК ST...
Урок 157. HAL. SPI. Interrupt • Программирование МК ST...
Текстовая версия данного урока и исходный код здесь narodstream.ru/stm-urok-159-ha...
Программирование на различных языках:
Группа в контакте public180157427
Группа в Facebook / 284342185817764
Группа в Одноклассниках ok.ru/group/55057282891996
Программирование микроконтроллеров:
Группа в контакте club116656325
Группа в Одноклассниках ok.ru/group/52987126153436
Группа в Facebook / 236905359999556
Мой сайт "Программирование МК" narodstream.ru/
Форум narodstream.ru/forum/
Вы можете помочь проекту:
ЮMoney
yoomoney.ru/to/41001176473465
Webmoney
Z341906933112
Карта Сбербанка (МИР)
2202201799288929
Можно в USDT
1) Сеть:TRC20
Адрес: TBBPFk5Widf1CYvF7Xk5ssKXeiPJHwtMgS
2) Сеть: BSC BNB Smart Chain (BEP20) (комиссия намного меньше)
Адрес: 0x2e38754DF1e54649Bf0D5CD6fD6D8c96a9f22f17
3) Сеть: Huobi ECO Chain (HECO) (комиссия еще меньше)
Адрес: 0x2e38754DF1e54649Bf0D5CD6fD6D8c96a9f22f17

Пікірлер: 15
@user-dq2ci5ln5g
@user-dq2ci5ln5g 5 жыл бұрын
Как всегда, СУПЕР! 👍
@Aleksandr_Sidorov
@Aleksandr_Sidorov 5 жыл бұрын
Спасибо , с прерываниями разобрался все отлично , все работает
@manul88
@manul88 5 жыл бұрын
Благодарю!
@pasitlaothamatas969
@pasitlaothamatas969 4 жыл бұрын
Spasibo? more like SPIsibo
@PyctamG
@PyctamG 4 жыл бұрын
Добрый день, спасибо Вам за уроки, смотрю постоянно. Но в процессе работы возник вопрос связанный с назначением портов, подскажите пожалуйста, чем отличаются выводы альтернативные, от того что первоначально выбирает кубик? у меня возникла ситуация, пока не критично, плата не разведена, но на случай если столкнуться с данной проблемой придется. Соединил два контроллера F103 посредством SPI1, по схеме и конфигу несколько отличной от Вашей, основное отличие - посадил на альтернативные выводы (А15, В3,4,5), МК м/у собой общаются хорошо, добавляю надстройки дальше включаю на мастере I2C1 fast mode на выводы В7,6, и если произвести инициализацию (а точнее тактирование i2c) на выводе TX возникает постоянный высокий уровень. С чем это может быть связано, с кубиком, библиотекой hal, с непосредственно с китайскими камнями (оригинал палить дорого пока беру китай)? я только начинаю, уровень совсем мал, столкнулся с проблемой, на выводах А7,6,5,4 работает с I2C (его я еще не проверял, проходит инициализацию), но на них сидит энкодер, если его перекинуть на альтернативу не будет ли подобных проблем?
@narodstream552
@narodstream552 4 жыл бұрын
Спасибо за оценку! Вопрос не совсем понят, так как не совсем понятно сформулирован. Вообще, альтернативные функции выводов отличаются тем, что работают они с определённой аппаратной периферией.
@PyctamG
@PyctamG 4 жыл бұрын
Владимир, еще спасибо Вам за постоянную обратную связь, оперативную. Да, страдаю изъяснением мыслей, там сумбур в голове. Вопрос в альтернативных выводах, не функциях, прошу Вас провести эксперимент с уроком 159, и дать Ваше экспертное мнение (как у Вас поведет себя МК) В кубике (чистом, включенном только отладкой и резонатор) при настройке пинов мастера, какой нибудь из РА5, РА6, РА7 выбрать как вход или выход. Далее как по уроку выбрать SPI1 как FULL duplex master, кубик выводами назначит уже РВ3, РВ4, РВ5, альтернативные выводы, так как основной мы заняли (после чего его можно освободить, не имеет значения), как мы назначим NSS в данном случае так же не принципиально. Делаем все настройки SPI и мк, можно как в уроке (не принципиальны настройки), можно проверить работу SPI м/у двумя мк они будут передавать данные, можно пропустить эту проверку и включить i2c1 как i2c (режимы при этом не имеют значения, но мне конечно важен фаст моде). И тут мастер перестает передавать данные, клокирование идет, прием данных идет, но MOSI постоянно весит на высоком уровне и поэтому передача данных не происходит (проверяю логическим анализатором) Заранее спасибо
@jansalk3636
@jansalk3636 5 жыл бұрын
Как вы удаляете отступы у строчек кода? Табом понятно можно двигать код вправо, а как влево?)
@narodstream552
@narodstream552 5 жыл бұрын
Shift + TAB
@user-mf2wl1hl7w
@user-mf2wl1hl7w 5 жыл бұрын
Здравствуйте! А вы планируете в своих уроках когда нибудь затронуть тему шины CAN? Очень было бы интересно попробовать её в работе.
@narodstream552
@narodstream552 5 жыл бұрын
Пока, к сожалению, нет комплектующих. Жду панель приборов. Пришла негодная, теперь очень сильно подорожала. Около 200 евро, дороговато. Правда, прислать обещали с описанием команд. Теперь ждём, пока подешевеет. Если есть желание увидеть уроки, то присылайте что-то подобное (желательно панель приборов с описанием).
@__Andjelo__
@__Andjelo__ 5 жыл бұрын
@@narodstream552 что конкретно нафо, пришлю
@narodstream552
@narodstream552 5 жыл бұрын
Пока ничего конкретного, так как не любит производитель оборудования давать исчерпывающую сервисную документацию. Мне подписчик обещал прислать такую панель с которой уже работали, чтобы не изобретать ничего. Да и не совсем это бытовой протокол, я не думаю, что много просмотров наберёт. Вообще в планах это есть, мне шина нравится.
@__Andjelo__
@__Andjelo__ 5 жыл бұрын
@@narodstream552 думаю как раз наооборот. по can шине имею оооочень много инфы, если надо будет поделюсь, для скорости оборотов пробега и тд, can id в сообщениях у всех марок машин одинаковый, как бы унифицированный
@narodstream552
@narodstream552 5 жыл бұрын
Приходите в личку в контакте, попробуем данную тему обсудить там.
STM32CubeMX basics: 11.3 STM32Cube HAL labs SPI - Lab SPI DMA
7:42
STMicroelectronics
Рет қаралды 26 М.
Can You Draw A PERFECTLY Dotted Line?
00:55
Stokes Twins
Рет қаралды 111 МЛН
Best father #shorts by Secret Vlog
00:18
Secret Vlog
Рет қаралды 18 МЛН
Русалка
01:00
История одного вокалиста
Рет қаралды 5 МЛН
UI на ESP32 своими руками при помощи LVGL
12:34
Kirill Ivanychev
Рет қаралды 5 М.
STM32. Урок 20. SPI. Serial Peripheral Interface
40:20
NR.electronics
Рет қаралды 9 М.
Simple maintenance. #leddisplay #ledscreen #ledwall #ledmodule #ledinstallation
0:19
LED Screen Factory-EagerLED
Рет қаралды 36 МЛН
Choose a phone for your mom
0:20
ChooseGift
Рет қаралды 7 МЛН
Samsung Galaxy Unpacked July 2024: Official Replay
1:8:53
Samsung
Рет қаралды 23 МЛН
OZON РАЗБИЛИ 3 КОМПЬЮТЕРА
0:57
Кинг Комп Shorts
Рет қаралды 1,7 МЛН