No video

Программирование МК STM32. УРОК 23. HAL. SPI. Сдвиговый регистр 74HC595

  Рет қаралды 18,344

narod stream

narod stream

Күн бұрын

Программирование на СИ в среде Keil μVision.
Пишем код под микроконтроллер STM32F407VG на плате STM32F4DISCOVERY.
Продолжаем работать с библиотекой HAL.
Мы подключаем к микроконтроллеру сдвиговый регистр 74HC595
Тем самым мы по трем проводам учимся управлять восемью светодиодами.
Купить отладочную плату STM32F4-DISCOVERY можно здесь ali.pub/178fif
Сдвиговые регистры 74HC595N можно приобрести здесь ali.pub/1mf6mq
Навигация по видео:
00:00 Введение
02:05 Краткое знакомство с шиной SPI
06:42 Краткое знакомство с микросхемой 74HC595
11:18 Посмотрим схему подключения микросхемы 74HC595 к плате STM32
13:22 Настройка будущего проекта в Cube MX
18:40 Начинаем писать исходный код
25:50 Найдём в документации функцию для передачи данных по SPI
32:30 Проверка кода в железе
36:50 Проверка более усовершенствованного кода в железе
Рекомендуется также перед просмотром данного урока просмотреть данное видео:
AVR УРОК 24. Знакомство с шиной SPI • Программирование МК AV...
AVR УРОК 25. SPI. Подключаем сдвиговый регистр 74HC595 • Программирование МК AV...
Тестовая версия урока, исходный код и техническая документация на микросхему здесь narodstream.ru/...
Группа в контакте club1166...
Группа в Одноклассниках ok.ru/group/529...
Группа в Facebook / 236905359999556
Мой сайт "Программирование МК" narodstream.ru
Форум narodstream.ru/...
Вы можете помочь проекту:
ЮMoney
yoomoney.ru/to...
Webmoney
Z341906933112
Карта Сбербанка (МИР)
2202201799288929
Можно в USDT
1) Сеть:TRC20
Адрес: TBBPFk5Widf1CYvF7Xk5ssKXeiPJHwtMgS
2) Сеть: BSC BNB Smart Chain (BEP20) (комиссия намного меньше)
Адрес: 0x2e38754DF1e54649Bf0D5CD6fD6D8c96a9f22f17
3) Сеть: Huobi ECO Chain (HECO) (комиссия еще меньше)
Адрес: 0x2e38754DF1e54649Bf0D5CD6fD6D8c96a9f22f17

Пікірлер: 28
@jurijpetrov1042
@jurijpetrov1042 7 жыл бұрын
Посмотрел несколько ваших видео уроков по SТМ32 . Очень всё доходчиво и понятно ,большое вам спасибо . Успехов вам в вашем не лёгком, но очень нужном деле !
@narodstream552
@narodstream552 7 жыл бұрын
Я очень рад, что Вам нравится! Спасибо за оценку!
@user-rv9ss5ce7z
@user-rv9ss5ce7z 5 жыл бұрын
да это очень крутой дяденька
@mavreygemzermann5219
@mavreygemzermann5219 6 жыл бұрын
Пусть год 2018 Подарит людям сказку. Пускай в душе вам будет 20, И загорятся глазки! S novim godom!!!!
@user-br6gp7hc4l
@user-br6gp7hc4l 3 ай бұрын
Спасибо
@remontlive
@remontlive Жыл бұрын
Очень познавательно, спасибо!
@DrargonsM
@DrargonsM 8 жыл бұрын
Позитивный ведущий!!! лайк!!!
@Ironziz
@Ironziz 6 жыл бұрын
Супер!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@alexsv1834
@alexsv1834 5 жыл бұрын
Всё получилось на 74hc595. Но у меня если точь-в точь по данной электросхеме что-то типа дребезга контактов. Светодиоды иногда как бы дребезжат. Сначала подумал, что что-то спалил
@DrargonsM
@DrargonsM 8 жыл бұрын
Спасибо за рекламу!!!!! лайк
@fedorm1984
@fedorm1984 7 ай бұрын
Наверное все-таки корректнее называть чипселектом вывод OE, а ST_CP защелкой.
@kokotmkokot4926
@kokotmkokot4926 7 жыл бұрын
Здравствуйте, 595 лучше питать от 5 в, так как при 3в питании есть вероятность получить ошибки на выходе. Спасибо за видео.
@jekakmail
@jekakmail 5 жыл бұрын
На принципиальной схеме случайно ошибка не закралась? 11й вывод микросхемы 74hc595 нужно подключать к ноге PС10 на вашем МК, так как она сконфигурирована на SCK. В след. ролике схема правильная уже. Сбило с толку, понять не мог почему не работает :)
@aligatorpe
@aligatorpe 2 жыл бұрын
А как работать с регистрами не через SPI?
@archilvarsimashvili5421
@archilvarsimashvili5421 8 жыл бұрын
Спасибо за уроки. 1.Вывод CS (NSS) после отработки функции Вы оставляет в опущенном состоянии, думаю это ошибка. Правильнее (по моему), NSSP Mode в cube установить, он сделает все автоматом, ну или поменять у Вас в дефайнах. 2. Вопрос. В обоих функциях, как Transmit так и Receive , не корректно работает аргумент uint16_t Size. Обращали ли Вы внимание на это, если да - каково Ваше мнение. В саму функцию я не лез, там надо капитально разбираться.
@narodstream552
@narodstream552 8 жыл бұрын
Вам также спасибо за просмотр и высокую оценку моих занятий! Скорей всего ошибки нет. И ни куб, ни хол ничего здесь не автоматизирует. Данная лапка полностью управляется только мануально, т.е. аппаратный SPI ею никак не управляет. А дрыгал я ею исключительно по требованиям даташита микросхемы. Соберите данную схемку и запустите отладку и вы, соответственно, увидите, что и как вызывается и какие регистры сработают.
@musicalbite7271
@musicalbite7271 5 жыл бұрын
почему проблема взаимодействия с 8-битным сдвиговым регистром ic cd4094
@MrGoblinh
@MrGoblinh 7 жыл бұрын
Покажите, пожалуйста, как подключить одновременно 2 или более сдвиговых регистров. Спасибо!
@narodstream552
@narodstream552 7 жыл бұрын
Смотритете следующие уроки. Будет урок по динамической индикации, там 2 регистра.
@MrGoblinh
@MrGoblinh 7 жыл бұрын
Благодарю!
@alexmueller1041
@alexmueller1041 6 жыл бұрын
хотелось бы чтобы Вы показывали по чаще как правильно использовать интеррапты в ХАЛ. Примеры у Вас хорошие , но вот в проекте не отдаш все процессорное время на пересылку или получение данных в цикле. К примеру я холел по УАРТ получить данные от ПК. Я АУРТу разрешил прерывания. Но при отправке с ПК почему-то прерывания так и не сработали ?! Я так понял что-то еще нужно было разрешить. В документации на ХАЛ ничего не нашел.Не стал ничего искать , а просто перед циклом один раз вызвал HAL_UART_Receive_IT и все заработало. Но это как-то не правильно, хотелось бы узнать как настраивать в ждущий режим переферию ?
@narodstream552
@narodstream552 6 жыл бұрын
Смотрите уроки дальше, там будет всё больше использования прерываний и вставки функций-заглушек для обработчиков прерываний. В основном начинается настройка определённых прерываний с конфигурирования их в проектогенераторе Cube MX.
@NIKOLAY_PSHONIA
@NIKOLAY_PSHONIA 8 жыл бұрын
Подскажите кто знает как увеличить размер шрифта в KEIL ?
@narodstream552
@narodstream552 8 жыл бұрын
Edit -> Configuration, затем закладка Colors & Fonts, Слева выбираем C/C++ Editor Files, правее Text и совсем справа меняем размер
@NIKOLAY_PSHONIA
@NIKOLAY_PSHONIA 8 жыл бұрын
Спасибо все понятно.
@user-qo6uk4xs7m
@user-qo6uk4xs7m 3 жыл бұрын
А с чего вы решили что вход ST_CP (на схеме подключен к PD0) инверсный? Согласно даташиту он вовсе не инверсный, и это вовсе не ChipSelect (CS). В макросах путаница, должно быть так: #define cs_set() HAL_GPIO_WritePin(GPIOD, GPIO_PIN_0, GPIO_PIN_SET) #define cs_reset() HAL_GPIO_WritePin(GPIOD, GPIO_PIN_0, GPIO_PIN_RESET) #define cs_strob() cs_set(); cs_reset() Также совершенно непонятно зачем вы добавили это: /* USER CODE BEGIN 2 */ cs_set(); Данные запишутся в регистр "8-STAGE SHIFT REGISTER" и без этого (запись в этот регистр тактируется входом SHCP аппаратно шиной SPI). На запись в регистр "8-BIT STORAGE REGISTER" это тоже никак не повлияет, так как здесь важен именно передний фронт (переход с нуля в единицу), а не просто высокий уровень. Это можно/нужно удалить так как в этом совершенно нет никакого смысла. Зачем вы объявляете массив если передаете всего один байт? Вместо путаницы можно сделать так (также без ненужного приведения типа): uint8_t TxBuffer = 0; HAL_SPI_Transmit(&hspi3, &TxBuffer, 1, 5000); Вместо такой конструкции: uint8_t i; ... for (i=0; i
@alexsv1834
@alexsv1834 5 жыл бұрын
Походу я спалил свой stm32f103. Коряво закрепил элементы на макетной схеме. Сейчас закреплю по-человечески и буду пробовать с 74hc164an
@allallall2321
@allallall2321 4 жыл бұрын
Спасибо
UNO!
00:18
БРУНО
Рет қаралды 4,5 МЛН
Bony Just Wants To Take A Shower #animation
00:10
GREEN MAX
Рет қаралды 6 МЛН
STM32. SPI
19:21
ФРТК МФТИ
Рет қаралды 4,2 М.
STM32. Урок 20. SPI. Serial Peripheral Interface
40:20
NR.electronics
Рет қаралды 9 М.
The Clever Way to Count Tanks - Numberphile
16:45
Numberphile
Рет қаралды 940 М.