Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
STM32 новичку в ARM что к чему
Схем для паяльников полно готовых берите решение и юзайте.
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
- Реклама
- Сообщения: 6642
- Зарегистрирован: Сб янв 28, 2006 22:47:24
[uquote="do-vitas",url="/forum/viewtopic.php?p=3994363#p3994363"]Eddy_Em, у меня терморезистор 50ом[/uquote]
Мостовая схема включения терморезистора и дифусилитель. Либо измерение напряжений на плечах моста двумя каналами АЦП, с вычислением разности. После усиления усилителями постоянного тока, разумеется.
Мостовая схема включения терморезистора и дифусилитель. Либо измерение напряжений на плечах моста двумя каналами АЦП, с вычислением разности. После усиления усилителями постоянного тока, разумеется.
Астролябия-сама меряет, было бы что мерять!!!
Loyso Pondohva, между ОУ и МК R и C стоят? (оговариваются в AN2834), если спешить не куда - поставьте максимально "длинное" преобразование (в SMPRх ).
- Сообщения: 213
- Зарегистрирован: Пт июл 03, 2020 22:09:02
[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 не пришел...
Решил однако кандер 105 допаял параллельно тому что ресет на массу подтягивает! может кому пригодится...do-vitas писал(а):проблема в том что устройство стартует только после нажатия ресета!
- Реклама
документ не торопясь посмотрите - не надо будет делать лишних движений 
- Сообщения: 213
- Зарегистрирован: Пт июл 03, 2020 22:09:02
Смотрю AN2834. Ох, самое трудное - не делать а читать по делу... да. Спасибо 
Приветствую, котоварищи.
Разбираюсь с L031, в частности с его USART2.
При отправке символа с компа МК входит в прерывание, а далее (смотрите картинку) программа должна зайти в обработку приема.

Но в момент чтения регистра USART2->ISR бит RXNE сбрасывается. Соответственно чтения не происходит.
Кто-то может объяснить причину такого поведения?
Разбираюсь с L031, в частности с его USART2.
При отправке символа с компа МК входит в прерывание, а далее (смотрите картинку) программа должна зайти в обработку приема.
Но в момент чтения регистра USART2->ISR бит RXNE сбрасывается. Соответственно чтения не происходит.
Кто-то может объяснить причину такого поведения?
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
- Сообщения: 2089
- Зарегистрирован: Вс июн 19, 2016 09:32:03
[uquote="Zhuk72",url="/forum/viewtopic.php?p=3995045#p3995045"]Кто-то может объяснить причину такого поведения?[/uquote]
Уверен, что отладчик прочитал только ISR, а не все регистры включая DR?
Уверен, что отладчик прочитал только ISR, а не все регистры включая DR?
Действительно 
Но в терминале эхо не появилось, хотя по всем шагам прошелся как положено.
Со скоростью напортачил или с конфигом пина ТХ - вот в чем вопрос!
Спасибо!
Но в терминале эхо не появилось, хотя по всем шагам прошелся как положено.
Со скоростью напортачил или с конфигом пина ТХ - вот в чем вопрос!
Спасибо!
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
Вожусь со светодиодной матрицей (поочередно соединены четыре матрицы 8х га MAX7219. И в мануале на STM32F103 вообще не вижу прерывания SPI по окончанию передачи данных! Есть по TXE, но в это время передача еще идет. Данные передаю при помощи DMA, а MAX7219 требует сразу после последнего тактового импульса поднять ногу CS, чтобы захватить данные из буфера.
А еще у меня почему-то все данные, приходящие на вход, идут на выход, хотя последние 16 бит должны захватываться!
Как с этим бороться нормальным способом? Чтобы не по-абдурински, используя блокирующие вызовы, а с помощью DMA и конечных автоматов?
А еще у меня почему-то все данные, приходящие на вход, идут на выход, хотя последние 16 бит должны захватываться!
Как с этим бороться нормальным способом? Чтобы не по-абдурински, используя блокирующие вызовы, а с помощью DMA и конечных автоматов?
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
Не знаю нюансов про MAX, но если это тот самый сигнал CS, то почему не использовать аппаратный, который должен нормальный SPI уметь генерить? В STшной документации, вроде его зовут NSS.
disclaimer: я сейчас сижу под MSP432 и EFM32 и занимаюсь именно SPI - там всё это происходит именно так и без проблем.
disclaimer: я сейчас сижу под MSP432 и EFM32 и занимаюсь именно SPI - там всё это происходит именно так и без проблем.
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
uldemir, спасибо, попробую. Правда, пока вообще ничего не выходит: как только активировал аппаратный NSS, даже данные перестали полностью передаваться (передается только три бита, а CS вообще в нуле сидит и на 1 не "выпрыгивает")…
На форумах пишут, что NSS управляется исключительно ногодрыгом! И действительно: аппаратный NSS не работает так, как нужно! Он постоянно держит ногу CS в нуле, не поднимая ее в 1 после окончания передачи данных...
На форумах пишут, что NSS управляется исключительно ногодрыгом! И действительно: аппаратный NSS не работает так, как нужно! Он постоянно держит ногу CS в нуле, не поднимая ее в 1 после окончания передачи данных...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
- Сообщения: 2089
- Зарегистрирован: Вс июн 19, 2016 09:32:03
[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 раз.
есть: 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.
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
uldemir, нет. Как только я включаю SPI, если у меня NSS настроен аппаратно, то он сразу падает в нуль. И после окончания передачи в нуле так и остается. В мануале по поводу SSOE, кстати, так и говорится, что "SS output is enabled in master mode and when the cell is enabled" (а не "when transmission is in process", что нужно мне).
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
Хмм. не ожидал такого от ST... Тогда План Б. А обязательно ли делать фронт импульса после передачи? В одной конструкции я делал динамическое отображение через сдвиговый регистр MAX6312. Там задвигал данные через SPI, а по окончании дёрнуть строб параллельной загрузки. Я изменил порядок. Сначала дёргаю строб, чтобы записалось то, что было перед этим залито, а затем заливал следующую порцию для следующего фрейма.
Всё это делалось на таймере. Один канал сравнения формировал строб записи, а другой канал создавал event, который запускал DMA, который заливал данные в SPI и SPI заливал данные в сдвиговый регистр MAX-имки. Период таймера задавал интервал с какой частотой переключались разряды. Как-то так, и это всё работало аппаратно без всяких опросов, прерываний итп.
О, посмотрел старый исходник - там еще этот таймер формировал PWM для сигнала Blank - регулировка яркости.
Всё это делалось на таймере. Один канал сравнения формировал строб записи, а другой канал создавал event, который запускал DMA, который заливал данные в SPI и SPI заливал данные в сдвиговый регистр MAX-имки. Период таймера задавал интервал с какой частотой переключались разряды. Как-то так, и это всё работало аппаратно без всяких опросов, прерываний итп.
О, посмотрел старый исходник - там еще этот таймер формировал PWM для сигнала Blank - регулировка яркости.
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
В общем, оказалось, что строгих требований к CS у MAX7219 таки нет. И данные поперли. Бьюсь сейчас с инициализацией всех пикселей (почему-то пока только нулевая строка светится).
UPD: все завелось, всем спасибо!
https://github.com/eddyem/stm32samples/ ... 219_screen
UPD: все завелось, всем спасибо!
https://github.com/eddyem/stm32samples/ ... 219_screen
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
- Сообщения: 13
- Зарегистрирован: Вт май 25, 2021 18:41:53
Вопрос.
А пользуется кто-либо для работы с STM32 PlatformIO?
Поддерживается работа с фреймворками:
Arduino
Cmsis
Spl
Stm32Cube
Mbed
Libopencm3
Zephyr
Мне очень "зашло"... порог вхождения - на уровне ардуино.
А пользуется кто-либо для работы с STM32 PlatformIO?
Поддерживается работа с фреймворками:
Arduino
Cmsis
Spl
Stm32Cube
Mbed
Libopencm3
Zephyr
Мне очень "зашло"... порог вхождения - на уровне ардуино.
- Сообщения: 6642
- Зарегистрирован: Сб янв 28, 2006 22:47:24
[uquote="avtoneru",url="/forum/viewtopic.php?p=4037274#p4037274"]Поддерживается работа[/uquote]
Ага, поддерживается. Через командную строку и правку файла конфигурации? Как в каменном веке.
Кому как, а мне этого платформио хватило по самое нехочу с ESP32...
Ага, поддерживается. Через командную строку и правку файла конфигурации? Как в каменном веке.
Кому как, а мне этого платформио хватило по самое нехочу с ESP32...
Астролябия-сама меряет, было бы что мерять!!!


