STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="DrobyshevAlex",url="/forum/viewtopic.php?p=3737585#p3737585"]Подскажите, если не трудно[/uquote]С такой бы скоростью как сообщения строчишь даташиты бы читал. Вот ни разу не поверю, что там не написано. Или нам за тебя почитать?
Реклама
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Сообщение arkhnchul »

[uquote="DrobyshevAlex",url="/forum/viewtopic.php?p=3737585#p3737585"]Либа нужна мне была тупо запустить экран на макетке со 103 камнем, проводками хотел соединить и запустить пока, хотя бы увидеть работает ли дисплей))[/uquote]в platformio можно глянуть. Формально это не ардуино)
[uquote="DrobyshevAlex",url="/forum/viewtopic.php?p=3737585#p3737585"]ЗЫ а как вы цитируете по отдельности каждое сообщение? я могу только весь пост процитировать)) а потом руками расставить цитаты)[/uquote]ну вот так же :dont_know:
Реклама
Открыл глаза
Сообщения: 74
Зарегистрирован: Пн янв 21, 2019 17:38:29

Сообщение DrobyshevAlex »

Я писал выше, что мои вопросы касаются лишь тех кто без чтения по опыту помнит. Прочесть прочту. Я не дома. С телефона читать датащит когда выдалась минутка проблематично)

Зачем вы вообще тратите время на пустые сообщения лишь бы написать. Ах, что бы показать что вы знаете слово даташит?) я рад) а то после вашего ответа у меня ощущение что я не только вас читать даташит прошу а ещё и писать мне что бы я прочёл. Это же тоже время и усилие)

Я прочту.,не переживайте) не ну вдруг умру или ещё что случится, может и не прочту...

И вы не поверите, сколько раз, когда мне было нечего делать, я что бы ответить кому то и дш читал и ссылки на мануал находил давал по программированию на формах и друзьям...

Ещк раз повторю) я не прошу читать) кто с алккивалсч и так знает. А так я зашёл глянул мне сказали нельзя. Пока хожу уже что то на думаю как быть)

Добавлено after 1 minute 30 seconds:
arkhnchul спасибо, гляну, впервые такое слышу, не сталкивался)
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

Ключевое слово, сказали нельзя. Опыта тебе это не прибавит. Разбирайся сам в архитектуре МК, учись программировать FSMC, DMA, GPIO (учиться это не копипаст чужого кода, а думать своими мозгами). Тогда будешь понимать как это все работает. А если не хочешь понимать и тратить время, привет Arduino и GFX.
Ты залез туда где требуются более прокаченные скиллы в кодинге МК и время. Если ты решил ослика собрать, то купи его.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

Сообщение Sergi »

Я применял счетчики 74АС163 и 74АС161. Например в чипидипе 161 в дип корпусе по 37р.
Вы не озвучили с какой скоростью хотите делать захват. При использовании внешней памяти ограничение только от нее (для cy7c1041 - 100МГц). Есть и другие варианты. Вам бы почитать другую тему, например "Осциллограф своими руками".
Реклама
Открыл глаза
Сообщения: 74
Зарегистрирован: Пн янв 21, 2019 17:38:29

Сообщение DrobyshevAlex »

Уважаемый Оксфорд) Бесспорно, совет читать мануал это один из первых который можно дать, но, я пояснил ситуацию, я просто спросил у тех кто знает и кому не трудно ответить! Я несомненно прочту даташит когда начну кодить и разводить платку.

Я учился программировать в 90х, и стех пор не плохо справлялся. Не под мк нет, под линукс на сях и плюсах, под иос и андроид на флуттере, обекстив си, яве, под веб на нодежс, пхп, питоне, руби и тд...
Я никогда не копипастил чужой код) Я всегда, прежде чем написать, изучу как чужой код работает, а потом перепишу с открытием даташита, маунуала и тд...
Я не юзаю ХАЛ, только гении же юзают хал а я туповат...

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

Но кому я это пишу? Вы не родственник Ванги? Вы же видите издалека какой уровень программирования у меня и что я только и умею что копипастить код)
Я не говорю что я гуру, я не бросаюсь такими заявлениями... просто говорю что поражен вашей осведомленностью о моих навыках)

С ДМА и ГПИО что учить вообще? Там есть что то непонятное? Я пока не встречал, не буду спорить с профи, может и есть что то там жуткое.

Пока самый гемор, что я встречал в стм, это ЮСБ, и то гемор так как много буккоф нужно пописать))

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

Я его решил год назад собрать, Вы давали тот же совет на другом форуме, но некогда было, а вот сейчас опять появилось время и решил все таки собрать.
Так вот выходит что времени мало, появляется кусками, зашел почитал, посмотрел схемы, что делают люди, сравнил, вот сегодня изучил эту схему https://radiokot.ru/forum/viewtopic.php?f=59&t=144434
Так же как и с кодом, я люблю изучать какие есть способы включения того или иного. Вот я даже не думал о том что можно так сделать сдвиг адресов как в данной схеме, а теперь посмотрел и понял что это легко и просто, но до этого нужно додуматься. Но я не бездумно беру схему и собираю, а разбираюсь как работает.

Но в будние работа, на выходных уезжаю. Пока в поездке, есть время зайти написать с мобилки, пока еду, думаю как соединить и собрать.
Вот дошел до новых технологий SRAM и FSMC, не сталкивался, так же новые камни. Я на мк что нибудь делаю раз в год, не богатый опыт да.
По этому думал что если чел юзает, ему не трудно сказать да, я делал работает, или нет, юзай другой камень.

Но блин, это так сложно же. Те кто новички, как я, у них тоже малый опыт, они не могут сказать. Те кто гуру, они слушком высоки надо мной, и не скажут, ты шо, только они же могут программировать и паять, другие не поймут, главное заучить фразу "Иди читай".

У разных людей разный менталитет, вот из моего профиля по веб программированию менее ем за 2 года года статистика
Total Thanks
Thanked 1096 Times in 1066 Posts
вот с киберфорума
Получено положительных оценок: 1,126
тоже сидел там не больше года.

К чему я? а к тому что не всем сложно ответить, мне не сложно если я знаю.
Если сложно, почему не пройти мимо и не разгонять людей с форума?

Я ушел со схем нет из за пары чел, вы один из них, так как от вас там видел только треп, и не одного совета реально.
Вы знаете что и тут и там люди пишут ответы мне в личку, думаю не только мне, думаю одна из причин такие как вы люди.
А другая те, кто оскорбляют с ходу тех, кто дал любой ответ в котором запятая не там или не те понятия написаны.

Форумы, имхо, нужны для двух целей
- чтобы делится опытом быстро, а не изобретать велосипеды, это не значит что на форуме надо просить готовый код и схему, для этого есть фриланс
- чтобы форум был жив а не сидело 5 завсегдатых, которые всех посылают
ну и третья мелочь, вытекает из второй, что бы он монетизировался, за счет тех кто приходит, очевидно тут есть реклама

так вот вопрос, зачем писать свои предположения о других людях, на сколько они тупы и тд если можно просто промолчать если что то не устраивает?

Добавлено after 8 minutes 50 seconds:
[uquote="Sergi",url="/forum/viewtopic.php?p=3737797#p3737797"]Я применял счетчики 74АС163 и 74АС161. Например в чипидипе 161 в дип корпусе по 37р.
Вы не озвучили с какой скоростью хотите делать захват. При использовании внешней памяти ограничение только от нее (для cy7c1041 - 100МГц). Есть и другие варианты. Вам бы почитать другую тему, например "Осциллограф своими руками".[/uquote]
74АС163 я заказал уже в смд и память эту заказал которая в вашем посте. В целом у меня сейчас ОУ на 10 МГц всего, я заказал другие, на 100 МГц+ но по отзывам там до 20 не дотягивает возможно, кто что пишет...
Я год назад читал три темы, не полностью, забыл уже все, на долго отвлекался)) Вот только что приехал ща пойду даташит читать)) в день получается по часику выделить)) И это врем уходит на заказ деталей))

Я в целом разобрался в вашей схеме, теперь мне нужно дисплей перепаять, запилить под него код, пока для теста на 103c8t6.
И думать как теперь быть, я не хоетл внешнюю память ставить и заказал уже 100 ногий мк, а там либо память либо дисплей видимо только подключится.
В планах было АЦП считывать через интерфейс камеры во внутреннюю память, но ваш способ мне понравился на столько, что я решил заказать счетчики и память))

Я так понимаю FSMC не обязателен мне для памяти, Сдвига происходят счетчиками, а чтения байта можно просто с порта любого делать.
Реклама
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Чт апр 30, 2015 15:36:18
Откуда: ЯНАО

Сообщение khamai »

Здравствуйте! Помогите пожалуйста, только-только сел за STM32 с AVR... Спаял платку для STM32F100RBT6, вывел SWD интерфейс. Программатор: STLINK/V2. Для пробы решил через STM32CubeIDE настроить ножку через их графический конфигуратор, сгенерировал код и залил в камень. Вроде всё было хорошо и прошивка залилась. Но потом с какого-то момента (не уловил с какого, настраивал только одну ножку, т.е. никуда абсолютно больше не лез) при прошивке стало показывать ошибку: DEV_TARGET_UNDER_RESET. Данная ошибка говорит о том, что кнопка Reset на плате нажата. Хотя проверял: кондер не закорочен, емкость есть, кнопка исправна, нигде ничего не коротит. В общем попробовал на крайний случай отрезать ножку от кнопки к МК. Не помогло. Всё то же DEV_TARGET_UNDER_RESET.
Попробовал STM32CubeProgrammer. Там есть выбор режимов при подключении: Normal, Hot Plug, Under Reset. Также есть Reset Mode - здесь я перепробовал все варианты, ничего не помогает. Если поставить режим (Mode) Hot Plug, то проиходит соединение с МК, виден его сериный номер, размер памяти и т.п. Но если попытаться залить прошивку (заливаю .elf файл, сгенерированный STM32CubeIDE) то вылазит ошибка:
Спойлер

Код: Выделить всё

22:41:25 : Opening and parsing file: 3.elf
22:41:25 : File : 3.elf
22:41:25 : Size : 4612 Bytes
22:41:25 : Address : 0x08000000
22:41:25 : Download in Progress:
22:41:39 : Error: failed to download Segment[0]
22:41:39 : Error: failed to download the File
Если попытаться стереть память, то во всех случаях получаем ошибки, содержащие: Error: Mass erase operation failed.Please verify flash protection.
Перехожу в Option Bytes, считываю значения: RDP не выставлен, т.е. Unchecked: Flash Memory is non read-protected.
Если попытаться выставить флажки на WRP0...WRP31 и применить, то это ничем не заканчивается, программатор начинает бесконечно прошивать МК.

Блин... как теперь удалить этот позор?) Попросил кота пошкрябать дорожку к RESET от кнопки как следует и всё прошло) Только вот не ясно теперь.. Неужели это кондёр пробило?
Последний раз редактировалось khamai Пн дек 09, 2019 21:40:32, всего редактировалось 1 раз.
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Куб по умолчанию отключает SWD интерфейс. Тебе надо либо подключить ресет к программатору, либо нажать его рукой при установке соединения, либо переключить ногу boot0 чтобы залитая прошивка не стартовала.

Программисты куба могут очередную звезду на борту рисовать :)
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Чт апр 30, 2015 15:36:18
Откуда: ЯНАО

Сообщение khamai »

[uquote="VladislavS",url="/forum/viewtopic.php?p=3752689#p3752689"]Куб по умолчанию отключает SWD интерфейс. Тебе надо либо подключить ресет к программатору, либо нажать его рукой при установке соединения, либо переключить ногу boot0 чтобы залитая прошивка не стартовала.

Программисты куба могут очередную звезду на борту рисовать :)[/uquote]

Да я BOOT коротил на 3.3 - не помогало. В том то и дело, что куб SWD не отключил. Дело было именно в кнопке...
Последний раз редактировалось aen Вт янв 21, 2020 21:17:48, всего редактировалось 1 раз.
Причина: Нарушение Правил форума п. 2.7
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1451
Зарегистрирован: Пт фев 19, 2010 19:39:28
Откуда: Москва

Сообщение Сериг »

Всех приветствую!
Хочу повторить устройство с сайта http://avr-start.ru/?p=3471#more-3471
Компилятор пока не освоил ни грамма.
Если есть у кого возможность, откомпилируйте пожалуйста проект, чтобы просто кекс загрузить в stmку.
Благодарю!
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

Сериг лови
2.zip
(5.59 КБ) 233 скачивания
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
afz
Опытный кот
Аватара пользователя
Сообщения: 744
Зарегистрирован: Сб дек 22, 2012 08:17:42
Откуда: Караганда, Казахстан

Сообщение afz »

А разве выложенное там \test_nokia\test_nokia\Debug\bin>test_nokia.hex не годится?
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1451
Зарегистрирован: Пт фев 19, 2010 19:39:28
Откуда: Москва

Сообщение Сериг »

[uquote="afz",url="/forum/viewtopic.php?p=3756016#p3756016"]А разве выложенное там \test_nokia\test_nokia\Debug\bin>test_nokia.hex не годится?[/uquote]
Благодарю!
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Вопрос - как настроить (на STM32F1) складывание результатов АЦП в массив байтов?

Сейчас настроено следующим образом:
- выравнивание результата АЦП - вправо (получается в регистре АЦП DR число по маске 00000FFF).
- буфер АЦП - массив int16_t значений на N ячеек. Получается, каждый запуск АЦП складывает числа в массив по маскам: 0FFF, 0FFF, 0FFF...., по достижении конца массива - начинает сначала.
- DMA настроен в режиме HalfWord периферия, HalfWord память, адрес периферии ADC1->DR, адрес памяти - начало массива.

Всё прекрасно работает при таких настройках.

Но хочется попробовать сэкономить память на буфере DMA и обойтись массивом uint8_t значений и, соответственно, 8-битной точностью АЦП (т.е. нужны только часть битов результата 00000FFF)

То есть, нужно, чтобы старшие использовались только старшие 8 бит результата измерения и складывались в очередную 8-битную ячейку массива.

Первое, что приходит на ум - выравнивание влево, т.е., чтобы результат в DR был по маске 0000FFF0.

Вопрос, как заставить DMA класть в 8-бит ячейку памяти именно эту часть результата, а не младший байт? Потому что в режиме 16->8 DMA вроде как именно младший байт берёт
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3757238#p3757238"]Вопрос, как заставить DMA класть в 8-бит ячейку памяти именно эту часть результата, а не младший байт?[/uquote]
Никак. На всех остальных сериях, кроме F1, можно выбрать 8-ми битный режим для самого ADC.
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

Сообщение Sergi »

А нельзя ли применить адресацию к старшему байту ADC->DR как к GPIOx->ODR? Я вот так пишу в старший байт GPIOB->ODR данные для 8ми битного дисплея #define LCD (*(__IO uint8_t *)((uint32_t)&(GPIOB->ODR) + 1))
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Sergi",url="/forum/viewtopic.php?p=3757326#p3757326"]Я вот так пишу в старший байт GPIOB->ODR данные для 8ми битного дисплея[/uquote]На F1 такое не прокатит.
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

Сообщение Sergi »

Как бы на пилюле 103c8 дисплей nokia3230 работает.
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Открываем RM
СпойлерИзображение
Вложения
gpio.png
(125.14 КБ) 697 скачиваний
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

Сообщение Sergi »

Ну хорошо, а с ADC->DR так читать можно?
Ответить

Вернуться в «ARM»