STM32 новичку в ARM что к чему
- Oxford
- Опытный кот
- Сообщения: 819
- Зарегистрирован: Вт окт 23, 2012 13:17:25
- Откуда: Прокопьевск
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Схем для паяльников полно готовых берите решение и юзайте.
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
- Реклама
Re: STM32 новичку в ARM что к чему
[uquote="do-vitas",url="/forum/viewtopic.php?p=3994363#p3994363"]Eddy_Em, у меня терморезистор 50ом[/uquote]
Мостовая схема включения терморезистора и дифусилитель. Либо измерение напряжений на плечах моста двумя каналами АЦП, с вычислением разности. После усиления усилителями постоянного тока, разумеется.
Мостовая схема включения терморезистора и дифусилитель. Либо измерение напряжений на плечах моста двумя каналами АЦП, с вычислением разности. После усиления усилителями постоянного тока, разумеется.
Астролябия-сама меряет, было бы что мерять!!!
Re: STM32 новичку в ARM что к чему
Loyso Pondohva, между ОУ и МК R и C стоят? (оговариваются в AN2834), если спешить не куда - поставьте максимально "длинное" преобразование (в SMPRх ).
-
Loyso Pondohva
- Прорезались зубы
- Сообщения: 213
- Зарегистрирован: Пт июл 03, 2020 22:09:02
Re: STM32 новичку в ARM что к чему
[uquote="a797945",url="/forum/viewtopic.php?p=3994525#p3994525"]Loyso Pondohva, между ОУ и МК R и C стоят? (оговариваются в AN2834).[/uquote]
Нет. Не стоят. Этот вход вообще я сделал чтобы "не пропадал" второй ОУ в LM358. А первый используется после AD8307 (логарифмический детектор ВЧ) и там стоят - после детектора и до ОУ.
Сначала попробую запитать схему от очень ровного ИП (например, аккумулятор плюс диод ) и посмотрю что будет. Т.е. устраню самый грубый источник дрожания.
Или сделаю от 5 в до 3 в линейный стабилизатор на LM317т. Правда - это 2 в на пределе LM - ки и я не знаю нормально ли 3в (а не 3.3) для всего. Но скорее всего - так даже лучше. Самый большой ток потребляет подсветка дисплея, а так еще можно все запитать от 3.3 v blue pill - не помню сходу сколько там можно брать, но на AD9850 и MCP4922 хватит.
Вообще посмотрю сколько тока нужно на критичные по стабильности узлы и исходя из этого пойму как схему запитывать. Пока собрал только прикидочно - чтобы убедиться, что все как-нибудь работает и весь софт написать. Еще ОУ для ВЧ - AD 8009 не пришел...
Нет. Не стоят. Этот вход вообще я сделал чтобы "не пропадал" второй ОУ в LM358. А первый используется после AD8307 (логарифмический детектор ВЧ) и там стоят - после детектора и до ОУ.
Сначала попробую запитать схему от очень ровного ИП (например, аккумулятор плюс диод ) и посмотрю что будет. Т.е. устраню самый грубый источник дрожания.
Или сделаю от 5 в до 3 в линейный стабилизатор на LM317т. Правда - это 2 в на пределе LM - ки и я не знаю нормально ли 3в (а не 3.3) для всего. Но скорее всего - так даже лучше. Самый большой ток потребляет подсветка дисплея, а так еще можно все запитать от 3.3 v blue pill - не помню сходу сколько там можно брать, но на AD9850 и MCP4922 хватит.
Вообще посмотрю сколько тока нужно на критичные по стабильности узлы и исходя из этого пойму как схему запитывать. Пока собрал только прикидочно - чтобы убедиться, что все как-нибудь работает и весь софт написать. Еще ОУ для ВЧ - AD 8009 не пришел...
- do-vitas
- Потрогал лапой паяльник
- Сообщения: 363
- Зарегистрирован: Вс мар 03, 2019 08:18:34
- Откуда: Волгоград
Re: STM32 новичку в ARM что к чему
Решил однако кандер 105 допаял параллельно тому что ресет на массу подтягивает! может кому пригодится...do-vitas писал(а):проблема в том что устройство стартует только после нажатия ресета!
- Реклама
Re: STM32 новичку в ARM что к чему
документ не торопясь посмотрите - не надо будет делать лишних движений 
-
Loyso Pondohva
- Прорезались зубы
- Сообщения: 213
- Зарегистрирован: Пт июл 03, 2020 22:09:02
Re: STM32 новичку в ARM что к чему
Смотрю AN2834. Ох, самое трудное - не делать а читать по делу... да. Спасибо 
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Приветствую, котоварищи.
Разбираюсь с L031, в частности с его USART2.
При отправке символа с компа МК входит в прерывание, а далее (смотрите картинку) программа должна зайти в обработку приема.

Но в момент чтения регистра USART2->ISR бит RXNE сбрасывается. Соответственно чтения не происходит.
Кто-то может объяснить причину такого поведения?
Разбираюсь с L031, в частности с его USART2.
При отправке символа с компа МК входит в прерывание, а далее (смотрите картинку) программа должна зайти в обработку приема.
Но в момент чтения регистра USART2->ISR бит RXNE сбрасывается. Соответственно чтения не происходит.
Кто-то может объяснить причину такого поведения?
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Re: STM32 новичку в ARM что к чему
[uquote="Zhuk72",url="/forum/viewtopic.php?p=3995045#p3995045"]Кто-то может объяснить причину такого поведения?[/uquote]
Уверен, что отладчик прочитал только ISR, а не все регистры включая DR?
Уверен, что отладчик прочитал только ISR, а не все регистры включая DR?
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Действительно 
Но в терминале эхо не появилось, хотя по всем шагам прошелся как положено.
Со скоростью напортачил или с конфигом пина ТХ - вот в чем вопрос!
Спасибо!
Но в терминале эхо не появилось, хотя по всем шагам прошелся как положено.
Со скоростью напортачил или с конфигом пина ТХ - вот в чем вопрос!
Спасибо!
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Вожусь со светодиодной матрицей (поочередно соединены четыре матрицы 8х га MAX7219. И в мануале на STM32F103 вообще не вижу прерывания SPI по окончанию передачи данных! Есть по TXE, но в это время передача еще идет. Данные передаю при помощи DMA, а MAX7219 требует сразу после последнего тактового импульса поднять ногу CS, чтобы захватить данные из буфера.
А еще у меня почему-то все данные, приходящие на вход, идут на выход, хотя последние 16 бит должны захватываться!
Как с этим бороться нормальным способом? Чтобы не по-абдурински, используя блокирующие вызовы, а с помощью DMA и конечных автоматов?
А еще у меня почему-то все данные, приходящие на вход, идут на выход, хотя последние 16 бит должны захватываться!
Как с этим бороться нормальным способом? Чтобы не по-абдурински, используя блокирующие вызовы, а с помощью DMA и конечных автоматов?
Re: STM32 новичку в ARM что к чему
Не знаю нюансов про MAX, но если это тот самый сигнал CS, то почему не использовать аппаратный, который должен нормальный SPI уметь генерить? В STшной документации, вроде его зовут NSS.
disclaimer: я сейчас сижу под MSP432 и EFM32 и занимаюсь именно SPI - там всё это происходит именно так и без проблем.
disclaimer: я сейчас сижу под MSP432 и EFM32 и занимаюсь именно SPI - там всё это происходит именно так и без проблем.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: STM32 новичку в ARM что к чему
uldemir, спасибо, попробую. Правда, пока вообще ничего не выходит: как только активировал аппаратный NSS, даже данные перестали полностью передаваться (передается только три бита, а CS вообще в нуле сидит и на 1 не "выпрыгивает")…
На форумах пишут, что NSS управляется исключительно ногодрыгом! И действительно: аппаратный NSS не работает так, как нужно! Он постоянно держит ногу CS в нуле, не поднимая ее в 1 после окончания передачи данных...
На форумах пишут, что NSS управляется исключительно ногодрыгом! И действительно: аппаратный NSS не работает так, как нужно! Он постоянно держит ногу CS в нуле, не поднимая ее в 1 после окончания передачи данных...
Re: STM32 новичку в ARM что к чему
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3996566#p3996566"]а CS вообще в нуле сидит и на 1 не "выпрыгивает"…[/uquote]
Только узнал, что у ST проблемный SPI?
По документации NSS в нуле пока включен SPI, но даже если его выключить NSS будет просто болтаться в воздухе и можно разве что подтяжку включить... Более новые версии SPI умеют дергать NSS между байтами, но F1 так не умеет. А если нужно отправить серию байт и поднять NSS в самом конце, то нужен еще более новый SPI, как у H7, хотя писали, что такие будут у большинства мк выпущенных с этого года.
Только узнал, что у ST проблемный SPI?
Последний раз редактировалось Reflector Сб мар 13, 2021 13:54:22, всего редактировалось 1 раз.
Re: STM32 новичку в ARM что к чему
есть: 25.5.2 SPI control register 2 (SPI_CR2)
NSS ни в коем случае не должен дёргаться между байтами. Иначе будет невозможно общение с SPI EEPROM - там тоже надо опустить CS, передать данные, поднять CS. Так вот, пока есть данные на передачу CS остаётся в нуле. Если делать это по опросу (и даже по прерываниям, если случится задержка) - может возникнуть пауза и CS снимется (перейдёт в лог.1), но если кормить через DMA - такой проблемы нет.Bit 2 SSOE: SS output enable
0: SS output is disabled in master mode and the cell can work in multimaster configuration
1: SS output is enabled in master mode and when the cell is enabled. The cell cannot work
in a multimaster environment.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: STM32 новичку в ARM что к чему
uldemir, нет. Как только я включаю SPI, если у меня NSS настроен аппаратно, то он сразу падает в нуль. И после окончания передачи в нуле так и остается. В мануале по поводу SSOE, кстати, так и говорится, что "SS output is enabled in master mode and when the cell is enabled" (а не "when transmission is in process", что нужно мне).
Re: STM32 новичку в ARM что к чему
Хмм. не ожидал такого от ST... Тогда План Б. А обязательно ли делать фронт импульса после передачи? В одной конструкции я делал динамическое отображение через сдвиговый регистр MAX6312. Там задвигал данные через SPI, а по окончании дёрнуть строб параллельной загрузки. Я изменил порядок. Сначала дёргаю строб, чтобы записалось то, что было перед этим залито, а затем заливал следующую порцию для следующего фрейма.
Всё это делалось на таймере. Один канал сравнения формировал строб записи, а другой канал создавал event, который запускал DMA, который заливал данные в SPI и SPI заливал данные в сдвиговый регистр MAX-имки. Период таймера задавал интервал с какой частотой переключались разряды. Как-то так, и это всё работало аппаратно без всяких опросов, прерываний итп.
О, посмотрел старый исходник - там еще этот таймер формировал PWM для сигнала Blank - регулировка яркости.
Всё это делалось на таймере. Один канал сравнения формировал строб записи, а другой канал создавал event, который запускал DMA, который заливал данные в SPI и SPI заливал данные в сдвиговый регистр MAX-имки. Период таймера задавал интервал с какой частотой переключались разряды. Как-то так, и это всё работало аппаратно без всяких опросов, прерываний итп.
О, посмотрел старый исходник - там еще этот таймер формировал PWM для сигнала Blank - регулировка яркости.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: STM32 новичку в ARM что к чему
В общем, оказалось, что строгих требований к CS у MAX7219 таки нет. И данные поперли. Бьюсь сейчас с инициализацией всех пикселей (почему-то пока только нулевая строка светится).
UPD: все завелось, всем спасибо!
https://github.com/eddyem/stm32samples/ ... 219_screen
UPD: все завелось, всем спасибо!
https://github.com/eddyem/stm32samples/ ... 219_screen
Re: STM32 новичку в ARM что к чему
Вопрос.
А пользуется кто-либо для работы с STM32 PlatformIO?
Поддерживается работа с фреймворками:
Arduino
Cmsis
Spl
Stm32Cube
Mbed
Libopencm3
Zephyr
Мне очень "зашло"... порог вхождения - на уровне ардуино.
А пользуется кто-либо для работы с STM32 PlatformIO?
Поддерживается работа с фреймворками:
Arduino
Cmsis
Spl
Stm32Cube
Mbed
Libopencm3
Zephyr
Мне очень "зашло"... порог вхождения - на уровне ардуино.
Re: STM32 новичку в ARM что к чему
[uquote="avtoneru",url="/forum/viewtopic.php?p=4037274#p4037274"]Поддерживается работа[/uquote]
Ага, поддерживается. Через командную строку и правку файла конфигурации? Как в каменном веке.
Кому как, а мне этого платформио хватило по самое нехочу с ESP32...
Ага, поддерживается. Через командную строку и правку файла конфигурации? Как в каменном веке.
Кому как, а мне этого платформио хватило по самое нехочу с ESP32...
Астролябия-сама меряет, было бы что мерять!!!


