Радиотехника

Ответить в тред Ответить в тред
Check this out!
STM32 тред Аноним 02/10/18 Втр 12:20:39 3390051
image.png 322Кб, 600x438
600x438
image.png 398Кб, 600x487
600x487
Хочу вкатится в разработку на stm32. Сначала стоит вопрос выбора отладочной платы. Что лучше взять: NUCLEO-F401RE или NUCLEO-F303RE ? Или может вообще, что то другое.
Нужно максимальное количество АЦП для обработки звука.
Какую среду разработки лучше использовать?

Аноним 02/10/18 Втр 12:58:34 3390102
>>339005 (OP)
Тут есть ARM-тред, в котором ты вполне мог бы задать свой вопрос. Хотя действительно есть некоторый смысл в раздельных тредах.
>Или может вообще, что то другое.
Именно. Ты бы посмотрел какие АЦП используют для звука. У тебя в компьютере сколько разрядов в АЦП для звука? А сколько в STM32?
>Какую среду разработки лучше использовать?
Это не не оказывает существенного влияния на процесс вкатывания. Но если спрашиваешь, то это будет в самый раз: https://www.instructables.com/id/Quick-Start-to-STM-Nucleo-on-Arduino-IDE/
Аноним 02/10/18 Втр 13:08:35 3390113
>>339010
>А сколько в STM32?

Написано что 12 разрядов. Для моих задач, запись голоса с низким качеством, вполне должно подойти
Аноним 02/10/18 Втр 13:22:18 3390144
Аноним 02/10/18 Втр 13:32:37 3390155
>>339014

А они разве не все с DSP? Если я не путаю это просто набор инструкций процессора?
Аноним 02/10/18 Втр 13:55:33 3390166
>>339015
Нет. С тчк зрения программиста.
Аноним 09/10/18 Втр 00:47:44 3396897
2014-03-27 11.2[...].jpg 2879Кб, 2592x1952
2592x1952
2015-09-18 17.4[...].jpg 2496Кб, 2592x1952
2592x1952
2016-02-12 18.2[...].jpg 2958Кб, 1952x2592
1952x2592
2017-05-20 02.0[...].jpg 1622Кб, 2592x1552
2592x1552
>>339005 (OP)
Ждал этот тред больше 3 лет. Мимо начинал свой путь освоения контроллеров с AVR в AtmelStudio и теперь сижу на STM32 с STM32CubeMX как на герыче сука. Если совсем с нуля хочешь вкатиться, возьми на али пару простых отладочных плат и программатор:

https://ru.aliexpress.com/item/1PCS-ST-LINK-Stlink-ST-Link-V2-Mini-STM8-STM32-Simulator-Download-Programmer-Programming-With-Cover/32792513237.html
https://ru.aliexpress.com/item/48-STM32F030F4P6-s-CORTEX-M0-Core-32bit/32881417785.html
https://ru.aliexpress.com/item/Free-Shipping-STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module-Forarduino/32525208361.html

Эти платы пригодятся всегда, когда надо будет собрать что-то относительно простое и оставить работать на неопределенный срок, чтоб не дергать основную плату.

STM32F030F4P6 - самое ходове дерьмо для проверки датчиков, дисплеев и создания всяких тестовых простых девайсов, кароче аналог ардуины, только быстрее и лучше.
STM32F103C8T6 - второе ходовое дерьмо из-за своей дешивизны и предоставляемых возможностей, достаточно памяти, интерфейсов и всего остального, чтоб сделать йобу с кучей датчиков, цветным дисплеем и всякими передающими модулями или прицепить к пеке по USB.

У меня еще валяются такие же платы с STM32F103RET6 и STM32F103RFT6, когда нужно совсем много памяти для графики или больших массивов данных, да и в целом 103я серия очень нравится. Также есть STM32F429I-DISCO - это былая моя первая отладочная плата STM32, с которой я начал свое изучение и пилил тогда фо фан систему использующую DSP для распознавания цветов и простых форм с Omnivision камеры + наложение информации на кадры и трансляция через ESP8266 модуль по WiFi, чтоб через обычный браузер смотреть - было очень интересно.

Насчет Nucleo, так себе варчик, особенно если больше 1 покупаешь - неоправданная переплата за програматор на плате и кучу перефирии - она будет только мешать (не будешь же ты выпаивать каждый раз какую-то лабуду с нее, когда нужны будут ножки на которой она висит). Лучше взять у китайцев с голой разводкой (если имеются нужные тебе варианты) и навешивать все свое, единственную Nucleo которую я б купил это с контроллером STM32F334R8 из-за наличия в нем таймера разрешением 217 пикосекунд и отсутствия самого контроллера на али.

По звуку ничего определенного не могу посоветовать, но как писали выше - бери плату с DSP. А по среде разработки советую связку STM32CubeMX + Keil + STMStudio. Сгенерил проект в кубе и пишешь себе код в лучшей IDE для ARM, а потом тестишь всякие баги или проводишь наблюдения в STMStudio, которая будет строить график изменения значения наблюдаемых переменных хоть целый день.
Аноним 09/10/18 Втр 13:41:48 3397528
>>339689
А зачем тебе куб нужен, только ради схемки тактирования и пинов? Я просто сразу с регистров начал и Keil и не понимаю зачем вообще эти говнокубы и говнохалы. Единственное - приходится читать исходники хала и комментарии ибо бывает сложно понять что и в какой последовательности врубать для того чтобы врубить какую-нибудь периферию ибо в RM не всё так понятно расписано.
Аноним 09/10/18 Втр 15:29:58 3397579
>>339015
>А они разве не все с DSP? Если я не путаю это просто набор инструкций процессора?

Нет, только F4 и F7
Аноним 09/10/18 Втр 15:58:43 33976210
>>339752
stm32f7 вне кубика дюже сложно будет сконфигурировать
Аноним 10/10/18 Срд 00:02:16 33982111
>>339752
Ради инициализации периферии, меня это заебывало на AVR - постоянно лезть в мануал потому что на каждой атмеге свои регистры и комбинации флагов для одной и той же настройки частоты шима или параметров uart. Потом то я надрочился с ними и запомнил, но когда перекатился на stm, решил ну его нахуй пусть генерит - за 3 года никаких проблем не было, тем более HAL'овские функции довольно хорошо написаны, изи понимать что там происходит когда дебажишь. А в кубе все задал, оно сгенерило функцию с инициализацией двух десятков параметров и тебе не надо лезть каждый раз в мануал на 300 страниц если надо что-то изменить, особенно это касается всяких DCMI, FMC, встроенного LCD-TFT контроллера и прочего.
Аноним 10/10/18 Срд 00:59:39 33982912
photo2018-10-03[...].jpg 181Кб, 960x1280
960x1280
video2018-10-03[...].mp4 1203Кб, 360x640, 00:00:09
360x640
Взял себе такую платку. Какие подводные?
Аноним 10/10/18 Срд 02:16:42 33983913
>>339829
Открыл шебм, изображение на экране посыпалось, все в полоску стало, пришлось ресет жать, теперь стремно снова открывать, что это за хуйня была.
Аноним 10/10/18 Срд 05:51:29 33984314
WP2018030522422[...].jpg 1036Кб, 3241x1827
3241x1827
>>339829
>Какие подводные?
Поморгаешь диолдами и положишь на полку. Анус ставлю.
мимовладелец 429-discovery
Аноним 10/10/18 Срд 06:23:54 33984415
От треда у меня сложилось впечатление, что вы тут обсуждаете тысячекратно оверпрайснутые аналоги ардуины.
Лучше бы накидали литературы, желательно на русском. А также плюсы-минусы разных средств разработки.
И все это желательно с ориентиром на массовую дурино-подобную плату с STM32F103C8T6, дабы вкатиться мог любой бомж.
Аноним 10/10/18 Срд 08:09:53 33984716
>>339844
Тебе для чего? Как можно быстрее что-то сделать или основательно вкатиться? Если первое - бери ардуину.
>литературы, желательно на русском.
1) Без книг по Си по любому не обойтись. Конечно можно это заменить каким-то кратким курсом, но тогда знания останутся поверхностными. Для начала микроконтроллеры можно вообще не трогать, а примеры с упражнениями компилировать под винду (или что там у тебя).
Хороших книг тут две:
- Подбельский и Фомин http://publ.lib.ru/ARCHIVES/P/PODBEL%27SKIY_Vadim_Valerievich/_Podbel%27skiy_V.V..html
- Керниган и Ричи. http://publ.lib.ru/ARCHIVES/K/KERNIGAN_Brayan_Vil%27son/_Kernigan_B.V..html
Но в этих книгах есть существенная проблема - не рассматриваются нововведения C99, без которых (хотя и совсем малой части) для микроконтроллеров не обойтись. Об этих нововведениях нужно где-нибудь прочитать, хотя бы статейку нагуглить.
2) Нужно что-то для понимания того что такое процессор. Нужно понимание о том что такое система команд, гарвардская/фон-неймановская архитектура, CISC/RISC и прочее. В рамках этого пункта, для общего развития, неплохо было бы разобрать систему команд какого-нибудь простенького процессора и написать десяток строк на ассемблере. Тут я не знаю какую литературу советовать.
3) Ядро Cortex-МЗ компании ARM. Полное руководство. Джозеф Ю. Стоит прочитать, хотя бы по диагонали.
4) После того как осилишь предыдущие пункты, остается только открыть документацию на микроконтроллер, посмотреть примеры и понять куда тыкать в IDE.

>А также плюсы-минусы разных средств разработки.
Это по вкусу.

>И все это желательно с ориентиром на массовую дурино-подобную плату с STM32F103C8T6, дабы вкатиться мог любой бомж.
Вообще без разницы. Все отличие этих плат лишь в наличии/отсутствии встроенного отладчика и количестве светодиодов.
Аноним 10/10/18 Срд 08:47:04 33984917
>>339847
>Тебе для чего?
Для махараек.
>бери ардуину.
С нее и AVR заинтересован в перекате.
>Без книг по Си по любому не обойтись
В дроч регистров, ногодрыг и битовые операции могу, книг особо не читал. Думаешь, стоит? Для аврок вроде знаний хватало. Библиотеки с классами и ООП, конечно, не делал, но оно мне вроде и не нужно.
>Нужно что-то для понимания того что такое процессор. Нужно понимание о том что такое система команд, гарвардская/фон-неймановская архитектура, CISC/RISC и прочее
Зачем? Вещатели о CISC/RISC и прочих общих определениях в 99% случаев тоже нихуя не смогут объяснить внутреннее устройство процессора, глубже чем "вот этот квадратик - АЛУ, а вот эти стрелочки - шина данных".
>для общего развития, неплохо было бы разобрать систему команд какого-нибудь простенького процессора и написать десяток строк на ассемблере
Так открываем даташит на те же аврки и пишем, список команд с кратким описанием там дан. Чего тут разбирать-то? Ну и смысла в этом нет, только для общего развития.
>3) Ядро Cortex-МЗ компании ARM. Полное руководство. Джозеф Ю. Стоит прочитать, хотя бы по диагонали.
По диагонали определенно стоит изучить.
>После того как осилишь предыдущие пункты, остается только открыть документацию на микроконтроллер, посмотреть примеры и понять куда тыкать в IDE.
Т.е. я уже практически готов к секасу?
>Это по вкусу.
Ну, допустим. А какие самые популярные у махарайщиков, с большим коммьюнити?
>отличие этих плат лишь в наличии/отсутствии встроенного отладчика
Вот, кстати, важный момент. Где на компе тестить и симулировать код внутри МК? С аврками Протеус в этом деле все решает, а вот с стм32 полные непонятки.
Аноним 10/10/18 Срд 09:47:23 33985418
>>339849
>В дроч регистров, ногодрыг и битовые операции могу, книг особо не читал. Думаешь, стоит?
Ну если ты можешь сказать (не подглядывая) чем отличается i++ от ++i и знаешь, что в выражениях типы короче чем int, неявно приводятся к int, то наверное не нужно ничего читать. Даже если не знаешь, то для махараек и так сойдет.
>Зачем?
В основном для общего развития. Для махараек вобщем то не нужно. Но можно ли нормально программировать те же AVR, не зная что у них раздельные адресные пространства кода и данных? А это уже отличие фон-феймановской архитектуры от гарвардской и модифицированной гарвардской.
>Так открываем даташит на те же аврки и пишем, список команд с кратким описанием там дан. Чего тут разбирать-то? Ну и смысла в этом нет, только для общего развития.
Может и нет смысла. Но дает некоторое представление о том что может процессор. Например, явно не лишним будет знать, что в cortex-M0 и M1 нет команды деления, а в M3 остальных она есть. Те же DSP инструкции, которые выше обсуждали.

>Ну, допустим. А какие самые популярные у махарайщиков, с большим коммьюнити?
Бери кейл.
Остальные варианты те же что для AVR - это практически любые, не заточенные под микроконтроллеры IDE. Преимущество тут во множестве мелочей, которыми IDE отличается от блокнота. Недостатки и так должны быть понятны.

>Где на компе тестить и симулировать код внутри МК?
На компе - толком нигде. Пошаговая отладка и прочие штуки - прямо на микроконтроллере через ST-Link, J-Link и прочие. ST-Link, как видно из названия, только для ST. J-Link для всех ARM.
Аноним 10/10/18 Срд 10:12:28 33985919
Посоны, я правильно понял, что CMSIS это самый такой байтоебский способ погромирования, с прямым обращением к регистрам и прочее. HAL сродни ардуиновскому языку. А по SPL какой положняк?
Аноним 10/10/18 Срд 11:20:52 33986220
SPL.png 35Кб, 806x539
806x539
>>339859
>Посоны, я правильно понял
Может правильно, а может и вовсе неправильно. Особенно подозрительно про "ардуиновский язык".
>А по SPL какой положняк?
В первом приближении это мало чем отличается от CMSIS. Вот например на картинке код одной из функций SPL. Как видно, берутся поля из структуры и практически напрямую запихиваются в регистры. Преимущество по сравнению с CMSIS в том что не нужно помнить какой бит в каком регистре и меньше шансов что-то пропустить и ошибиться.

ST постепенно отказываются от SPL, поэтому использовать SPL не стоит. Сейчас у них есть LL, которая мало чем отличается от SPL. Хотя может я в чем-то не прав, т.к. за STM наблюдаю издали, так сложилось что мне приходится использовать другие микроконтроллеры.
Аноним 10/10/18 Срд 11:35:32 33986421
>>339862
>Как видно, берутся поля из структуры
Дополню, а то вдруг не совсем понятно окажется. В эту структуру уже все вручную пихается. Получается что документацию в части регистров все равно, как правило, необходимо читать.
Аноним 10/10/18 Срд 13:31:14 33986922
>>339859
CMSIS - по сути просто набор определений регистров, чтоб тебе не пришлось в одном контроллере писать значения в TFIT1 и TFIT2, а в другом для той же настройки в TFIT3 и TFIT4, можно с помощью CMSIS в обоих случаях задавать через REGISTER_ZALYPI_1 и REGISTER_ZALYPI_2.

SPL - набор высокоуровневых либ, по сути надстройка над CMSIS, тебе уже не надо вписывать значения в регистры, а просто вызвать функцию с параметрами и она сама их впишет или прочитает. Это говно лишилось поддержки 4-5 лет назад и оставило после себя кучи говна примеров русскоязычного комьюнити, которые теперь бесполезны.

HAL - так как SPL было корявым поделием с кучей багов и проблем переноски кода с одного контроллера на другой, ST создали новый набор либ с учетом всех проебов и он оказался просто 10 из 10, если тебе надо написать что-то сложнее мигания лампочки по таймеру.

LL - низкоуровневый API, который ST выкатили относительно недавно, по сути является аналогом CMSIS, но лучше и полностью совместим с STM32Cube и HAL, тоесть можно использовать в проекте написанном на HAL в качестве оптимизированных вставок.

>>339849
>С аврками Протеус в этом деле все решает
Чет вообще вголос с этого, ведь есть AtmelStudio, купи только программатор нормальный и наслаждайся всеми плюшками бесплатной IDE от производителя микросхем.
Аноним 10/10/18 Срд 14:13:52 33987723
LL.png 81Кб, 818x1492
818x1492
>>339869
>SPL - набор высокоуровневых либ, по сути надстройка над CMSIS
>LL - низкоуровневый API, который ST выкатили относительно недавно, по сути является аналогом CMSIS
Что-то ты странное пишешь. Вот на на картинке код функции из LL, выше код аналогичной функции из SPL. Как говорится, найди 10 отличий (кроме имен). Ну да, записываются чуть разные биты (назначение функций немного отличается). Еще вместо переменных tmpreg в LL используется макрос MODIFY_REG. Но существенных отличий нет.
>по сути является аналогом CMSIS
Вот только как видно из приведенного кода, LL это такая же надстройка над CMSIS как SPL. И LL ничуть не заменяет CMSIS, а наоборот его использует.
Аноним 10/10/18 Срд 14:32:23 33987824
>>339843
>Поморгаешь диолдами и положишь на полку. Анус ставлю.

Ну у меня есть конкретная, промышленная задача под STM. Нужно писать звук с АЦП и передавать в комп. Желательно минимум 8 каналов одновременно. Максимум 16 хотелось бы. Качество звука не волнует. Главное чтобы речь можно было разобрать.
Аноним 10/10/18 Срд 15:13:47 33988125
>>339829
>>339878
Сразу не понял что это именно ты, а то похоже тут пишут уже все вкатывальщики подряд.
Если не делать цифровую фильтрацию, то по вычислительным возможностям слишком жирно для твоих задач, впрочем это не плохо. Немного хуже то, что периферия там сложнее, будет сложнее освоить. Если цифровую фильтрацию не делать, то DSP инструкции тоже почти не пригодятся. Зато АЦП наоборот слабенький, но все равно должно хватить. Насколько я помню, у NXP были микроконтроллеры с более серьезными АЦП, но тебе это вроде не требуется.
Я правильно понял, ты писать на компе собираешься? Тогда суммарная скорость передачи на ПК будет небольшая - 16 бит на канал, частота дискретизации максимум 16 кГц и на 16 каналов - получается 4 МБит/с, это вообще ерунда.
Аноним 10/10/18 Срд 15:40:41 33988326
>Я правильно понял, ты писать на компе собираешься?

Да надо передавать звук из АЦП на комп и там писать

>получается 4 МБит/с, это вообще ерунда.

а COM порт на плате сможет пропустить столько? У него вроде максимальная скорость 128000 байт в секунду.
Аноним 10/10/18 Срд 16:13:11 33988927
>>339883
>а COM порт на плате сможет пропустить столько? У него вроде максимальная скорость 128000 байт в секунду.
На материнской плате компа? По разному, но я больше 921600 бод/с (это 737280 бит/с) я не встречал. А микроконтроллер вполне может несколько мегабит выдать.

У тебя два варианта - USB и Ethernet. На счет USB посоветовать ничего толком не могу, т.к. делал только HID и то давно. Знаю только что есть стандартный аудио класс, но не знаю можно ли в нем сделать столько каналов. Впрочем можно сделать составное USB устройство, т.е. чтобы компьютером виделось как несколько устройств.
Другой способ - это использовать FT232H или другие микросхемы от FTDI. Программно это намного проще, только для компа придется что-то придумывать. Сам я это не делал, но пользовался устройством где они применялись для передачи видео из ПЛИС.
С Ethernet все можно сделать совсем просто. Если воткнуть в сетевуху компа напрямую, то можно обойтись без TCP/IP и слать RAW пакеты. С TCP/IP тоже не сложнее, только требований к микроконтроллеру может быть чуть больше.
Аноним 10/10/18 Срд 23:01:55 33992428
>>339878
Есть же прекрасные мемс-микрофоны с полкой 20-20000 Гц, которые выдают уже цифровой выход правда, нужна обработка фильтром. Один такой даже стоит на stm32f4discovery
Аноним 10/10/18 Срд 23:04:36 33992529
>>339889
> С TCP/IP тоже не сложнее, только требований к микроконтроллеру может быть чуть больше.
Я поднимал lwip стек на m4, работал прекрасно с потоком примерно 10мбит/с. Главное, с буферами не мельчить
Аноним 11/10/18 Чтв 09:55:23 33997530
https://www.youtube.com/watch?v=VYhAGnsnO7w
Пссст, там Дейв создал хайп про китайские МК по 3 цента в розницу. На сайте производителя есть IDE и шиты на ангельском. Реально найти и купить программатор. Т.е. все есть, только разбирайся.
Фанатики STM8, по 40 центов за штуку, массово режут себе вены и вешаются.
STM32-господа тоже в легком недоумении от китайского чуда.
Но есть один подводный камень: все эти мк однократно программируемые.
Аноним 11/10/18 Чтв 10:20:24 33997831
>>339975
И это еще что, на том сайте есть китайские 16-битные ЦАПы по 30 центов и 16-битные АЦП по 50 центов... Вот это реально ШОК. Полагаю, ОП ёбнется под стол от охуения.
Аноним 11/10/18 Чтв 10:22:19 33997932
>>339975
Ну а смысл? Будто есть разница для единичных самоделок - 100 рублей или два рубля. Обычно в любом изделии, микроконтроллер это не самое дорогое, если это конечно не мигалка одним светодиодом. Или ты свои поделки делаешь сериями по тысяче штук?
Тематике треда тоже не соответствует. Это восьмибитный микроконтроллер, а тут тред про STM32.
Аноним 11/10/18 Чтв 10:29:28 33998133
>>339979
Ну, вообще в видео речь шла про массовое производство. Но народ все-равно набежал. Забавно, что вскоре после выхода видео все запас тех мк резко раскупили.
Тем не менее, магаз с китайскими брендами - это охуенная находка.
>>339978
>16-битные АЦП по 50 центов
24-битные, фикс
Есть даже дешевле.
Аноним 11/10/18 Чтв 10:48:25 33998234
>>339978
>Полагаю, ОП ёбнется под стол от охуения.
Полагаю ему будет без разницы. Тем более ты наверное про одноканальные или двухканальные пишешь. На диджикее PCM1681PWP с восемью каналами стоит 4 доллара поштучно.
А еще, внезапно, разрядность и частота дискретизации - это не единственные характеристики АЦП.

>>339981
>Тем не менее, магаз с китайскими брендами - это охуенная находка.
Ты свои самоделки делаешь сериями по несколько тысяч штук?
Аноним 12/10/18 Птн 09:52:22 34011735
Есть вопрос по теме. Предложили работу с программированием STM32 и обработке инфы с него на компе, построение графиков и прочее. Контора вроде занимается машиностроением. Глубокими знаниями по теме я не обладаю. До этого только занимался PIC-контроллерами на поверхностном уровне. И тут вопросы?
1)Тяжело ли новичку адаптироваться к сфере?
2)Актуально ли вообще в 2018 году вкатываться в встраивыемые системы?
3)Стоит ли заниматься этим, если вообще нет знаний по электронике дальше закона ОМА? Прогать под железо нравиться на отладочниках, но не нравиться разводка плат, расчёты электротехнические и прочее...
4)Насколько это творческая деятельность и насколько оплачиваемая? Куда может расти разработчик дальше?
Аноним 13/10/18 Суб 05:01:55 34025836
>>340117
Изучаю геймдев и параллельно веб-макакинг, ещё в параллель на онлайн-курсы ардуино записался. Там видно будет когда всё развалится.
Аноним 13/10/18 Суб 05:56:17 34025937
15363799073970.jpg 26Кб, 347x330
347x330
>>340258
>онлайн-курсы ардуино записался
Аноним 13/10/18 Суб 12:47:02 34028738
>>339689
Ты крутой. А мои эстээмки повторили путь ардуины. Покупка - блинк - ящик.
Аноним 13/10/18 Суб 14:06:43 34029539
>>340117
>PIC-контроллерами
Изучал в институте ассемблер PIC18. Угадал?
Аноним 13/10/18 Суб 14:38:07 34029940
>>340287
У меня создалось впечатление, что он тоже особо плотно не занимается. Фотки одни и те же, готовых девайсов не показывал. Наверняка ошибаюсь, но впечатление создалось именно такое.
Аноним 13/10/18 Суб 15:54:37 34030341
>>339877
Ок ладно, согласен, LL не заменяет CMSIS, но нет особой разницы использовать чистый CMSIS или LL, который используется для инициализации периферии, а потом код пишется снова на CMSIS. Я например вообще HAL'о адепт, не понимаю почему его постоянно поливают грязью в ру комьюнити, при том что за рубежом все пользуются и довольны кроме небольшого количества заядлых байтодрочеров.
Аноним 13/10/18 Суб 16:04:23 34030442
>>340299
Та нечего показывать, разработал 2,5 девайса, собираю и продаю их (в течении пары дней паяю платы и подготавливаю корпуса, которые продаю за 1-2 недели, остальное время кинчики смотрю или играю - на жизнь и обновление пеки/смартфона каждые пару лет хватает), последний год ничего нового на STM32 не писал, кроме ковыряния всяких новых датчиков и дисплеев с али. Пару раз в месяц достаю с ящика ESP32 в ожидании того, что наконец-то запилили нормальные библиотеки для асинхронного веб сервера под ESP-IDF...
Аноним 13/10/18 Суб 17:13:30 34031143
27854781465368.jpg 59Кб, 900x616
900x616
>>340304
Найс. Тоже, видимо, созрел до этого. Осталось только родить что-нибудь стоящее.
Аноним 14/10/18 Вск 20:47:03 34045344
>>340295
MPASM и поверх адаптированный под них СИ. Вроде во многих универах это распространённый набор. Правда умирающий.
Аноним 14/10/18 Вск 22:59:04 34048645
Аноним 16/10/18 Втр 02:56:07 34069346
>>340304
Что за девайсы? Может дашь каких советов, как найти свою нишу? Я хиккан-программист-фрилансер, имею средненькие знания электроники, паю махарайки для себя. Крутится идея создать стартап какой-то или типа того, в общем делать реальные вещи.
Аноним 16/10/18 Втр 08:03:04 34069947
>>340303
>Я например вообще HAL'о адепт, не понимаю почему его постоянно поливают грязью в ру комьюнити, при том что за рубежом все пользуются и довольны кроме небольшого количества заядлых байтодрочеров.

Потому что кроилово на себестоимости и вытекающая из него байтооптимизация головного мозга.
Аноним 16/10/18 Втр 17:02:57 34078348
>>340486
>>340693
Не хочу палить то что я делаю, потму что довольно востребованная херовина среди обычных людей и продается изи.

Двигайся в направлении бытовых систем автоматизации, которые будут дешевые по себестоимости и при этом не будет особо аналогов, кроме китайского говна с али. Например простой контроль температуры и влажности при помощи тэна/лампы и увлажнителя/осушителя - он лежит в основе инкубаторов, сушилок, хранилищ продуктов, климат контроля в доме. Добавляешь к этому свои фишки которые нужны пользователям или которых еще никто не делал и у тебя уже несколько устройств для разной целевой аудитории но с одинаковым принципом работы и элементной базой.
Аноним 20/10/18 Суб 17:06:16 34141249
image.png 84Кб, 563x513
563x513
Раз уж такой тред, спрошу: пытаюсь вкатиться в STM32F407VG, хочу отправить пару байтиков по USART. Но проблема в том, что нихуя не работает.

https://ideone.com/tUfssc

Что делаю:

17-30: инициализирую периферию
32: подключаю USART6_TX к PC6
34-42: светодиодик для индикации
44-50: настройка PC6 (AF)
52-56: инициализация USART6
58-64: шлю байтик

Так вот, светодиод моргает, но PC6 как сидит в +3В, так и сидит, никаких данных не передает. В чем косяк может быть? Собираю arm-gcc-none-eabi в linux x64, шью через openocd.
Аноним 20/10/18 Суб 18:16:38 34141850
>>341412
>никаких данных не передает
Осциллографом или логическим анализатором смотрел? Может у тебя скорость неправильная?

Возможно у тебя проблема из-за неправильного определения тактовой частоты. Я давно ничего не делал с STM32, могу ошибаться. Если я правильно помню, то в дефолтном startup файле вызывается функция SystemInit (это не только у STM32, кажется это требование CMSIS), которая включает тактирование от кварца. Функция USART_Init, для того чтобы правильно посчитать делители, определяет тактовую частоту с помощью еще одной функции, которая использует дефайны с частотами генераторов, которые определяются (если не были определены) в stm32f4xx.h.

Наверное тебе следует глобально определить HSE_VALUE. Ну и еще ты зря используешь SPL.
Аноним 20/10/18 Суб 19:31:02 34142951
image.png 95Кб, 737x525
737x525
image.png 20Кб, 721x595
721x595
>>341418
Осциллографом, пик 2. Данные должны иди через канал 1 (желтый) сразу после включения светодиода (канал 2, синий). Тактовая частота вроде верно настроена, пик 1.
Аноним 20/10/18 Суб 19:50:30 34143152
image.png 150Кб, 1058x534
1058x534
>>341418
>>341429
Я напал на след и, кажется, ты прав. Почему-то все частоты кроме SYSCLK стоят в 0.
Аноним 20/10/18 Суб 20:03:35 34143753
image.png 23Кб, 207x442
207x442
Все, решилась проблема. В USART_Init вызывалась RCC_GetClocksFreq, которая лезла в глобально объявленный массив APBAHBPrescTable. А там был мусор. Убрал модификаторы volatile и все заработало. Теперь вопрос к знатокам - какого хуя?
20/10/18 Суб 20:04:23 34143854
image.png 19Кб, 213x451
213x451
APBAHBPrescTable здорового человека.
Аноним 20/10/18 Суб 20:52:24 34144055
>>341437
>>341438
Это скорее вопросы по стандарту Си или к компилятору. Разве оно там не static volatile const в результате получается?
Попробуй через objdump -t посмотреть в каком сегменте оказывался этот массив.
20/10/18 Суб 21:11:22 34144156
image.png 25Кб, 676x114
676x114
>>341440
я немного ошибся, массивов два, один объявлен статически в XXX_rcc.c (APBAHBPrescTable), второй - глобально в system_XXX.c (AHBPrescTable). если вернуть все как было, то AHBPrescTable попадает в секцию .data в бинарнике.
Аноним 20/10/18 Суб 21:12:11 34144257
>>341441
Ах да, в рабочем состоянии он в секции .text
Аноним 20/10/18 Суб 22:27:04 34144758
>>341442
>>341441
Возможно ты это и так знаешь, но на всякий случай скажу. Очевидно, что секция .data должна инициализироваться в самом начале из флешки. Код этой инициализации находится в startup файле. И в скрипте линкера это тоже должно быть отражено.
Если все переменные из секции .data не инициализируются, то это может быть из-за неправильного startup или скрипта линкера.
Аноним 13/11/18 Втр 00:16:35 34508559
Full HD 1080p.jpg 2Кб, 300x300
300x300
Хватит ли ресурсов контроллера, чтобы захватывать и слегка обрабатывать (смотреть среднюю яркость и превалирующий цвет) цветное аналоговое видео PAL или NTSC?
Аноним 13/11/18 Втр 14:43:37 34516160
>>345085
>чтобы захватывать и слегка обрабатывать
raspberry pi zero w
Аноним 13/11/18 Втр 15:57:37 34517261
>>345085
Цвет и яркость по всему кадру? Или по краям экрана? Мне кажется что микроконтроллер тут лишний, хватит какой-нибудь телевизионной микросхемы TDA для выделения цветоразностных сигналов. Для получения средней яркости так вообще достаточно лишь пропустить привязанный по уровню видеосигнал через RC-цепочку.
На микроконтроллере выделить цветоразностные сигналы должно быть затруднительно, как минимум потребуется довольно высокая частота дискретизации.
243243 5464465 13/11/18 Втр 18:47:24 34518962
342432
Аноним 13/11/18 Втр 19:20:15 34520063
>>345172
Спасибо. Немного не так выразился. Нужно разбить кадр на участки квадратно-гнездовым способом (т.е. что-то типа таблицы) и определить средние цвет и яркость каждого участка (ячейки таблицы).
Аноним 13/11/18 Втр 21:09:34 34523864
>>345200
Типичная задача для плис
Аноним 13/11/18 Втр 21:27:12 34525165
>>345238
Ерунду выдумываешь. Достаточно лишь получить цветоразностные сигналы на какой-нибудь телевизионной микросхеме, пропустить их через ФНЧ (в соответствии с ячейками таблицы) и в нужные моменты времени запустить АЦП. Длительность строки 64 мкс, даже на ардуине можно сделать запуск АЦП в нужный момент, если конечно ячейки не слишком мелкие.
Это скорее задача для компьютера (может одноплатника) с easycap для видеозахвата.
Аноним 14/11/18 Срд 07:07:20 34531166
.jpg 1129Кб, 2048x1232
2048x1232
>>345251
>на какой-нибудь телевизионной микросхеме
Как-то так? Нет уж, лучше на плис.
Аноним 14/11/18 Срд 23:06:28 34538467
Так, я тут заказал простейшую stm32f103c8-базед плату и ст-линк в2 прошивальщик и надеюсь на то, что первое время поучусь без обвязки контроллера. Нормально жи? Я просто хочу с ним пообщаться с пекарни типа "посчитай мне корень из пи". Мне кажется, что после традиционного погромирования так проще будет.
Я вообще адекватно задачи ставлю по вкату?
Потом, если чё, докуплю макет за 200 рублёв с диодами разноцветными.
Аноним 15/11/18 Чтв 14:34:41 34552668
>>345384
Думаю, что это гораздо адекватнее чем покупать пачку модулей или всякие демоплаты типа дискавырей. Лично мне идеальным видится вариант покупки под конкретную задумку, когда сначала придумываешь охуительный велосипед, а затем подбираешь под него железо, которое и осваиваешь в процессе.
мимо
Аноним 15/11/18 Чтв 17:58:36 34554769
>>345526
>придумываешь охуительный велосипед
и начинаешь ЛУТить до дыму, запарывать детальки, пока Дискавери-боярин занимается написанием кода.
Аноним 15/11/18 Чтв 18:06:10 34554970
>>345547
Да, хотеть писать код.
Так что, в принципе кроме стлинка ничего не надо?
Вернуть на комп результат вычислений и бенчить МИПСы можно будет?
Аноним 15/11/18 Чтв 18:52:18 34556371
>>345547
>Дискавери-боярин занимается написанием кода.
Ты хотел сказать написанием хеллоуворлдов?

>>345549
Стоит еще взять переходник USB-UART.
Аноним 15/11/18 Чтв 19:04:37 34556672
>>345547
>Дискавери-боярин занимается написанием кода
Велосипед потом поедет по назначению, а дискавери отправится в небытие. Это примерно как делать детей или дрочить.
Аноним 15/11/18 Чтв 19:28:52 34557073
1542113727-352f[...].jpeg 41Кб, 700x438
700x438
>>345566
>Велосипед потом поедет в помойку,
а Дискавери-боярин будет отлаживать код вывода на дисплей и работу с памятью. Данную связку велосипедо-нищенка не сможет спаять своими кривыми ручонками и забросит затею. А почтенный Дискавери-господин закончит написание кода, отрисует схему своего йоба-устройства, спокойно сочинит печатку и закажет ее изготовление китайским мастерам. Затем спаяет свое устройство и зальет в него отлаженный и рабочий код.

Аноним 15/11/18 Чтв 19:38:07 34557174
>>345570
>дисплей и работу с памятью
То есть во всех твоих самоделках, кроме микроконтроллера, дисплея, памяти и может быть батарейки, ничего более существенного нет?
Аноним 15/11/18 Чтв 19:38:55 34557275
7546459748676479.jpg 55Кб, 589x545
589x545
>>345570
Так, а что с дискавырей станет по итогу?
>нищенка
Щас бы всерьёз думать, что у кого-то нет денег на дисковырь.
Аноним 15/11/18 Чтв 20:07:26 34557876
>>345571
>ничего
Ну чому ты так? Есть памяти 8Мб, есть GPRS-модем, есть порт Ethernet, 7" touch-LCD 800х640
Аноним 15/11/18 Чтв 20:53:42 34559877
>>345578
Ну а смысл делать такое на STM32? Не проще ли и дешевле взять одноплатный компьютер?
Толку от дискавери не так много. Допустим захочется отмакетировать синтезатор частоты для радиоприемника или часы на неонках, сильно поможет дискавери по сравнению с простейшей платой? Или взять к примеру задачу ОП-а, ему будет какой-то толк от дискавери только если он решит использовать ethernet.
Аноним 16/11/18 Птн 08:03:54 34569678
>>345563
> usb-uart
Пичаль, а что тогда вообще st-link v2 делает? Я читал, он и шьёт, и дебажит.
Т.е. доступ к памяти МК у него есть.
Так почему бы через него не возвращать результаты?
Аноним 16/11/18 Птн 09:16:22 34569979
>>345696
>Я читал, он и шьёт, и дебажит.
>Т.е. доступ к памяти МК у него есть.
Это все верно. Но printf-ами удобнее срать в UART. В отладчик тоже можно, например через SWO или semihosting, но по моему это не так удобно. Так что USB-UART дополняет отладчик.
Аноним 16/11/18 Птн 13:49:21 34571180
>>345699
Можешь нищепример кинуть?
Просто плата 120, отладчик столько же, а эти уарты нахожу по 800.
Проще тогда борду докупить за 200 и моргать диодами, так там ещё фоторезюки в комплекте.
Аноним 16/11/18 Птн 13:50:07 34571281
>>345711
> борду за 200
Сиранул, це макет, нувыпонели.
Аноним 16/11/18 Птн 14:35:36 34571882
Screenshot2018-[...].png 430Кб, 1080x1920
1080x1920
Screenshot2018-[...].png 558Кб, 1080x1920
1080x1920
>>345711
Эт что ты за 800 нашел?
Пик1 можно брать, или на chg340 что-то, но лучше пик2 - им можно как gpio/i2c/spi over usb пользоваться.
Аноним 16/11/18 Птн 14:52:57 34572183
Аноним 27/11/18 Втр 00:40:41 34714684
shutterstock909[...].jpg 17Кб, 300x225
300x225
Пагни, а можно ли сделать на платке stm32f103c8t6 что-то вроде SPI сниффера или примитивный логический анализатор? Чтобы просто послушать SPI.
Аноним 27/11/18 Втр 06:33:06 34715885
>>347146
>примитивный логический анализатор
На Хабаре была статья про логаналайзер на стм32ф4ххх, думаю можно адаптировать под твои нужды. Гугл ит!
Аноним 27/11/18 Втр 07:44:33 34716186
>>347146
>SPI
>serial pereprherial interface
>SERIAL
Ну почему в вопросе опять ответ, а задавший его этого не видит? Конечно можно! Главное не мешай ему работать и всё. Тебе надо слушать MOSI, MISO по тактам через SCK.
Аноним 27/11/18 Втр 07:50:27 34716487
154110682114936[...].jpg 180Кб, 672x1000
672x1000
>>347158
У него там осциллограф с аналоговой частью. Мне просто надо посмотреть, что стм8 передает модулю нрф24.
Аноним 27/11/18 Втр 08:52:24 34716788
ra - STM32 тред[...].png 1796Кб, 1289x780
1289x780
>>345311
Где такой булыжник купить? Помню батя паял телевизоры и постоянно тыкал паяльником в него. А как он называется не знаю. Ищу его лет 10 уже.
Аноним 27/11/18 Втр 10:23:18 34717889
Аноны, есть STM32F103 на Cortex M3, есть SSD1306. как реализовать прошивку, чтобы вывести на дисплей элементарное анимированное изображение с ПК?
Аноним 27/11/18 Втр 10:47:41 34718190
Аноним 27/11/18 Втр 11:03:40 34718291
>>347161
>Тебе надо слушать MOSI, MISO по тактам через SCK.
Я только вчера с ардуины слез. Всё в теории выглядит довольно очевидно. Но где посмотреть пример кода для стм?
Аноним 27/11/18 Втр 11:10:39 34718392
Аноним 27/11/18 Втр 11:12:30 34718493
>>347164
А что ещё может STM32 передавать nRF24I01+ , кроме команд и данных? Или тебе лень проверять ВЕСЬ ЭФИР, НА ВСЕХ АДРЕСАХ И КАНАЛАХ? А ведь там 5 байт на адрес, лол.
Аноним 27/11/18 Втр 12:38:50 34719194
Аноним 27/11/18 Втр 17:39:30 34726895
>>339005 (OP)
Аноны, купил на али stm32f4.., до этого только с авр дело имел.
Битый час уже пытаюсь лед зажечь. Что я делаю не так? https://pastebin.com/K5FH5SCr
Аноним 27/11/18 Втр 18:15:23 34727496
>>347268
Не игрался с 40x серией, но ради интереса попробую помочь.
1) Вроде бы светодиоды на той плате сидят начиная с 12. Т.е. ты должен написать: GPIOD->MODER |= GPIO_MODER_MODE12_0;
2) Для светодиода можешь не трогать GPIOD->OSPEEDR
3) GPIOD->PUPDR тоже, ибо там 0 должны быть
4) Ну и далее уже GPIOD->ODR = GPIO_ODR_ODR12; (вроде, так, но ты понял в общем).
5) Если светодиод не зажёгся, возможно, следует писать 0 для зажигания(Это зависит от того где он сидит - на минусе или плюсе).
Аноним 27/11/18 Втр 18:24:47 34727597
>>347268
Для начала выкинул бы строчку GPIOD->OTYPER &= ~(GPIO_OTYPER_OT0);
Заглянул в документацию (ни камня, ни название доски) что висит на выводе PD0 и чем зажигать светодиод (есть вариант что его надо нулем зажигать). Без схемы ловить нечего.
Аноним 27/11/18 Втр 19:41:53 34728598
STM32F407ZET6de[...].jpg 548Кб, 1500x1000
1500x1000
>>347274
>>347275
Доска на пике.
Использую свой внешний LED, хочу его через пин зыжечь, так что должно с любого пина работать, или я ошибаюсь? Собираю из под линукса с помощью arm-none-eabi-gcc, флешу через st-link v2. Флешится всё без проблем (по крайней мере так говорит мне программер). Говорит ли это о том, что я правильно компилирую? Может я там флагов каких-нибудь левых понапихал или еще чего...
Аноним 27/11/18 Втр 19:50:10 34728699
>>347285
Вот мэйкфайл вдогонку pastebin.com/HaR59pbT
Аноним 27/11/18 Втр 19:51:48 347287100
>>347285
Очевидно же, что если ты написал: "GPIOD->MODER |= GPIO_MODER_MODE0_0;" и так дальше всё, то у тебя светодиод будет зажигаться только от pd0.
Аноним 27/11/18 Втр 19:56:25 347288101
led4.png 3Кб, 189x184
189x184
>>347285
Попробуй перебить свой код на портА вывод 6 или 7. Обрати внимание - светодиоды зажигаются НУЛЕМ, те по идее сразу засветится после строчки "GPIOA->MODER |= GPIO_MODER_MODE6_0;".
Кейл говорит код компилится в такой набор инструкций. По ним можно примерно сравнить компилируемость кода.
;;;3 int main(void)
000000 4813 LDR r0,|L1.80|
;;;4 {
;;;5
;;;6 RCC->AHB1ENR |= RCC_AHB1ENR_GPIODEN;
000002 6800 LDR r0,[r0,#0]
000004 f0400008 ORR r0,r0,#8
000008 4911 LDR r1,|L1.80|
00000a 6008 STR r0,[r1,#0]
;;;7 GPIOD->MODER |= GPIO_MODER_MODE0_0;
00000c 4811 LDR r0,|L1.84|
00000e 6800 LDR r0,[r0,#0]
000010 f0400001 ORR r0,r0,#1
000014 490f LDR r1,|L1.84|
000016 6008 STR r0,[r1,#0]
;;;8 GPIOD->OSPEEDR |= (GPIO_OSPEEDR_OSPEED0);
000018 480e LDR r0,|L1.84|
00001a 3008 ADDS r0,r0,#8
00001c 6800 LDR r0,[r0,#0]
00001e f0400003 ORR r0,r0,#3
000022 490c LDR r1,|L1.84|
000024 3108 ADDS r1,r1,#8
000026 6008 STR r0,[r1,#0]
;;;9 GPIOD->OTYPER &= ~(GPIO_OTYPER_OT0);
000028 1f08 SUBS r0,r1,#4
00002a 6800 LDR r0,[r0,#0]
00002c f0200001 BIC r0,r0,#1
000030 1f09 SUBS r1,r1,#4
000032 6008 STR r0,[r1,#0]
;;;10 GPIOD->PUPDR &= ~(GPIO_PUPDR_PUPD0);
000034 4807 LDR r0,|L1.84|
000036 300c ADDS r0,r0,#0xc
000038 6800 LDR r0,[r0,#0]
00003a f0200003 BIC r0,r0,#3
00003e 4905 LDR r1,|L1.84|
000040 310c ADDS r1,r1,#0xc
000042 6008 STR r0,[r1,#0]
;;;11
;;;12 GPIOD->ODR = 1;
000044 2001 MOVS r0,#1
000046 4903 LDR r1,|L1.84|
000048 3114 ADDS r1,r1,#0x14
00004a 6008 STR r0,[r1,#0]
;;;13 while (1) {
00004c bf00 NOP
|L1.78|
00004e e7fe B |L1.78|
;;;14
;;;15 }
;;;16 }
ENDP
Аноним 27/11/18 Втр 20:11:26 347289102
>>347288
Безрезультатно. Есть предположение, что борда поломаная.
Аноним 27/11/18 Втр 20:16:53 347293103
>>347289
Попробуй залить этот кекс (светодиод PA6 на плате). Его исходник (включая стартап код):
#include <stm32f407xx.h>
int main(void)
{
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;
GPIOA->MODER |= GPIO_MODER_MODE6_0;
GPIOA->OSPEEDR |= (GPIO_OSPEEDR_OSPEED6);
GPIOA->ODR = 0x0000;
while (1) {
}
}
(в состоянии же скопипастить текст ниже в файл и прошить его?)
:020000040800F2
:10000000600600200D020008150200081702000813
:10001000190200081B0200081D0200080000000071
:100020000000000000000000000000001F020008A7
:100030002102000800000000230200082502000839
:1000400027020008270200082702000827020008EC
:1000500027020008270200082702000827020008DC
:1000600027020008270200082702000827020008CC
:1000700027020008270200082702000827020008BC
:1000800027020008270200082702000827020008AC
:10009000270200082702000827020008270200089C
:1000A000270200082702000827020008270200088C
:1000B000270200082702000827020008270200087C
:1000C000270200082702000827020008270200086C
:1000D000270200082702000827020008270200085C
:1000E000270200082702000827020008270200084C
:1000F000270200082702000827020008270200083C
:10010000270200082702000827020008270200082B
:10011000270200082702000827020008270200081B
:10012000270200082702000827020008270200080B
:1001300027020008270200082702000827020008FB
:1001400027020008270200082702000827020008EB
:1001500027020008270200082702000827020008DB
:1001600027020008270200082702000827020008CB
:1001700027020008270200082702000800000000EC
:10018000270200082702000800F002F800F02EF80D
:100190000AA090E8000C82448344AAF10107DA45E2
:1001A00001D100F023F8AFF2090EBAE80F0013F006
:1001B000010F18BFFB1A43F001031847B0010000FC
:1001C000C00100000023002400250026103A28BFAB
:1001D00078C1FBD8520728BF30C148BF0B607047B9
:1001E0001FB500F0BDF81FBD10B510BD00F031F80F
:1001F0001146FFF7F5FF00F099F800F04FF803B44F
:10020000FFF7F2FF03BC00F057F8000009488047F1
:1002100009480047FEE7FEE7FEE7FEE7FEE7FEE7E8
:10022000FEE7FEE7FEE7FEE704480549054A064B00
:1002300070470000C9020008890100086000002022
:1002400060060020600200206002002070477047B6
:100250007047754600F02CF8AE46050069465346D7
:1002600020F00700854618B020B5FFF7DDFFBDE898
:1002700020404FF000064FF000074FF000084FF00D
:10028000000B21F00701AC46ACE8C009ACE8C0099E
:10029000ACE8C009ACE8C0098D46704710B504460B
:1002A000AFF300802046BDE81040FFF7A8BF000074
:1002B000004870470000002001491820ABBEFEE74F
:1002C00026000200704700001448006840F47000E7
:1002D000124908601248006840F0010010490860A7
:1002E00000200F49083108600D4800680D4908409A
:1002F0000B4908600C48091D0860081F006820F4BD
:100300008020091F0860002005490C3108604FF06B
:1003100000600249803908607047000088ED00E005
:1003200000380240FFFFF6FE103000240A48006843
:1003300040F00100084908600848006840F4805017
:10034000064908600846806840F4405088600020F4
:10035000486100BFFEE70000303802400000024064
:100360004FF04070E1EE100A704700007C03000877
:0C0370000000002060060000C40100082E
:040000050800018965
:00000001FF

Аноним 27/11/18 Втр 20:27:59 347295104
123.png 9Кб, 322x159
322x159
>>347293
Та плата, что на прошлом моём пике, оказалась чуть другой. Нашел схему своей. Можешь для PF9 хекс запилить, пожалуйста? Прошил своим - опять ноль эмоций.
Аноним 27/11/18 Втр 20:34:04 347296105
>>347295
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOFEN;
GPIOF->MODER |= GPIO_MODER_MODE9_0;
GPIOF->OSPEEDR |= (GPIO_OSPEEDR_OSPEED9);
GPIOF->ODR = 0x0000;

:020000040800F2
:10000000600600200D020008150200081702000813
:10001000190200081B0200081D0200080000000071
:100020000000000000000000000000001F020008A7
:100030002102000800000000230200082502000839
:1000400027020008270200082702000827020008EC
:1000500027020008270200082702000827020008DC
:1000600027020008270200082702000827020008CC
:1000700027020008270200082702000827020008BC
:1000800027020008270200082702000827020008AC
:10009000270200082702000827020008270200089C
:1000A000270200082702000827020008270200088C
:1000B000270200082702000827020008270200087C
:1000C000270200082702000827020008270200086C
:1000D000270200082702000827020008270200085C
:1000E000270200082702000827020008270200084C
:1000F000270200082702000827020008270200083C
:10010000270200082702000827020008270200082B
:10011000270200082702000827020008270200081B
:10012000270200082702000827020008270200080B
:1001300027020008270200082702000827020008FB
:1001400027020008270200082702000827020008EB
:1001500027020008270200082702000827020008DB
:1001600027020008270200082702000827020008CB
:1001700027020008270200082702000800000000EC
:10018000270200082702000800F002F800F02EF80D
:100190000AA090E8000C82448344AAF10107DA45E2
:1001A00001D100F023F8AFF2090EBAE80F0013F006
:1001B000010F18BFFB1A43F001031847B8010000F4
:1001C000C80100000023002400250026103A28BFA3
:1001D00078C1FBD8520728BF30C148BF0B607047B9
:1001E0001FB500F0C1F81FBD10B510BD00F031F80B
:1001F0001146FFF7F5FF00F099F800F04FF803B44F
:10020000FFF7F2FF03BC00F057F8000009488047F1
:1002100009480047FEE7FEE7FEE7FEE7FEE7FEE7E8
:10022000FEE7FEE7FEE7FEE704480549054A064B00
:1002300070470000C9020008890100086000002022
:1002400060060020600200206002002070477047B6
:100250007047754600F02CF8AE46050069465346D7
:1002600020F00700854618B020B5FFF7DDFFBDE898
:1002700020404FF000064FF000074FF000084FF00D
:10028000000B21F00701AC46ACE8C009ACE8C0099E
:10029000ACE8C009ACE8C0098D46704710B504460B
:1002A000AFF300802046BDE81040FFF7A8BF000074
:1002B000004870470000002001491820ABBEFEE74F
:1002C00026000200704700001448006840F47000E7
:1002D000124908601248006840F0010010490860A7
:1002E00000200F49083108600D4800680D4908409A
:1002F0000B4908600C48091D0860081F006820F4BD
:100300008020091F0860002005490C3108604FF06B
:1003100000600249803908607047000088ED00E005
:1003200000380240FFFFF6FE103000240C48006841
:1003300040F020000A4908600A48006840F4802024
:100340000849086007480830006840F44020054923
:1003500008310860002003491431086000BFFEE73F
:1003600030380240001402404FF04070E1EE100AB5
:1003700070470000840300080000002060060000B1
:04038000C4010008AC
:040000050800018965
:00000001FF
Аноним 27/11/18 Втр 20:37:15 347297106
>>347296
Спасибо тебе, анон, большое, но не работает. На сегодня брошу это дело.
Аноним 27/11/18 Втр 20:57:13 347299107
f429.jpg 1642Кб, 3264x2448
3264x2448
>>347297
На 429 камне стартанул код. Здесь PG14 зажигается единицей. Пикрил горит красным и сеанс отладки за заднем фоне. Мне кажется как-то не так прошиваешь хекс или страницы памяти не чистишь. В самом дубовом варианте попробуй через uart прошить - кажется бут0=1 , бут1=0 и через какую-то утилиту от st можно по компорту заливать прошивку. Нужен преобразователь уровней, напрямую к компорту подключать нельзя. Нужен как минимум usb-uart ttl преобразователь.
Аноним 27/11/18 Втр 21:00:19 347300108
>>347296
Вы на каком-то неправильном наречии базарите с контроллером. Используйте HAL и не ебите себе моск
Аноним 27/11/18 Втр 21:02:32 347302109
>>347297
Есть один вариант на проверку..
"install: main.bin
st-flash write main.bin 0x8000000"
Обращаем внимание - тут бин файл указываем, а тебе кидался хекс. Использовал внешнюю программу чтобы из HEX получить BIN? Кажется в этом косяк. Так и гуглить hex2bin.exe - старая консольная программка и обратная ей bin2hex.
Аноним 27/11/18 Втр 21:10:34 347303110
Аноним 27/11/18 Втр 21:12:05 347304111
>>347302
а в хекс через всё тот же arm-none-eabi-objcopy, только с ihex вместо binary
Аноним 27/11/18 Втр 21:17:59 347305112
>>347303
> st-flash хексы тоже кушает
"Flash binary files to arbitrary sections of memory, or read arbitrary addresses of memory out to a binary file." - четко же написано что двоичные файлы кушает, а шестнадцатеричные - не файлы, а размеры и смещения.

Из лога компиляции
linking...
Program Size: Code=496 RO-data=408 RW-data=0 ZI-data=1632
FromELF: creating hex file...
На диске test.hex занимает 2600 байт, а не полкилобайта. Преобразуй HEX в BIN и еще раз попробуй.
Аноним 27/11/18 Втр 21:23:04 347306113
>>347303
Еще мелочь - (как минимум в Keil) - после заливки прошивки (flash->download) ничего не происходит до тех пор, пока руками камень не перезагрузишь. Те или ресет на нем нажать или по питанию передернуть. Ребут после заливки делал?
Аноним 28/11/18 Срд 00:54:08 347318114
Кста, раз уж тут про хэллоуворды спрашивают, я тоже спрошу. Есть ли разница в форме импульсов ШИМ при использовании таймера и простого ногодрыга? Реально ли на stm32f103c8t6 разогнаться на частоту, хотя бы 2-х мегагерц? В регистрах то максимальная скорость 50мгц проскакивает, но вот что она значит и не будут ли фронты завалены?
Аноним 28/11/18 Срд 06:06:11 347330115
mco.png 17Кб, 602x253
602x253
>>347318
> Есть ли разница в форме импульсов ШИМ при использовании таймера и простого ногодрыга?
Что GPIO, что Timer используют одинаковый тип выхода - Push-Pull. Разницы нет.
> не будут ли фронты завалены?
Зависит от емкости того, что подключено к выводу. Чем больше емкость, тем больше будут завалены и искажены. Как вариант можно взять только один вывод - MCO, на который выводить системную тактовую частоту. Настроек нет, доступен только меандр и с жестко заданной частотой.
Аноним 28/11/18 Срд 07:31:08 347339116
1.png 2Кб, 287x76
287x76
28/11/18 Срд 14:12:25 347361117
>>339689

Привет, напиши мне в личку или на почту tyler.harper, есть тема.
28/11/18 Срд 14:13:52 347362118
>>347361

На эту почту tyler.harper@mail.ru
Аноним 28/11/18 Срд 15:43:28 347367119
Лень гуглить@Спрошу анона
STM32F407. На какие пины можно выставлять прерывания? Если на все, то как сконфигурировать прерывания? У меня все кроме PA0 не дают повесить на себя прерывания в кьюбе.
Аноним 28/11/18 Срд 15:56:15 347370120
>>347367
По даташиту на (почти) любую ногу можно повесить. Единственное что есть аццкая подстава - нельзя получить более 16 внешних прерываний, тк прерывание от PA6 PB6 PC6.. Px6 - это условно одно и то же прерывание и слушается только один порт. Что бы получить все 16 прерываний - нужны разные выводы портов от 0 до 15, сам порт (A-H) не важен (те например PA9 PB4 PC0 PG5.. - уже 4 прерывания).
Аноним 28/11/18 Срд 16:19:56 347376121
>>347370
Забей на кукареканья шизиков-HALовцев, CMSIS и подобных - тебе нужны регистры:
SYSCFG_EXTICRх - задается какой порт слушается и какой вывод (всего 4 регистра, в каждом 4 линии - нужно указывать с какого порта слушать)
EXTI_IMR - разрешить прерывания с линии (0-15)
EXTI_RTSR - какие линии (0-15) должны вызывать прерывание по ВОСХОДЯЩЕМУ фронту (0->1)
EXTI_FTSR - какие линии (0-15) должны вызывать прерывание по НИСХОДЯЩЕМУ фронту (1->0)
EXTI_PR - записью 1 сбрасывать флаг сработки прерывания (из обработчика или из основного цикла, если просто смотришь - произошло прерывание или нет).

Регистрация/разрешения прерывания в NVIC NVIC_EnableIRQ(EXTI1_IRQHandler); - На первые 5 прерываний (0-4) индивидуальные обработки, далее сгруппированы по 5 штук EXTI9_5_IRQHandler и EXTI15_10_IRQHandler.
Глобальное разрешение прерываний __enable_irq();
Настойки GPIO не трогать, они должны оставаться входами (подтяжка по желанию).
Аноним 28/11/18 Срд 16:55:20 347384122
Нашёл в кубе как выставить прерывания на пины, тупанул изначально.
Мне нужно записывать сигнал, в тот момент когда он изменяется на пинах. Попробовал пока послать на него I2C, но почему-то либо вешается ардуино, с которой посылаю, либо просто прерывания не срабатывают.
>>347376
Вроде бы я и понял, что ты мне описал, а вроде бы и нет.
Как понять какая линия к какому входу подведет и чем это отличается от 16 линий, про которые сказал >>347370-анон?
Могу ли я назначить прерывания более чем на 16 пинов, и если могу, то при пересечении двух пинов с противоположными подтяжками/уровнями сигнала (лог. единица и ноль) на одной линии, что произойдёт?
Аноним 28/11/18 Срд 18:31:40 347389123
>>347384
> записывать сигнал, в тот момент когда он изменяется на пинах
Обоссанное крылатое школололо с пердуино треда?
Настаивай сработку прерывания по обоим фронтам. Хоть и большая частота у STM, можно соснуть ( https://habr.com/post/161617/ ). Вопрос интересный, может поищу можно ли как-то через DMA ловить.

> Назначить прерывания более чем на 16 пинов
Нет, тк регистры SYSCFG_EXTICRх не дадут - там только выбор порта (A-..H) для конкретной линии (0-15) прерывания. Невозможно назначить прерывание на одноциферные(? незнаю как сказать) выводы разных портов - те одновременно ловить прерывания по линиям например PD6 и PH6 или PA6 или PC6 - невозможно, будет слушаться только что-то одно.
> при пересечении двух пинов с противоположными подтяжками/уровнями сигнала
Читай выше - это невозможно. Прерывание будет приходить только с того порта, который указан в SYSCFG_EXTICRх, другой порт никак не будет влиять.

Задавай лучше односложные вопросы - на них проще отвечать.
Если брать пердуину (в частности AVR микроконтроллеры) - на древних версиях было всего 2(3) прерывания по уровню (INT0 INT1 INT2(асинхронное)) - 2 жестко выделенных вывода с настраиваемыми фронтами и 2 обработчика прерывания. На версиях посвежее появилась фича - pin change interrupt - оно НЕ настраиваемое по фронтам, только задается на изменение (любое 1->0 0->1) и какие биты порта, на все 8 бит порта один обработчик. В STM есть 5 "выделенных" обработчиков прерываний (0-4) и 2 групповых по 5 выводов, оказавшись в которых нужно смотреть по какой линии произошло прерывание (в отличие от 0-4, которые однозначно говорят по какой линии было прерывание).
Если прям хочется всю шину снифать - мне кажется нужно CPLD ставить на входе. Завести на нее шину, поставить конвейер из 2 D триггеров с компаратором, которым ловить изменения на входе и достаточно будет всего одного прерывания, которое будет оповещать об изменении любого бита на шине, а не 16 обработчиков прерываний на каждую линию. Если почти сразу 2 прерывания сработает - можешь соснуть, тк пока просрешся на первое есть шанс потерять данные из второго прерывания (см ссылку выше).
это один и тот же анон
Аноним 28/11/18 Срд 19:06:22 347391124
Нашлось что-то в виде AN4666 от ST.
AN4666 Application note Parallel synchronous transmission using GPIO and DMA
https://www.st.com/content/ccc/resource/technical/document/application_note/7a/88/df/e3/d3/36/40/29/DM00169730.pdf/files/DM00169730.pdf/jcr:content/translations/en.DM00169730.pdf

Ни ивенты, ни прерывания к DMA явно не привязать. Fail~.
Интересно послушать как собрались делать логический анализатор на STM32.
Аноним 28/11/18 Срд 19:33:14 347396125
Аноним 28/11/18 Срд 20:41:13 347412126
>>347391
>Интересно послушать как собрались делать логический анализатор на STM32.
Помигали светодиодом и расходимся.
Аноним 29/11/18 Чтв 00:09:48 347439127
>>347306
Анонче, спасибо тебе за твоё вчерашнее время. Прошивал без стартап файла. Даже не знал, что он нужен был. Вот уж не думал, что буду когда-нибудь еще буду так радоваться загоревшемуся леду. Пошёл читать даташиты.
Аноним 29/11/18 Чтв 00:11:48 347440128
>>347439
>буду когда-нибудь еще буду
Ну вы поняли.
Аноним 29/11/18 Чтв 00:41:11 347445129
>>347439
>Даже не знал, что он нужен был.
В таком случае тебе нужно читать не даташиты, а Джозефа Ю.
Аноним 29/11/18 Чтв 00:58:02 347447130
yiu.png 259Кб, 597x737
597x737
>>347445
>Джозефа Ю
Пикрл подойдет?
Аноним 29/11/18 Чтв 09:02:09 347463131
>>347389
>Обоссанное школололо с пердуино треда?
Да. Ну ты заебал, я ж не школоло
>Невозможно назначить прерывание на одноциферные выводы разных портов
Ок
>Если почти сразу 2 прерывания сработает - можешь соснуть, тк пока просрешся на первое есть шанс потерять данные из второго прерывания (см ссылку выше).
Если на разных пинах сработает прерывание, оно же просто встанет в очередь, не? На частоте 165mHz, или сколько там пиковая, прочитать с нескольких пинов значение и записать время - должен вписаться во временные рамки. Если только не все 16 пинов изменят состояние единоразово, но такие состояния я не встречу

>Задавай лучше односложные вопросы - на них проще отвечать.
Ок, логично.

Тогда простым вопросом уйду немножко в другую степь:
Как настроить USB? Есть готовые примеры с BULK передачей?
Те готовые примеры что есть, пока завести не смог.
Аноним 29/11/18 Чтв 13:19:49 347493132
eth.png 249Кб, 2795x1035
2795x1035
> я ж не школоло
You make me sad

> на разных пинах сработает прерывание, оно же просто встанет в очередь
Да. На групповых прерываниях если не все скопом флаги сбросил - то по выходу из прерывания еще раз в него же попадешь и не надо в конце прерывания проверять не пришло ли еще одно прерывание.
Если будет более 2 подряд прерывания на одной линии - очень велик шанс их просрать при медленной реакции, тк нет счетчика числа прерываний, увидишь что было только одно.


> Как настроить USB? Есть готовые примеры с BULK передачей?
С USB говном не работал и ебись оно конем разбираться в этих помоях и реализаций под каждую ось. Сам то хоть нашел СДК или либы через которые собрался принимать помои с USB шины?
Пикрил - немного погуглил и используя православный Ethernet сразу на 3 разных машинки лилось дерьмище броадкастом по UDP - Windows, FreeBSD, Linux - все приняли это. Дальше на том же питоне или сях import socket и вперед. По временнЫм меткам видно что срет примерно каждую миллисекунду (os.Delay(1)) как и задумывалось. Скорость сам прикинешь.
Аноним 29/11/18 Чтв 13:49:52 347502133
>>347493
>ебись оно конем разбираться в этих помоях и реализаций под каждую ось
Libusb же, просто не разобрался как она работает и почему не могу с ней достучаться к STM.
Пока читаю этот https://damogranlabs.com/2018/02/stm32-usb-cdc/ гайд
Аноним 29/11/18 Чтв 15:15:06 347510134
Вопрос короткий и по делу. Может кто сталкивался.

Либа LibUsb-1.0. На команду библиотеки libusb_open_device_with_vid_pid(ctx, USB_VENDOR_ID, USB_PRODUCT_ID);, STM с сгенерированным в кубе HID-кодом, отзывается как должна. STM с кодом же CDC-устройства сгенеренном там же, в кубе, с этим запросом не работает (возвращается Null). Так же, при этом, устройство определяется в системе как COM-6, но ни один терминал не с ним работает как говорится в примере из интернета, мы должны получать ответ в терминале, от сгенерированного кубом кода.
Аноним 01/12/18 Суб 07:36:22 347764135
ucb.png 69Кб, 1569x565
1569x565
>>347510
Как мне кажется - всем по хуй. Троллинга ради попробовал создать проектик CDC. Ну и пиздец, осталась огромная куча вопросов по режиму отладки этого говна.
Запустил отладку. При самом первом прогоне кода до строчки 121 ничего не происходит(????). После первого прохода 121 строчки появляется компорт.
После появления компорта при попытке подключиться putty снова сосу - даже окно терминала не появляется пока еще раз не выполнится 121 строка (или криво тестил или в этот проход спам не шлется).
После третьего и последующего выполнения 121 строки уже шлется спам в терминал.
Определенно этот быдлокод поломал манямирок - U$B шина активна всегда, даже если ничего не передается летают какие-то пакеты опроса есть че? и при останове(?) выполнения кода соединение не рвется и компорт не пропадает.
При выходе из отладки/перезагрузке компорт пропадает, но putty не говорит что компорт недоступен (как при выдергивании FTDI или PL2303 и подобных) и при повторном прогоне кода в терминале тишина, ничего не шлется, а если закрыть терминал и заново открыть - говорит иди на хуй, не могу открыть, хотя он виден в диспетчере устройств.
Перезайдя в отладку - пропадет компорт и см начало поста. WTF?
Аноним 01/12/18 Суб 08:32:48 347767136
>>347764
>Перезайдя в отладку - пропадет компорт и см начало поста. WTF?
Потому что микроконтроллер перестает отвечать компу, а спецификация USB устанавливает определенное время на ответ.
Аноним 01/12/18 Суб 17:23:33 347828137
>>339005 (OP)
Гуры, расскажите как вы организуете расположение папок в проекте? Я уже заебался копировать примеры стм и корректировать их. Получается какая-то безумная ебала с папками библиотек и исходников. Как захуярить отдельно неизменяемое местоположение либ и прочих халов и облако/гит своего говнокода, чтобы его можно было быстро найти?
Аноним 02/12/18 Вск 02:13:25 347916138
Screenshot20181[...].jpg 45Кб, 1080x1152
1080x1152
>>347828
CMSIS, HAL_Driver, startup - стандартная хуйня
inc - хедеры
src - c/cpp-файлы
layout - kicad схема/плата
external - сабмодули на драйверы периферии
С cubemx дрочусь скриптом который переносит файлы вроде spi.c dma.c spi.h dma.c main.h
main.c не переношу, ибо меняется он никогда, а генерит кашу неподдержтюиваемую
Аноним 02/12/18 Вск 02:17:14 347917139
>>347916
Забыл дописать. Если нужна периферия, а готовой репы нет, то ты обязан сделать отдельный готовый репозиторий из ошметков интернета и запушить на гитхаб, таким образом ты сделаешь жизнь другим легче. Ну и кидаешь эту репу в сабмодули. Реюзабельность +, карма +++
Аноним 02/12/18 Вск 06:35:15 347929140
>>347917
>и запушить на гитхаб
Ты же понимаешь, что весь гитхаб будет ржать над моими потугами в кодинге?
Аноним 02/12/18 Вск 08:08:19 347934141
>>347929
Никто не будет ржать. Портировал код с Raspberry на PIC.
Аноним 02/12/18 Вск 12:35:27 347968142
>>347934
Удваиваю, все похуй. Пока твой говнокод выполняепт задачу, всем похуй.
Аноним 04/12/18 Втр 15:53:45 348213143
>>347929
Никто даже не воспользуется твоим кодом
Аноним 04/12/18 Втр 17:01:51 348215144
>>348213
Не пизди.
запилил репу, получил четыре звезды в течение года
Аноним 05/12/18 Срд 23:52:47 348464145
>>340304
А кому продаешь? В рашке или за бугор с ибея какого-нибудь?
Аноним 05/12/18 Срд 23:54:07 348466146
15344409730020.png 104Кб, 645x729
645x729
>>339005 (OP)
Приделал батарейку к своей STM32F429I-Discovery, теперь буду задрачивать все регистры RTC!
Аноним 05/12/18 Срд 23:56:15 348468147
>>348466
И сразу соснул с проглотом. Часы хоть и не сбрасываются при отключении питания, но таки останавливаются.
Аноним 06/12/18 Чтв 03:32:42 348495148
>>348468
Держи в курсе. не сарказм
Аноним 06/12/18 Чтв 08:45:35 348506149
>>348495
Насколько хватило моих знаний ангельского и мощности гуглопереводчика, понял, что для работы RTC от Vbat необходимо тактирование часов от LSE. В демонстрационной программульке от ST, дохуя завязано на тактирование от LSI и желания разбираться в дебрях их кода у меня нет. Сейчас засяду писать сам свои часы и попробую еще раз.
Аноним 06/12/18 Чтв 09:14:36 348508150
А вот эти вот примеры, типа TouchGFX_Demo, студии пишут или йоба-программисты одиночки? Этож охуеть можно сколько кода надо написать. Он только канпилируется 7 минут.
Аноним 06/12/18 Чтв 11:33:08 348516151
>>348508
Наверное это на С++ с использованием шаблонов написано, из-за этого вполне может компилироваться на порядок дольше чем аналогичный код на Си.
Аноним 06/12/18 Чтв 20:33:20 348566152
>>347463
Как дела у школьника? Давно не видно и не слышно. Уроки учит? Или в крестики-нолики играет над дампом?
Аноним 11/12/18 Втр 13:52:49 349270153
>>348566
Дохуя всего параллельно, и мне немножко лень.
Пока пилю I2C повторитель. К стати, анонче, подскажите нормальный пример I2C-Slave на LL, а то я ничего найти не могу даже те примеры которые я нашёл на хале, какие-то укуренные и не прозрачные.

Но если совсем не лень, то не откажусь от след. инфы:
1. От чего (от каких действий на I2C шине) срабатывает I2C1_EV_IRQHandler?
1.1 Возможно ли где-то прочесть, какой адрес всплыл на шине? Просто флаг ADDR в I2C_SR1 настораживает.
2. Как определить/обнаружить STOP и START на линии? ACK/NACK?
3. Как отправить NACK/ACK на мастера/слейва в передаче/приеме?
3. Как прижать SCL к нулю?
Я понимаю, что ручной доступ есть не ко всем перечисленным вещам если мы говорим об аппаратном I2C, но мне пока не найти даже нормальный пример слейва на LL, так что сам не раскопаю даже то, к чему доступ получить явно можно.
P.S: про STOPF в I2C_SR2 знаю, но без понимания всего процесса и того, как что срабатывает (особенно эвенты), я делать выводов не берусь
Аноним 11/12/18 Втр 14:05:06 349272154
Даже нет, не так, подправлю:
В принципе то понятно, когда срабатывает эвент сейчас с позиции слейва: как настроишь - на приходе адреса, при заполнении буффера, при срабатывании BTF, при получении стопа.
Только не ясно, как понять, что на линии был старт. Или оно тогда и не надо, даже если это повторный старт? Просто в таком случае получим задержку в ~2 пакета. Хотелось бы конечно минимизировать, но если что - не смертельно.
А NACK/ACK я хочу ставить сам, тогда когда мне удобно.
Аноним 11/12/18 Втр 17:30:16 349288155
i2c.jpg 644Кб, 3264x2448
3264x2448
>>349270
Да вы батенька походу Reference Manual не открывали, или увидев овер 1К страниц открестился, закрыл и забыл как страшный сон.
Что у тебя за побрякушка как платка называется и что за камень (полное название)?
Мыльница говно. Открываю древний мануал Да, он бумажный, 4 страницы на листе. Как минимум его можно читать в сортире, делать пометки и пиздить им тех, до кого с первого раза не доходит.
> 1. От чего (от каких действий на I2C шине) срабатывает I2C1_EV_IRQHandler?
На странице 843 есть замечательная табличка, где видно как двумя битами включить и прерывания и события от блока I2C. Только вот незадача - два бита действуют глобально, те нельзя выбрать например автобус сломался и ошибка подтверждения.
Очень внимательно почитай раздел Inter-Integrated circuit interface - он короткий.
На первый взгляд только 2 адреса слейва себе можешь назначить. Остальное - через особо жесткие костыли. Возможно SPI+EXTI поможет ловить произвольные адреса.
Что меня напрягает в IIC - нет таймаутов и можно основательно повесить шину, которая отвисает только после ребута по питанию или руками давать STOP, но это не всегда корректно, так как некоторые слейвы очень привередливы и STOP например после 5 тактовых импульсов игнорируют.
Аноним 12/12/18 Срд 14:55:56 349363156
>>349288
У меня реф мануал немного отличается (RM0090 Rev 17), но суть та же. На эти страницы (IIC Functional Description) не обратил внимания, сейчас почитаю.
Железка STM32f407.
>Что меня напрягает в IIC - нет таймаутов и можно основательно повесить шину, которая отвисает только после ребута
Так то в том же референсе есть намёки на то что можно и без этого перезапустить шину. Как минимум я видел что настраиваются какие-то тайм-ауты, есть определение подвешенной линии и контроль недопустимых состояний на шине. А сбросить шину ты можешь и программно, но это не точно
Аноним 13/12/18 Чтв 11:41:48 349470157
shkololo.jpg 733Кб, 3041x2030
3041x2030
detect.png 8Кб, 1375x240
1375x240
>>349270
Масштаб троллинга неуклонно растет и достиг опасных показателей.
Собрал из подручного хлама - F429 под эмулятор, мега328 - для первоначальной отладки шины, онанокомп с линуксой под тестилку ебать она медленная, особенно i2cdump - на каждый байт оно дает команду записи адреса и потом команду чтения, но похуй - нашел говнокод на си - он чуть быстрее работает , логический анализатор, пара микросхем памяти и... CPLD на 64 макроячейки - может получится из нее сделать костыль I2C->SPI. На STM32F4 SPI умеет или 8 или 16 бит. Интересно, это все говно взлетит?

>>349363
Через жопу читал и мануал и пост повыше. В классической IIC нет таймаутов вообще. Таймауты в SMBUS (в компе можно найти). Повисший контроллер IIC можно попытаться "перезагрузить" через отключение и включение, но выше писалось про СЛЕЙВА, который считает такты и только спустя 9 тактов поймет команду СТОП и отпустит шину и игнорирует сигнал СТОП в другие моменты времени. Где-то видел описание подобных случаев.
Аноним 13/12/18 Чтв 13:30:41 349475158
>>349470
Я не могу понять, что ты снял анализатором. Что ты получить то хотел и чего добился?
Аноним 13/12/18 Чтв 16:51:29 349485159
image.png 24Кб, 1015x181
1015x181
>>349470
Посмотри проект если не сложо.
Сгенерировал в кьюбе инициализацию, при установке адреса слейва1 зависает SCL на земле (пикрил).
Если вернуть адрес в ноль, то всё нормально. Сравниваю с примером из интернета , вроде последовательность инициализации похожа, в функцию тоже всё приходит норм.
Это на f103.
https://yadi.sk/d/CDEei4OVxVj1DQ
Аноним 13/12/18 Чтв 16:56:19 349486160
shololo2.png 89Кб, 1677x794
1677x794
>>349475
Кое как подогнал смехоту. 5 макроячеек из 64.
Здесь за одно хорошо видно как тупит железка на линуксе и мне похуй. Это же proof of concept.
Как у меня ебануло.. Черную магию что ли еще раз почитать? CPLD настолько нежная, быстрая и суровая, что ловит отраженку с конца никуда не подключенного примерно 40 см шланга и считает ее за реальные импульсы/фронты. Временно отключил - уже нет аномалий. Если правильно понял вывод - оно легко прожует и не подавится от IIC с тактовой 50 МГц.
Смотреть на 7 и 5 анал, их "сумма"- 6 анал. Если включить мозги - догадаешься что это за костыль сбоку.
Аноним 13/12/18 Чтв 17:04:09 349488161
f1031.png 34Кб, 669x784
669x784
f103.png 56Кб, 764x967
764x967
>>349485
Точного камня не знаю, но серия F1 оставила тяжелые воспоминания.. Сам поищешь подобное, тем более что или здесь или в пердуино треде говорилось что F103 и IIC - крайне хреновая затея из-за аппаратных глюков. Поэтому ебитесь как хотите со своей F103.
Аноним 14/12/18 Птн 21:05:58 349667162
edge.png 27Кб, 1659x379
1659x379
>>349475
Пока что переехал на циклон для обкатки. С учетом реального риалтайма есть бага, которую не пофиксить - возможна ошибка кадрирования не проверял еще. Поломали rarjpeg или нет?. Анал 5+6 - входные данные, анал 0+1 - "подогнанные" под формат SPI, которым в теории могу перехватывать с линии все, полностью игнорируя - мой не мой адрес.
Это аццки тупая штука, которая дает ответы на вопросы
> Как определить/обнаружить STOP и START на линии?
Смотри фронты 2 и 3 анала.
> ACK/NACK?
В 8 бит не впишешь и по идее на хуй не надо, но выводится в отдельную линию - 4 анал.

Это не к месту в данной железке-коверкалке I2C в SPI
>Как отправить NACK/ACK на мастера/слейва в передаче/приеме?
I2C_CR1
Bit 10ACK: Acknowledge enable
This bit is set and cleared by software and cleared by hardware when PE=0.
0: No acknowledge returned
1: Acknowledge returned after a byte is received (matched address or data)

> 3. Как прижать SCL к нулю?
Руками, сделав перенастойку порта с периферии AFxx на режим GPIO и выдать 1, прижав линию к земле.
Или снова заглянуть в I2C_CR1 Bit 7 NOSTRETCH: Clock stretching disable (Slave mode)
This bit is used to disable clock stretching in slave mode when ADDR or BTF flag is set, until
it is reset by software.
0: Clock stretching enabled
1: Clock stretching disabled
Аноним 15/12/18 Суб 07:59:06 349701163
currentlychargi[...].png 972Кб, 1000x700
1000x700
displ.png 381Кб, 1000x1000
1000x1000
Пагни, кто-нибудь заводил этот(1.8 TFT ST7735S SPI 160x128) дисплейчик на stm32?
Сначала заработал, подключил на следующий день, а у него только подсветка загорается и всё.
Как понять что не так. Провода прозванивал тестером, все в порядке.
Аноним 15/12/18 Суб 17:41:50 349743164
shololo3.png 39Кб, 1591x340
1591x340
>>349475
Как оно меня заебало.. Какая-то странная фигня в виде глитчей, пропусков и прочей радости было когда подцеплен анализатором к одной из линий (scl или sda). Сделав из CPLD буфер-повторитель - как-то получше стало, минимум полдня просрал на шараду - одна и та же схема на FPGA работает, на CPLD - нет, зависимость от фазы луны не обнаружена, осциллографом с ходу ничего не нашел - поймать иголку(?) среди потока говна.
Жуткая асинхронщина в CPLD, выдает глитчи (под конец виден). Пока нет идей где или из чего синхру взять.
Анал 0+1 - исходные данные, анал 2+3 - закос под SPI, служебные сигналы (местами дублирующиеся) - аналы 4-6. Можно начинать дрючить STM32F429.
Аноним 15/12/18 Суб 20:50:44 349751165
Анончики, поясните за I2C в STM32F10x.
Что там за глюки страшные на практике?
Смогу я к нему подключить часики?
Там же вроде можно программно i2c, так?
Аноним 15/12/18 Суб 22:27:44 349754166
>>349701
Ты прошивку менял? Мб процедуру инициализации проебал?
Аноним 15/12/18 Суб 22:51:49 349756167
>>349701
Ты отключал его перед тем, как он перестал работать?
Пины точно не перепутал потом?
Я как-то ебался с JLX жк экраном 20 минут, выясняя, почему он сегодня ничего не показывает, а потом наконец заметил перепутанные SDA и SCK. Прототипы на ардуинах - они такие.
Аноним 16/12/18 Вск 06:51:09 349768168
>>349751
Школота не палится? Рандомно к одному из представителей каждой серии заходит и смотрел Errata.
> I2C analog filter may provide wrong value, locking BUSY flag and preventing master mode entry.
> This issue occurs randomly.
https://www.st.com/resource/en/errata_sheet/cd00288116.pdf
https://www.st.com/resource/en/errata_sheet/cd00197763.pdf
https://www.st.com/resource/en/errata_sheet/cd00190234.pdf
https://www.st.com/resource/en/errata_sheet/cd00197763.pdf
https://www.st.com/resource/en/errata_sheet/cd00238166.pdf
> This issue occurs randomly.
> occurs randomly.
> randomly.
Желаю побольше багов в отладке..
У Wiznet W7500 тоже есть бага с IIC - зажевывает одинаковые байты. Сам производитель рекомендует использовать программную реализацию IIC.
Аноним 16/12/18 Вск 19:05:25 349810169
475.jpg 76Кб, 620x679
620x679
>>349756
Мне удалось его запустить и потом не разбирая отложил всё в сторону. На следующий день он уже не запустился. С этих дисплейчиков можно считать какие-нибудь данные, чтобы понять что там с ним внутри происходит?
Аноним 16/12/18 Вск 19:07:09 349811170
>>349754
>Ты прошивку менял?
А ему можно менять прошивку? Я такого не встречал.
Аноним 16/12/18 Вск 20:55:14 349831171
shkololo4.png 159Кб, 1914x1004
1914x1004
Где школота? Уроки учит? Или референс мануал раскуривает? Как у него успехи?
Такой вот тупой быдлокод, пропитанный насквозь индусами и их стилем программирования подает признаки жизни.
Здесь нет никакого буфера захваченного спама, как захвачен байт через SPI- сразу шлем через VCP. То что что-то теряется - поебать. Оно уже подает признаки жизни, дальше тюнинг всего этого.
0x15 (0x2A) - это и есть сам слейв на STM42F429, который косит под память 24_02 (256 байт).
Походу ACK некорректно захватывается - идет задержка на цикл обмена. Делать сдвиг на 1 такт? Может и получится, надо только мозги для укрощения CPLD.
Аноним 16/12/18 Вск 23:11:28 349850172
>>349768
Да ты же сам капитанящий школодебил. Эррату я и сам могу посмотреть. Я хотел послушать реальные кулстори от анонов.
Аноним 17/12/18 Пнд 09:17:04 349864173
>>349751
програмно это как?
Аноним 17/12/18 Пнд 09:48:25 349869174
>>349864
http://we.easyelectronics.ru/khomin/i2c-programmnyy-stm32.html
Если кратко - сам в соответствии с протоколом выключаешь-выключаешь выходной транзистор (включая - получаешь 0 на линии, отключая - получаешь 1 на линии). Например для условия СТАРТ SCL должен быть отключен (те 1 на линии) и включить выходной транзистор на линии SDA - притянется к 0. Если же отпустишь SDA - будет СТОП. Потом включаешь выходной транзистор на линии SCL - она притягивается к 0. Все, сигнал СТАРТ выдан и шина условно захвачена. Выход типа Push-Pull нельзя использовать, только OpenDrain.

>>349850
Реальные кулстори только в гугле и тематических форумах типа electronix.ru . Школота - это ты, тк в еррате написано - может ёбнуть в любой момент. Может сразу, может через час, может через пару калобайт, может вообще не проявиться. Баг описан, известен и подтвержден производителем, пробуй. Никто не запрещает, но предупреждают что возможен BSDM. Сам запилишь кулстори как перекопипастил программный IIC. Впервые с ним столкнулся на F103ZC и DS2482-100
Аноним 19/12/18 Срд 08:35:35 350047175
>>349667
Братишка, ты отвечаешь на вопросы, но не на те, что я задаю.
Я спрашивал как это всё делать на встроенном I2C.
Ответ на определение стоп старта прост - запрограммировать логику. А на ACK/NAK так же в ручную не ответить.
Ты мне ответил как это делать с твоими девайсами.
Я спрашивал как прижимать SCL к нулю, в контексте действующего ресива/трансмита, ты мне ответил как вообще в принципе прижать. Ну ты понял.
Про флаги в CR я в курсе, но там не очевидно как этим пользоваться. Нужен пример из кьюба например, но охуительные ребята из STM не могут добавить примеры, которые конвертировались бы в их собственную IDE
Аноним 19/12/18 Срд 08:55:21 350050176
>>350047
Сейчас особо некогда пилить железку или быдлокодить - хотя на первый взгляд там мелочь осталась - кольцевой буфер вклеить. Fail. Пришла платка и могу 407 попробовать запустить и на работе иногда работать надо.
Задам вопрос проще - нарисуй сигналы на шине и явно отметь моменты когда хочешь делать гадости. Рисовать максимально подробно, что бы были видны каждый такт шины и фронты + свои камменты - какую гадость хочешь сделать в данный отмеченный момент. Если собрался делать гадости прямо посреди передачи байта - без адовых костылей ничего не выйден.
Аноним 19/12/18 Срд 11:04:58 350056177
>>350050
Я хотел решать, когда мне отвечать на ак/нак мастеру, беря это знание у слейва.
Полагаю, это считается прямо посреди передачи байта. Жеппа.
Самое тупое, что не могу до сих пор завести аппаратный I2C в Slave-режиме вообще. Ни на готовых Cube-примерах только что сообразил как их запустить в трустудио, ни просто написав код. Всё равно получается какая-то срака.
Аноним 19/12/18 Срд 13:02:31 350060178
top
Аноним 19/12/18 Срд 13:17:40 350062179
>>350056
Илья, залогинься.
> Я спрашивал как это всё делать на встроенном I2C.
> Ответ на определение стоп старта прост - запрограммировать логику.
Нет. Нет. Нет. Просто START и STOP на линии блоком IIC не поймаешь. Бит START устанавливается только если твой блок IIC, настроенный в режиме слейва (увидел старт) И (увидел свой адрес на шине), после чего битом ACK или говоришь что я тут или шлешь NACK мастера. Аналогично со СТОПом - только если твой слейв понял что с ним общение УЖЕ ведется, тогда он распознает сигнал СТОП на шине и установит бит STOPF и ТЕБЕ надо будет подтвердить стоп. Аналогично с растяжкой/остановкой обмена на тупняк - он и так есть "stretches SCL low" если сильно не менял настойки - пока тупишь, твой аппаратный блок IIC держит SCL в нуле, говоря - помедленней, я записываю, думаю и туплю.
Очень внимательно посмотри на картинки на 846-847 странице.

> А на ACK/NAK так же в ручную не ответить.
Жопой читаешь.. или не понимаю вопроса. Бит ACK.

> Ты мне ответил как это делать с твоими девайсами.
Снова жопой читал - они только ДЛЯ ЗАХВАТА. На обмен они не влияют, а то что в посте >>349831 виден в самом верху ответ 0x15 (0x2A) - это отвечает слейв на встроенном в STM32F429 IIC из блока I2C3 - видна независимая и одновременная работа захвата и слейва на одной железке.
По поводу внешних костылей - покажи как захватывать данные с IIC шины, ИГНОРИРУЯ адрес назначения? Можешь обоссать и сказать заведу в SPI - допустим. Только вот у тебя 9-ти битовые посылки, а SPI умеет 8 или 16 бит. Ну принял 8 бит, а дальше? Ушел в прерывание чтобы сбросить настойки модуля SPI и перезагрузить его для стирания огрызка из 1-го бита ? Ну изъебнулся, сделал. Как условия Старт-Стоп на шине ловить ? Прерывание на SDA вешать и при передаче 0x55 или 0xAA каждые 2(1) такта шины уходить в прерывания?

> Я спрашивал как прижимать SCL к нулю, в контексте действующего ресива/трансмита, ты мне ответил как вообще в принципе прижать.
Еще раз - бит ACK.

> Я хотел решать, когда мне отвечать на ак/нак мастеру, беря это знание у слейва.
Еще раз - бит ACK.

> Полагаю, это считается прямо посреди передачи байта.
Жеппа. Да, тк никто среди передачи байта такую хуйню не делает. Пробовал думать - можно таймером считать такты и после нужного такта через DMA записать в BSSR (не проверял) 1 чтобы прижать SCL к нулю, остановив обмен. Еще раз - ты ебанулся посреди (именно посреди, а не после) передачи байта обмен останавливать ? Прямая дорога повесить шину, введя в ступор настоящих аппаратных слейвов.

> Самое тупое, что не могу до сих пор завести аппаратный I2C в Slave-режиме вообще.
Тоже немного думал гадал что не так, ни ответа, ни привета. Перебор шин, настоек - мимо. Потом понял что туплю и... Ответ прост и повыше.

Такое ощущение что от возможностей отладчика шараешься как от огня и понятия не имеешь как его запускать и пошагово выполнять программу. Можешь обдристать, с openocd не работал, только шкодинг и дебаггинг через Keil.

Прости меня грешного Может это попробуешь попилить https://habr.com/post/357918/ ? Как всегда все упрется в скорость, ты же не говоришь чем управляешь. Может ядерным реактором/андронный коллайдером где критичны задержки или время с часов читаешь. Может у тебя там бегущая строка и по хуй что буквы с интервалом в пару раз дольше будут обновляться.
Но и тут проблемка - будешь видеть трафик только до себя, пролетающий мимо спам не виден, а это условие есть в ТЗ...
Аноним 20/12/18 Чтв 20:12:44 350210180
Посоны, вкатился недавновчера, СИ не знаю, инглиш не знаючитай долбоеб. Есть плата Nucleo на STM32F303RET6, пытаюсь пердануть символом в UART без использования кубов и библиотек периферии. Нахуячил простыню говнокода, само-собой, через отладчик работает, отдельно железка нет. Если выполнять программу пошагово, то данные в регистр TDR записываются, вроде как положено, но когда включаю плату и смотрю на выводах RX/TX saleae logic'ом, там нихуя нет. Сам говнокод, гляньте где обосралсяпо жизни:
https://pastebin.com/fZS79ui5
Аноним 20/12/18 Чтв 20:43:27 350212181
>>350210
>NVIC_EnableIRQ(USART2_IRQn); // Пока прерывания не использую, но пусть будет
А в дефолтном обработчике прерывания бесконечный цикл. Придет на вход байт - все повиснет.
>SystemInit();
Эта функция вообще-то вызывается из startup-а, перед main-ом.
>void delay (uint32_t time){
>uint32_t i;
И эта задержка без volatile может сломаться в любой момент, особенно при включении оптимизации.

Ничего конкретно подсказать не могу, т.к. STM-ами не занимаюсь. Но ты попробуй вместо "зажечь светодиод просто так" не зажигать, а инвертировать, чтобы мигал, тогда будет видно зависло оно или нет.
Аноним 20/12/18 Чтв 21:21:45 350214182
>>350212
Поправил цикл.
while(1) {
GPIOA->ODR = GPIO_ODR_5;
delay(300000);
if ((GPIOC->IDR & GPIO_IDR_13) == 0) {
delay(1000);//задержка в 1000 чего-то там
USART2_Send ('1');//отправить символ
}
}
Светодиод мигает. Ради эксперимента отправил на плату единицу через терминал, не зависла, продолжала мигать. Говорит ли это о том, что уарт вообще не запустился? Может я проебался где с настройкой. Но, NVIC_EnableIRQ все же закомментировал, на всякий случай. Почему же тогда в отладке, регистр TDR все же принимал значение?
Аноним 20/12/18 Чтв 21:27:52 350215183
>>350210
Этот антон >>350212 прав
> >NVIC_EnableIRQ(USART2_IRQn); // Пока прерывания не использую, но пусть будет
> А в дефолтном обработчике прерывания бесконечный цикл. Придет на вход байт - все повиснет.
Дописал бы для вида затычку void USART2_IRQHandler(void) {unsigned short tmp; tmp = USART2->RDR;};
Это первый косяк - закомменти прерывание пока не раскуришь референс -> USART2->CR1 |= USART_CR1_RXNEIE;
Второй косяк - при BRR 0xEA6 скорость 2135 бод, при 0x3A8 - 8556 бод (по анализатору).
Третий косяк - "Подтяжка 13 ножки PС к Vcc" и "if ((GPIOC->IDR & GPIO_IDR_13) == 0)" - без подачи 0 или земли на PC13 не войдешь в цикл. Проверял на STM32F3-Discovery (STM32F303VC)
Аноним 20/12/18 Чтв 21:36:36 350216184
>>350214
Поздравляю, у тебя походу хуита творится. Или быдлокод, или плата не але или еще что(сторожевого пса завел?)..
Светодиод мигать НЕ БУДЕТ.. ты постоянно пишешь одно и то же значение в порт. Как он зажегся, так и будет гореть.
Возможно вакаба съела символ исключающего ИЛИ - "^" - если он есть в этой строке "GPIOA->ODR = GPIO_ODR_5;" перед знаком присвоения, тогда да, будет мигать. у меня с частотой 3.33 Гц по анализатору.
Аноним 20/12/18 Чтв 22:17:33 350221185
Безымянный.jpg 123Кб, 972x467
972x467
>>350215
>закомменти прерывание пока не раскуришь референс
Закомментил, хотя мк не зависал, когда я отправлял ему что-либо, складывается впечатление, что уарт не поднялся, не отправляет, не принимает. Все глухо.>>350215
>при BRR 0xEA6 скорость 2135 бод
Я считал по: USART_BRR = (fck + baudrate /2 ) / baudrate, где fck - частота шины APB1. В эту формулу я подставил 36мгц - максимальную частоту шины. Какая частота там в реальности, я не знаю, поскольку мк работает от внутренней цепочки, с дефолтными делителями. Думал заняться настройками, когда распаяю внешний кварц. Может тут и проеб.>>350215
>без подачи 0 или земли на PC13 не войдешь в цикл
На Nucleo пользовательская кнопка включена по схеме.
>>350216
>(сторожевого пса завел?)..
Он нужен мне на данном этапе? Если да, то объясни, интересно.
>Возможно вакаба съела символ исключающего ИЛИ
Yep.
Аноним 20/12/18 Чтв 23:28:21 350225186
Анончики, какие подводные в разводке ЮСБ на плате для stm32f103? Нужно ли располагать контроллер как можно ближе к разъему, могут ли соседние компоненты давать наводки на подводящие дорожки д+ и д- и т.п.? Где можно почитать об этом? Гуглятся только статьи о работе с уже готовыми платами.
Аноним 21/12/18 Птн 06:19:41 350244187
>>350221
> хотя мк не зависал, когда я отправлял ему что-либо, складывается впечатление, что уарт не поднялся, не отправляет, не принимает.
Давай с начала. Через что подключил UART к компу? К выводам 2,3,5 компорта? Через USB-UART преобразователь? Как соединял выводы ? RX-RX TX-TX или RX-TX TX-RX? Землю не забыл?
У ЮАРТа нет подтверждения доставки или получения.
> Я считал по:
Если 9600 поделить на 2135, то получишь 4.5, и поделив 36 на 4.5 получаем.. получаем.. 8МГц.. Прямо частота HSI. Вот это поворот. Намек понял? Попробуй BRR около 0x341 - должно быть около 9600 бод.
Аноним 21/12/18 Птн 07:18:23 350247188
>>350244
>Через что подключил UART к компу?
FT232RL, TX-RX RX-TX, земли объединялхотя и мк и USB-UART подключены к одному источнику.
Смотрел через Saleae, мк на уарт ничего не выдает.
BRR пересчитывал на 8мгц, да, там 0х341.
Сейчас на pastebin код с крайними правками. Не работает.

Аноним 21/12/18 Птн 12:26:31 350261189
NUC.png 197Кб, 1302x852
1302x852
nuc3.png 83Кб, 1784x712
1784x712
>>350247
Может в инструкцию(схему) заглянешь ?
Через какую задницу подключился к PA2 и PA3? На пердуиновские выводы они НЕ подключены, а идут на отладчик.
Тебе повезло если выводы не попалил, что очень реально. Сам переведешь текст на скинах из документации? Код то у тебя рабочий, а вот в схеме куча ошибок.
Аноним 21/12/18 Птн 19:11:39 350297190
>>350261
Блять, кто бы мог подумать?! Действительно, на ст-линк вывели, а я к ST morpho подключал. Забавно, в бумажном буклетике, что с платой шел, об этом ничего не сказано. Работает. Спасибо за помощь всем кто отвечал. Как опять проблемы появятся, я сюда вернусь. Короче, всем спасибо, всем по пирожку!
Аноним 21/12/18 Птн 20:25:38 350304191
Аноним 21/12/18 Птн 21:27:32 350317192
serdes.jpg 565Кб, 3116x2120
3116x2120
>>350304
На первый взгляд - просто забить хуй. Даже в серийных железках народ не боится пускать "SerDes interface includes a 1.25 Gbaud data signal with a 625 MHz clock." через обычные штыри на 2.54мм и 2.0мм.
Если не сильно забивать - посмотреть хотя бы начало правой книги - волновое сопротивление и как оно зависит от ширины проводника, высоты подъема, расстояния между ними. Подобрать соотношения для импеданса 90 ом и спокойно спать.
Аноним 22/12/18 Суб 12:53:51 350388193
>>350317
Спасибо, анон.
Я и вижу, что все вроде не заморачиваются с разводкой юсб, но несколько раз сталкивался, что некоторые устройства не работают с кабелями, с которыми больше ни у чего нет проблем.
Аноним 22/12/18 Суб 17:11:59 350416194
dump0.png 201Кб, 3532x1084
3532x1084
dump1.png 55Кб, 1655x421
1655x421
dump2.png 70Кб, 1652x459
1652x459
>>350056
Школотрон, ты где? Запилил слейва?
Впилил кольцевой буфер. CDC давится потоком говна, пропуская 2 или 3 байта. Впилил адовый костыль-задержку, что не очень то хорошо, но выдает все говно без зажевывания байтов. По идее все. Концептуальная модель на 100 КГц завелась и подает признаки жизни. Нет, не все - можно прикола ради запилить правку памяти слейва через компорт.
Пикрил 1 (dump0) - слева виртуальный компорт, справа склейка из 3 окон терминала. Как видишь - захват работает и ему поебать к кому обращение идет. Пишет всех, все и вся, проебывая бит ACK (не занимался этим, поэтому "+" от фонаря стоит). Реальные слейвы IIC - 0x50, 0x57,0x41. Слейв на STM32F4 - 0x15, который косит под память 24__02 (256 байт), которая после старта забита нулями и командами i2cset заполняется вполне осмысленным текстом и читается обратно.
Пикрил 2 (dump1) - как выглядит внутри собранный дамп с шины (с багом и с отключенной отправкой в компорт здесь и на dump2) - 0100 - старт, С0хх - Адрес, 0300 - стоп.
Пикрил 3 (dump2) - первые 4 шорта - это команда записи в EEPROM по адресу 0х50 байта 0х50, оставшиеся - захваченный обмен с шины при чтении содержимого настоящего слейва (памяти) с адресом 0x50 блоками по 32 байта (особенность i2cdump c режимом "i" - i2c block data).
Тут дольше всего идет преобразование байтов + отправка по виртуальному порту. Захваченный поток говна можно и на самом STM пофильтровать между 0100 и 0300 (старт и стоп на шине) и слать только нужное для большего риалтайма или готовить больший буфер отправки и не по одному байту слать, а по несколько или вообще все что было между состояниями 0100 и 0200 (старт-повторный старт) и 0200(0100) - 0300 (повторный старт(старт)-стоп).
Аноним 31/12/18 Пнд 06:31:35 351322195
vlcsnap-2018-12[...].jpg 163Кб, 1280x738
1280x738
>>347463
Прошло 9 дней тишины. Школьник или познал дзен шкодинга или клал большой болт на затею-реализацию или его душа таки улетела на небеса... R.I.P. школота. Скучно без траллинга.
USB CDC как оказалось не совсем отборное, костыльное и вонючее дерьмецо или говнокод из кубика все хорошо скрывает.
Аноним 03/01/19 Чтв 00:39:21 351554196
Нужно разработать USB устройство класса CDC на STM32 с помощью библиотеки SPL в среде Keil. Не могу найти примеры в инете, может у кого есть инфа по этой теме?
Аноним 03/01/19 Чтв 02:40:14 351556197
tenor.png 174Кб, 300x300
300x300
>>351322

>SPL
>Keil

школьник ордуинщег, ищущий БИБЛИОТЕКУ, детектед
Аноним 03/01/19 Чтв 09:44:13 351561198
>>351556
>>351554
Это больше похоже на курсовую работу в какой-нибудь шараге.
Аноним 03/01/19 Чтв 10:39:00 351563199
>>351561
> Это больше похоже на курсовую работу в какой-нибудь шараге.
Так и есть, но я другой анон.
Аноним 05/01/19 Суб 00:58:22 351764200
Аноним 05/01/19 Суб 04:53:40 351776201
>>351764
Смотри кубовские примеры, спл нахой выбросить вместо него взять лл. Спл списан в утиль истории, его замена как раз лл.
Аноним 05/01/19 Суб 10:34:25 351786202
>>351776
Я студень, задали спл
Аноним 05/01/19 Суб 10:42:59 351788203
>>351786
Возьми готовый пример с сайта ST. Если примера нет, то возьми код от какой-нибудь радиолюбительской поделки. Все, тут делать нечего.
>с помощью библиотеки SPL
Такая формулировка не запрещает дополнительно пользоваться еще какими-нибудь библиотеками. Можно взять весь код на LL или HAL и сбоку приделать что-нибудь на SPL.

>в среде Keil
Надеюсь ты понимаешь, что все компиляторы следуют стандарту и практически нет разницы каким компилятором пользоваться?
Аноним 05/01/19 Суб 11:45:16 351793204
>>351786
Вот погуглил немного за тебя. https://www.st.com/en/embedded-software/stsw-stm32046.html Когда-то сам на этом в институте делал, еще никаких кубов тогда не было.
Достаточно было в гугле задать период с 2000 по 2010 год, сайт st.com и тогда по "usb library" оно находится в первой строке. Там же готовый кейловский проект, тебе вообще ничего делать не нужно было.
Аноним 05/01/19 Суб 14:39:39 351804205
>>351786
Ленивый пидорас ты, а не студень. Мне преподы ни разу не отказали, если я приходил и говорил, что технология списана, давайте я возьму более новое решение.
Аноним 05/01/19 Суб 15:28:31 351806206
>>351804
Будто есть разница на чем учиться. Все равно, если он пойдет работать по специальности (что сомнительно), то не факт что будет касаться микроконтроллеров вообще. А даже если и будет, то не факт что STM32.
И если я правильно помню, то библиотека >>351793 не использует SPL, там только CMSIS. SPL там в примерах только для настройки портов, тактирования и прочего. В SPL, если я правильно помню, нет ничего связанного с USB.
Аноним 05/01/19 Суб 15:49:57 351807207
>>339005 (OP)
Есть хуйнюшка как на первом пике. К ней возможно ардуину цепануть? Дабы ебашить асинхронное устройство.
Аноним 05/01/19 Суб 20:36:56 351826208
>>351807
>К ней возможно
Да. Почитай даташит, может преобразователь уревней еще придется въебать.
Аноним 05/01/19 Суб 23:11:18 351847209
>>351776
Сразу CMSIS херли мелочиться
Аноним 08/01/19 Втр 10:29:36 352114210
>>349488
Я вот, кстати, уже не в первый раз встречаю нарекания на серию f1 и рассказы о том, что её особо не поддерживают. Какую серию тогда взять взамен, чтобы близко по фичам и производительности?
Аноним 08/01/19 Втр 11:13:16 352116211
IMG201901081244[...].jpg 610Кб, 2400x2332
2400x2332
>>352114
Кто бы его знал. При взгляде со стороны F2=F4, особняком F373 - для любителей анальных утех с 16 битными сигма-дельта АЦП. Когда-то работал в связи реально днище - знать надо дохуя, получаешь нихуя и были попытки воссоздать клон Netagent CP504B (верхняя левая). У "конкурентов" (нижняя центральная) SNR ERD 3.2 - atmega644+enc28j60, более новая версия на stm32f407 https://nag.ru/user/notes/25598/kak-rojdayutsya-erd-pro-mini-fotki-.html . У нас же (только для внутренних нужд) - железки на stm32f107 (центральная вверху) и на Wiznet W7500P (это и cortex-m0 и phy в одной микросхемке). Умерло после первых тестов и ухода из той помойки.
Тупо шарясь по алиэкспрессу в происках плат с 2хCAN и 2xRS485 - нашлись только на stm32f407. Так вот и делался выбор - на чем can (до)изучать + в даташитах есть пара страничек про совместимость между сериями (как минимум F1-F2-F4) - где и что предусмотреть на плате для установки конкретной серии. Если надоели баги одной серии, можно заменить на другую.
Если не работаешь с аналогом и точными измерениями - бери любой, хоть F2, хоть F4.
 ST-Link V2 Аноним 09/01/19 Срд 10:47:14 352265212
1547020029748.jpg 67Кб, 600x498
600x498
STM32F103C8T6-A[...].jpg 254Кб, 2256x2256
2256x2256
Я правильно понимаю, что отладка в TrueStudio должна работать через этот свисток? У меня почему-то студия его видет, даже предложила обновить прошивку, заливает мой говнокод в микроконтроллер, но не работает пошаговая отладка.
Так и должно быть с этим китайским клоном или я что-то не так делаю.

Аноним 09/01/19 Срд 11:17:53 352268213
>>352265
Такой набор и всё нормально, и на ф103 и на ф407. Дело скорее всего в прокладке между клавиатурой и монитором.
Аноним 09/01/19 Срд 11:22:49 352270214
>>352268
Судя по знакомым цифра обоссанная школота проснулась? Так и не завел своего i2c раба?
Аноним 09/01/19 Срд 11:31:27 352271215
>>352268
> Дело скорее всего в прокладке между клавиатурой и монитором.
И какое может быть дело?
Установил куб, TrueStudio, stm32 utility. Дровишки встали при установке студии.
При первом подключении студия обновила прошивку свистка.
stm32 utility также видит свисток.

stm32ldiscovery в которую встроен стлинк работает корректно.
Аноним 09/01/19 Срд 12:56:11 352277216
>>352271
Если обновился, значит китайским остался только bootloader. Сомневаюсь что bootloader может оказывать такой эффект, хотя все возможно. Схема тем более не будет так влиять, она по идее везде практически одинаковая, за исключением разъемов и согласования уровней.

Ну и лучше было брать J-Link.
Аноним 09/01/19 Срд 13:04:56 352278217
Аноним 09/01/19 Срд 15:08:36 352287218
Глубоко копаете, там скорее всего точка в коллбэке, в который не заходит, или их больше пяти, или ещё какая хуйня.
Аноним 13/01/19 Вск 19:55:50 352782219
Суп радиач, решил тут вкатиться в STM, будучи гуманитарием (да-да я вообще охуел).
Собственно взял Nucleo 303, пошел курить погромирование этого чуда. И тут я прихуел, везде всё равное, кто-то под HAL, кто под SPL, кто с регистрами напрямую работает. В ру-сегменте адекватных уроков/учебников нет.
Наткнулся тут на MBED, довольно интересно в плане, что не надо читать мануалы на 2к страниц чтобы помигать светодиодом (привет ардуине). Суть вопроса - есть какие-то ресурсы русскоязычные по MBED? По STM вообще ресурсов негусто, видимо специфика что МК скорее проф. уровня накладывает свое говно на вентилятор и никто не хочет делиться опытом разработок (которые скорее всего продают, в отличие от ардуиновских).
Аноним 13/01/19 Вск 21:06:08 352791220
>>352782
Задрачивай HAL и не обращай внимания на кукаретиков требующих вникания в букву даташита и кодинга регистров. Потом, когда отдуплишь, что к чему, переходи уже на LL
Аноним 13/01/19 Вск 21:28:04 352794221
>>352782
Ищи на ютубе канал narod stream, ставь кубик и truestudio и бахай на хале. После генерации кубом мигать диодом можно одной строчкой.
Аноним 13/01/19 Вск 21:31:07 352796222
>>352794
Вся фигня в том, что надо же сгенерить еще, а чтобы генерить надо все эти регистры, тактирование и прочее знать еще лучше чем в случае с ручным написанием.
Аноним 13/01/19 Вск 22:05:54 352800223
hal2.png 23Кб, 478x609
478x609
>>352791
Да, буду кукарекать - Reference Manual наше все. Те же сраные параметры функций настойки где брать будешь?
Взять тот же кусок инициализации RCC
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 4;
RCC_OscInitStruct.PLL.PLLN = 120;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ = 5;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
или I2C
hi2c3.Instance = I2C3;
hi2c3.Init.ClockSpeed = 100000;
hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2;
hi2c3.Init.OwnAddress1 = 132;
hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
hi2c3.Init.OwnAddress2 = 0;
hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
Что за поеботина написана справа после знака равно? Где список всех значений смотреть? Список сочетаемых и непротиворечивых значений?
Или то же ссаное GPIO
GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
Здесь только с ходу видно что только 13 и 14 вывод настраивается. Остальное- неведомая хуита, которая смотрится с расшифровкой в том же RM. Думаешь совсем ньюфаг поймет что тут написано?
С простой периферией - ничего не знаю, CMSIS наше все, для USB и Ethernet - не выебывался, использовал то говно, которое дают в кубике.
Reference Manual однозначно надо читать. Просто тупо несколько раз прочитать раздел не особо вникая, хоть что-то да запомнишь что видел что-то похожее в описании регистров, а не гадать что это за поебень тут написана.
Школотрон - можешь подглядеть настойки IIC.

>>352796
Частично согласен. Знать периферию надо ВСЕГДА, а это чтение RM чуть чаще, чем постоянно.
Когда знаешь как все работаешь - тебе без разницы на чем писать - что HAL, что SPL, что CMSIS. На CMSIS может даже проще будет делать прямые обращения, чем искать тормозные библиотечные функции с кучей проверок, а всякая логика типа for; while; if живет сама по себе.
GPIOC->BSRR = GPIO_BRR_BR3; вывести в линию PC3 лог1
GPIOC->BSRR = GPIO_BSRR_BR8; вывести в линию PC8 лог0
Неужели это какие-то страшные заклинания?
Аноним 13/01/19 Вск 22:07:40 352801224
>>352796
> Вся фигня в том, что надо же завести двигатель еще, а чтобы автозапуском пользоваться надо все эти степени сжатия, цикл Карно, механику движения поршней и прочее знать еще лучше чем в случае с ручным поворотом ключа.

Ясно.
Аноним 13/01/19 Вск 22:16:13 352803225
>>352800
За меня это говно пишет куб, и меняет он же. Прежде чем пиздеть, покажи свой код чтения-записи файлов с длинными именами в FAT на цмсис, папаша. Поговорим за хал после этого.
Аноним 13/01/19 Вск 22:21:03 352804226
>>352803
Лол, порвался. CMSIS - это управление периферией, а не логикой, которой является твой высер про FAT. Максимум что увидишь - это чтение/запись блоков на flash/sd карту, сама же логика работы FAT - независима и можно хоть на 8051 запустить.
Аноним 13/01/19 Вск 22:33:48 352808227
>>352801
Неуместное сравнение. Это ты скорее для ардуинки описал.
Тут ближе будет завести двигатель на самолете типа боинга 737
То есть проверить состояние аккумов, включить питание, подключить шину переменного тока, запустить топливные насосы (не один а дохуя, каждый отдельный тумблер), ВСУ, генератор ВСУ, воздухоподачу, etc...
Аноним 13/01/19 Вск 23:35:57 352817228
>>352808
Так-то никто не говорил, что использование хал освобождает от чтения рефмана, и особенно от доки о самом хале. Кубик просто генератор, но этот генератор сильно облегчает процесс создания инициализации. Я когда начинал, буквально за пару часов разобрался с кубом по ютубам, и впоследствии стал им пользоваться.

Все эти типы которые топят за цмсис в массе своей дальше мигания диодом не ушли, зато цмсисом помигали, ага. Без USB, Ethernet и SD-карты домашние проекты, за редким исключением - мертворождённое говно, и то с чем цмсис-пердолик будет ебаться неделями, на хале пишется за несколько дней. Однако строитель сарая будет смеяться над башенным краном, типа смотрите какие лохи, молотка не держали, ровно до тех пор, пока он строит сараи, потом же

>>352791
>для USB и Ethernet - не выебывался, использовал то говно, которое дают в кубике.

Вот и весь его боевой задор. Любители цмсис - лицемерные пидоры.
Аноним 14/01/19 Пнд 07:59:29 352839229
>>352817
>Ethernet
Делал без всяких халов, только не на STM32. Ничего такого сложного в этом нет.
>SD-карты
Когда-то делал на ассемблере чтение и запись секторов. Не для практических целей конечно, а для тренировки и изучения. Тот анон все правильно пишет >>352804 Там по части взаимодействия с периферией микроконтроллера достаточно сделать только инициализацию, чтение и запись секторов карты, все остальное есть в FatFs и прочих. Это всего лишь несколько команд, ничего сложного.

Способ настройки периферии вообще не столь существенен, это ведь обычно совсем небольшая часть программы получается.
Аноним 14/01/19 Пнд 11:09:02 352848230
>>352839
Именно. Претензии к хал начинаются когда открывается файл сгенерированный кубом, хотя хал и куб никак не связаны. В библиотечных файлах функции названы корректно, что называется самодокументируемо, сопровождены описанием и принимаемыми/возвращаемыми значениями, что куда лучше записей цмсис. Никто не запрещает для повышения быстродействия использовать в критических секциях цмсис или ассемблер, это необходимо для серийных устройств, но видимо цмсис юзеру кажется что это элитный клуб.

Tl;dr новичку и доморощенному эмбеду куб, хал и лл подойдут больше чем цмсис, профессионал в советах не нуждается.
Аноним 14/01/19 Пнд 13:03:28 352864231
>>352848
>лл
Ты точно видел LL?
LL это набор функций, в основном только распихивающих поля из структур по регистрам в нужном порядке. Для использования LL или SPL нужно знать назначения битов в регистрах, точно так же, как для использования CMSIS. Преимущество LL только в том, что снижается вероятность ошибки.
Поэтому противопоставлять LL и CMSIS это как-то очень странно. Просто невозможно научиться использовать LL и при этом не научиться использовать CMSIS.

Более того, если использовать LL без HAL, то для управления SysTick, NVIC и MPU, по любому придется использовать функции из CMSIS.
Аноним 14/01/19 Пнд 13:13:04 352866232
>>352864
Видел, даже i2c -> uart на 103 поднимал, в связке LL + RTOS, генерация полностью кубом, иде - трустудио. Цмсис проект был такой же, только без ртос и в вижуалгдб. Хал однозначно понравился больше, но для оптимизации программ и направления развития, лл после хал выглядит прекрасно.
Аноним 14/01/19 Пнд 14:42:40 352875233
Какие профессиональные пути развития сейчас актуальны при работе с stm32?
Имеется в виду в ракурсе работы/карьеры
Аноним 14/01/19 Пнд 16:46:36 352887234
>>352875
Впаривать девборды лошарам
Аноним 17/01/19 Чтв 09:23:31 353218235
currentlychargi[...].png 972Кб, 1000x700
1000x700
Пагни, я пытался прикрутить bluetooth HC-06. С USB uart он работает нормально в оба направления. А с СТМа bluetooth принимает, только если подключить логический анализатор к RX блютуса. Что за бред?


Аноним 17/01/19 Чтв 16:58:19 353256236
>>339005 (OP)
Народ, а как вы организовываете свои проекты? Git обязательно использовать или легче копировать папки?
Аноним 17/01/19 Чтв 17:42:59 353264237
>>353256
Лучше иметь какой нибудь контроль версий. Геморроя меньше и в принципе как-то удобнее
17/01/19 Чтв 19:23:54 353290238
>>353256
Конечно, используем.
1. Сохраняется прогресс.
2. Можно откатиться если понял что за день хуйню наделал.
3. Если не стыдно то можно подрочить лайки на гитгабе
Аноним 17/01/19 Чтв 19:28:20 353292239
>>353264
>>353290
Ок. Спасибки за ответы. Буду изучать Git.
А насчет организации папок проекта, свою используете или STM-овскую Templates из архива с демонстрациями и примерами?
Аноним 17/01/19 Чтв 19:37:35 353295240
>>353292
У git команды наркоманские, возьми лучше hg.
Карта памяти Аноним 18/01/19 Птн 11:28:16 353362241
images-1.jpg 2Кб, 140x91
140x91
Есть готовые решения для работы с картами памяти micro SDHC по SPI?
Файловая система не нужна. Требуется чтение и запись блоков.

Что-то я туповат для реализации этого с нуля.
Инициализацию сделать получилось.
Но при записи блока размером 512 байт, все значения 0хАА и последующем чтении этого блока, получаю какую-то херню.
Идут 7 байт как положено 0хАА, а восьмой мусор, дальше все повторяется до конца считанного блока.
Аноним 18/01/19 Птн 11:37:23 353363242
>>353362
Смотри примеры в файлах куба.
Аноним 18/01/19 Птн 11:39:55 353364243
>>353218
Поставил подтяжку к + и все заработало. Странно.
Аноним 18/01/19 Птн 11:54:08 353365244
WP2019011811411[...].jpg 1818Кб, 3264x1840
3264x1840
Заебенил пучок хуевин для изучения погроммирования своей дискавери. Пятый год валяется, а я только сподобился залить в нее демо от TouchGFX и поморгать светодиодом. В этом году думаю таки немного подучить клятый Си и одолеть 1-Wire, энкодер, шим, датчик влажности и emWIN
Аноним 18/01/19 Птн 13:33:59 353377245
>>353363
А они там разве есть?
Там есть возможность подключить библиотеку для фат, но без реализации доступа к карте по spi или sdio ничего не будет работать
Аноним 18/01/19 Птн 14:01:31 353378246
>>353377
Тут например для F4. %USERPROFILE%\STM32Cube\Repository\STM32Cube_FW_F4_V1.23.0\Projects\STM32F4-Discovery\Applications\FatFs\FatFs_USBDisk
Аноним 18/01/19 Птн 14:31:15 353381247
>>353365
> своей дискавери.
Какой, что за контроллер?
> думаю таки немного подучить клятый Си
Зачем это тебе если плата пять лет валялась?
Аноним 18/01/19 Птн 14:33:02 353383248
>>353381
>что за контроллер?
429ZIT
>Зачем
Для общего развития. Может я на пенсии в кодеры-эмбеддеры хочу податься. Кек.
Аноним 27/01/19 Вск 00:12:32 354554249
Зачем удалять? Отписался в совершенно бесполезный /d/ Пост был вполне по тематике треда.
Аноним 27/01/19 Вск 00:38:02 354555250
>>354554
Да, с недавних пор тут модератор совершенно ебанутый и похоже в радиотехнике совершенно не разбирается.
Напиши вопрос еще раз, может не удалит (можешь еще в /d/ продублировать). Для ЦОС кортексы не особо подходят, весьма вероятно что ты собрался делать ерунду.
Аноним 27/01/19 Вск 00:59:54 354559251
>>354555
Если не подходит, то что именно гуглить? Раньше тут писали что STM32 самое то для вката в DSP. Нужна простейшая железяка, в которую я бы смог грузить короткие импульсы в WAV, чтобы сделать кроссовер со своими настройками для АС.
Аноним 27/01/19 Вск 01:20:55 354564252
>>354559
Ну так-то ЦОС можно делать на абсолютно любом микроконтроллере, вопрос только в требуемом быстродействии.
Но я не понимаю твой вопрос.
>грузить короткие импульсы в WAV
Что это значит? Ты хочешь сделать КИХ фильтр, импульсную характеристику которого называешь "короткими импульсами"? Если так, то все зависит от частоты дискретизации и порядка фильтра.
>сделать кроссовер
Но зачем для этого ЦОС?
Аноним 27/01/19 Вск 01:31:59 354566253
>>354564
Чтобы вместе с кросовером можно было вхардкодить эквализацию, и всё это вбить в один короткий импульс. а точнее по импульсу на каждый из динамиков, в типичной стереосистеме этих динамиков 4 штуки. Частота дискретизации? Ну не знаю, по идее 96кгц хватило бы, лично мне по крайней мере точно.
Мне надо понять что именно гуглить для этого, я не очень въезжаю.
Аноним 27/01/19 Вск 02:13:12 354567254
>>354564
В любом случае кажись я понял куда копать, в сторону эмуляции гитарных кабинетов, там эта тема будет нормально раскрыта, т.к там в обязательном порядке в результате процесса звукозаписи формируется импульс для конволюции.
Аноним 27/01/19 Вск 03:18:13 354573255
stm32cube-5.png 109Кб, 1016x900
1016x900
>>352794
Не слушай этого дебила. Ставь system workbench for stm32 и stm32cubemx. Последний генерирует код для первого, периферия тупо кнопками настраивается. В настройках генерации выбирай SW4STM32 IDE, генерируй, дальше уже код меняй, и дрочи HAL.
Аноним 27/01/19 Вск 07:07:09 354580256
>>354567
Можешь написать то же но на русском или на английском, а то ничего не понятно.
>один короткий импульс.
>импульс для конволюции
О чем ты вообще? Открой любой учебник по ЦОС - там не будет таких терминов.

>что именно гуглить для этого, я не очень въезжаю.
Естественно, для начала терминологию изучи.
>в сторону эмуляции гитарных кабинетов
Можешь сколько угодно копать, но от этого STM32 не станут лучше подходить для ЦОС.
Аноним 28/01/19 Пнд 10:17:15 354731257
>>354573
Ты, видимо, промазал. Все так и делаю, только в тру студио, он новее и лучше чем воркбенч.
Аноним 28/01/19 Пнд 10:23:53 354732258
>>354731
Дай ссылку, а? Хочется вкатиться, а создание первичного кода было год назад через задницу и ничего с пинка не работало.
Аноним 28/01/19 Пнд 12:32:10 354744259
Используйте лучше CMake.
Аноним 28/01/19 Пнд 14:21:28 354767260
>>354732
Открываешь две вкладки в браузере, в одной набираешь в гугле Atollic TrueStudio, в другой STM32CubeMX. Обучалка есть в ютубе на канале NordicEnergy.
Аноним 28/01/19 Пнд 19:46:46 354860261
>>354767
Только на канале narod stream. Там с халом и нуклео, для вката самое то.
Аноним 29/01/19 Втр 04:46:06 354886262
154181500916172[...].jpg 117Кб, 978x1304
978x1304
А кто-нибудь прикручивал Black Magic Probe к какой-нибудь IDE?
Аноним 29/01/19 Втр 07:38:10 354898263
>>354886
Это не нужно, есть J-Link.
А в чем проблема? Принцип тот же самый что при использовании OpenOCD или других GDB-серверов.
Аноним 29/01/19 Втр 17:27:18 354951264
151773568718136[...].jpg 248Кб, 1242x1209
1242x1209
>>354886
Мне понадобился встроенный UART и я перепрошил свой ST-link в него. И внезапно осознал, что не знаю, как прикрутить это к Кейлу.
Аноним 29/01/19 Втр 19:46:23 354961265
>>354951
Наверное к кейлу по нормальному действительно сложно приделать сторонний программатор/отладчик.
С программированием проблем не должно быть, достаточно лишь использовать "Use External Tool for Flash Programming". http://www.keil.com/support/man/docs/uv4/uv4_fl_usingflashmenu.htm
А с отладкой наверное никак, кейл вроде как не умеет работать с gdb. Большинство IDE нормально работают с gdb, но тебя угораздило выбрать кейл.
>понадобился встроенный UART
Наверное ты и так знаешь, но на всякий случай напишу. Отладочную информацию можно выводить с простым ST-Link через SWO.
Аноним 29/01/19 Втр 22:17:30 354970266
>>354961
>Отладочную информацию можно выводить с простым ST-Link через SWO.
Там только в одном направлении, а я хочу как в ардуине, чтобы и туда послать можно было. Приходится подключать дополнительный UART-USB.
>Большинство IDE нормально работают с gdb
На какой-нибудь atollic truestudio это натягивается?
Аноним 29/01/19 Втр 23:51:28 354976267
Я сегодня узнал, что трустудио умеет в гит искаропки. Каждый день что-то новое, отлично просто.
30/01/19 Срд 00:16:31 354980268

>>354970
не знаю как в nucleo, сам регулярно юзаю discovery stm32f723, то у неё прокидан виртуальный ком порт через st-link (как архуины)
Аноним 30/01/19 Срд 01:38:47 354985269
>>354980
>nucleo
У меня 2 Blue Pill вставленные в бредборд. Одна из них в роли отладчика :з Покупать стшные платы жаба душит.
Аноним 30/01/19 Срд 05:58:37 354996270
>>354976
>трустудио умеет в гит искаропки
интересно. а куда тыкаться? :-)
Аноним 30/01/19 Срд 07:04:42 354998271
>>354970
>atollic truestudio
Это обыкновенный эклипс с плагинами. Как использовать этот отладчик с эклипсом вполне находится гуглом.
Аноним 30/01/19 Срд 07:22:25 354999272
>>354996
Гитом создаёшь локальный репозиторий, или клонируешь его в папку. Потом в эту папку генерируешь кубом проект трустудио, и открываешь. Если репо подцепился, то в трустудио рядом с названием в project explorer (список проектов слева) рядом с названием появится [твойгитрепо] и становятся доступны действия из пкм->Team. Хотя GitKraken по-прежнему удобнее, чем из трустудио.
Аноним 30/01/19 Срд 09:23:36 355003273
>>354999
>>354976
Только правильнее будет написать, что для эклипса есть плагин EGit, который по умолчанию установлен в этой студии. Этот плагин можно установить в любом поделии на эклипсе. Причем установка плагинов через marketplace аналогична установке дополнений в браузере - открыл каталог, ткнул в нужное и готово.
Аноним 30/01/19 Срд 09:25:46 355004274
>>354998
>Как использовать этот отладчик с эклипсом вполне находится гуглом
Ну если бы я нашел в гугле, я бы не полез сюда. Можно ссылочку. С меня большое спасибо.
Аноним 30/01/19 Срд 12:18:41 355018275
Аноним 30/01/19 Срд 23:18:07 355158276
Anime-Anime-Art[...].png 1330Кб, 1000x1245
1000x1245
>>355018
Я уже был по этим ссылкам и ничего не понял. Но все равно спасибо, пойду раскуривать это дальше.
Аноним 31/01/19 Чтв 06:54:37 355168277
>>355158
>ничего не понял.
Я тоже все это не идеально знаю, но попробую объяснить ничего не напутав. Хотя ты может и так это все знаешь.
GDB - это консольная программа со своими командами, которые можно выучить и отлаживать без IDE. Для отладки, IDE запускает GDB и передает туда команды, аналогично тому, как если бы это делал человек вручную. При использовании GDB-сервера вроде OpenOCD (ST-LINK GDB-server, J-Link GDB Server и прочие) сначала запускается GDB сервер, потом запускается сам GDB, в который передается адрес, порт сервера и elf-файл. При использовании Black Magic Probe вместо адреса сервера задается порт, естественно другой командой.

Соответственно IDE нужно настроить таким образом, чтобы оно не пыталось подключиться к серверу (через TCP) или не пыталось запустить как нативную программу. А все необходимые для подключения команды (порт, elf-файл) передавать либо через опцию командной строки "-ex" либо сохранить в отдельный файл как скрипт и передавать уже его.
Для начала, если ты этого еще не делал, я бы попробовал все эти команды ввести вручную, без IDE. Но лучше возьми J-Link и не пользуйся кривыми поделками.
Аноним 31/01/19 Чтв 07:07:01 355170278
>>355168
GDB сервер там работает и даже програмируемый микроконтроллер видно. Осталось понять как заставить Трустудио подключаться к отладчику не по TCP, а через COM порт. В обычном эклипсе это есть, в Трустудио это куда-то упрятано.

>не пользуйся кривыми поделками
если не осилю просто перешью Блюпилл, который отдадчик, обратно в ST-link. Но хочется COM порт в отладчике, чтобы не подключать кучу лишних кабелей.
Аноним 31/01/19 Чтв 07:41:47 355171279
>>355170
В чем тогда проблема использовать обычный эклипс?
Либо, если иначе никак, можно попробовать соорудить костыль - скрипт, который подменяет или переопределяет команды для GDB. Вроде как такое проще сделать на питоне посредством gdb-py.
Как-то так https://github.com/in4lio/mdr1986x-JFlash
Аноним 31/01/19 Чтв 16:51:57 355244280
>>355171
>обычный эклипс
Лишний пердолинг с генерацией проекта в кубе. Хотя там не так и сложно.
Аноним 31/01/19 Чтв 16:56:37 355245281
А VisualGDB на рто как раздавали, так и раздают. GDB да в вижуал студио 2017, ух бля. Куб генерит искаропки под него почти все. Не генерил у меня только связку LL+FreeRTOS, остальное норм.
Аноним 31/01/19 Чтв 18:53:07 355252282
>>355245
>генерит искаропки под него
Уж лучше мейкфайлы использовать.
Аноним 31/01/19 Чтв 20:39:51 355260283
T
Аноним 31/01/19 Чтв 20:47:26 355261284
>>355252
Да сразу на асме бахай, нахер те этот высокоуровневый си.
Аноним 31/01/19 Чтв 22:30:13 355275285
Сап радач, дело в том, что есть одна отладочная платка STM32F407Discovery, и вот такие видеоуроки
https://www.youtube.com/watch?v=VD8OaPyAEtI&index=11&list=PL8OgDYWys_b6XtOjCejd37aVv0ic24jqV
Если я освою все это, то мне этого хватит, чтобы найти работу инженером микропроцессорных систем, или нужно еще что-то? из МК знаю только MCS-51, и вот сейчас стм32 начал ковырять
Аноним 01/02/19 Птн 07:40:38 355304286
>>355245
> ух бля
black magic probe заработал в визуал студии с VisualGDB. Регистры видно, можно рулить светодиодом прямо из отладки. Аж обои от стен отклеиваются. Пойду удалять Эклипс.
Аноним 01/02/19 Птн 11:33:20 355322287
>>355275
Для начала хватит чтобы ваять программы, а остальное зависит от работодателя. Хотя в будущем придется изучать самостоятельно дальше и больше всякие фичи из даташита. Ну и сами уарты-хуярты с прочими интерфейсами читай. Он вроде не объясняет. А в работе нужно знать.
И учти что у него в первом видосе не полностью указывается как создать проект (он это объясняет где-то в 4ом видео или около того) и откуда качать библиотеки ищи в комментариях под нужным видео. Сайт обновился и инструкция в ролике немного не актуальная.
Добра тебе
Ps сам изучал по этим роликам и год с лишним пользуюсь кейлом +stdperiph
Аноним 01/02/19 Птн 11:35:15 355323288
>>355322
>>355275
А вообще если нужно для работы, то почитай hh и выдели что в требованиях пишут.
Аноним 01/02/19 Птн 12:19:52 355326289
>>355275
>найти работу инженером микропроцессорных систем
ЗАБУДЬ.Будешь сосать последнюю залупу по этому направлению.
Учи лучше Java, будешь получать чуть больше, чем дворник или сантехник из ЖЭК-а.
https://www.rbc.ru/newspaper/2016/07/05/577a08e19a794717070ba97b
"R&D в России — это дешево. Например, китайский software-инженер стоит $150 тыс. в год, это приближается к зарплатам в Калифорнии. Те, кто занимается computer science, — $200–250 тыс. в год. Наши инженеры стоят в разы дешевле."
Аноним 02/02/19 Суб 15:17:08 355494290
Аноним 07/02/19 Чтв 00:59:48 356075291
1.png 36Кб, 830x734
830x734
2.png 48Кб, 685x948
685x948
Здравствуйте. Такая проблема у меня. Есть один микроконтроллер. И есть SD-флешка. Подключаю её по SPI. Пока флешка была новая и чистая всё работало, флешка инициализировалась, файловая система монтировалась, файлы записанные на неё читались. После того как я очередной раз записал на неё парочку файлов, флешка внезапно перестала инициализироваться. Купил новую флешку, закинул на компьютере на неё файлы, вставил - всё опять прекрасно работает. До того момента когда я ещё раз не попытался записать на неё ещё на компьютере. После этого она аналогично перестала инициализироваться. Причём на компьютере обе карты без проблем читаются и пишутся.
На пиках мой код. Красным подчеркнул там где обнаруживается косяк - в этом месте возвращаемый переменной ans ответ функции transfer =-1, то есть нет ответа по линии MISO. Смотрел осциллографом - SCK, MOSI - всё ок, то есть команда отсылается, CS тоже вроде всё на месте. Дальше идут тактовые сигналы по SCK - а ответа нет, на MISO остаётся единица. Пробовал на разной скорости - и на 32МГц, и на 250кГц - ничего не меняется, причём новая флешка работала на любой. На MISO у меня включена подтяжка. Что я делаю не так?
Аноним 07/02/19 Чтв 15:34:12 356116292
>>356075
>Что я делаю не так?
Форматируешь в компе?
Аноним 07/02/19 Чтв 20:39:04 356168293
>>356116
Всё, уже разобрался. Вот, выделил то, что пофиксил. После этого всё заработало. Пробовал вообще выпиливать этот кусок - тоже работает, видимо это для каких-то совсем древних флешек предусматривают. Кстати, пробовал ещё втыкать простую флешку (не НС) на 2 Гб. Думал что будет определяться как тип 1, но нет. Определяется как тот же тип 2, только без блочной адресации (номер сектора при доступе нужно умножать на 512). Ещё у меня теперь инициализируется на частоте 250кГц, потом если ок, то переключается на 32МГц. Так, на всякий случай, хотя оно и на 32МГц инициализируется.
Аноним 07/02/19 Чтв 20:42:17 356169294
11.png 152Кб, 826x722
826x722
>>356168
Пикча отклеилась.
Аноним 08/02/19 Птн 07:56:40 356221295
>>356169
>Пикча отклеилась.
Ой, блядь. Всё сразу стало понятно. После просмотра рандомного кода на первых двух и отклеившейся. Ты просто космос, Анон.
Аноним 08/02/19 Птн 08:11:40 356222296
>>356221
Для тех, кто подключал sd флешку вполне должно быть понятно, так как непосредственную работу с интерфейсом тут всегда нужно прописывать ручками. Так что не понимаю твоего подрыва, мог бы просто пройти мимо.
Аноним 08/02/19 Птн 13:16:52 356263297
1549620999562.png 291Кб, 768x841
768x841
1549620999858.png 319Кб, 768x892
768x892
Дороу, хочу вктатиться в ARM и смотрю на две платы: NUCLEO-F767ZI и NUCLEO-H743ZI. Разница -- 300 рубасов. Какую взять?
На бумаге H7 интереснее, а на практике?
Аноним 08/02/19 Птн 13:53:42 356264298
>>356263
H-серия не поддерживается многими сторонними штуками вроде micropython , mbed, embedded rust etc, или поддерживается на уровне "быстрый F7". Но это пока что.
Аноним 08/02/19 Птн 15:12:37 356274299
Аноним 08/02/19 Птн 16:53:25 356288300
15400346493000.jpg 63Кб, 816x816
816x816
>>356274
У меня первая уже пяты год валяется. Все никак не соберусь с духом поковырять. Кек. Еще за 2400 покупал, в 2014
Аноним 08/02/19 Птн 22:16:43 356316301
>>356222
И да, аноны. Ещё одно наблюдение. Библиотека FatFs глючит, если в настройках ИАРа включён уровень оптимизации выше среднего. Уж не знаю чего он там накрутил, разработчик сей библиотеки. Мне пока лень разбираться. Возможно как-нибудь прослежу в отладке, возможно проставить нужно где-то volatile. Пока что допилил их для быстрой загрузки картинок через DMA - как минимум раза в два быстрей стало выводиться на экран.
Аноним 08/02/19 Птн 22:48:01 356324302
>>356316
Есть вообще разница что юзать, ИАР или Кеил? Я пока что у кеила недостаток нашел только в том, что нет "Live watch" в менюхе view
Аноним 09/02/19 Суб 00:01:26 356332303
>>356324
Никогда не юзал кил, поэтому не могу ничего сказать. Мне и божественного ИАРа хватает.
Аноним 10/02/19 Вск 14:05:51 356535304
>>339005 (OP)
Решил перекатиться с авр на стм, короче вопрос такой - есть у меня самописная либа для управления дисплеями типо 1602 по 4 wire интерфейсу, но она под авр, я хочу ее переделать под стм, но уже в самом начале возникла проблема: у меня либа состоит из файла с самой прогой и файла с расширением h, в h прописывается к каким портам что подключать вот таким образом:
// порт к которому подключаем шину данных
#define DPORT PORTD
#define DDDR DDRD
#define DPIN PIND

// порт к которому подключаем RS, RW, E
#define CDDR DDRD
#define CPORT PORTD

Похоже в стм порты называются несколько по другому чем в авр, потому что на PORTD, DDRD, PIND и т.д. компилятор ругается (Error: Identifier "DDRD" is undefined in "lcd.cpp", Line: 8, Col: 6).
Вопрос - где можно глянуть названия портов для стм? И нужно ли для того подтягивать какие либо либы типо io.h как в авр?
Аноним 10/02/19 Вск 14:57:55 356550305
gpio.PNG 185Кб, 1412x687
1412x687
>>356535
>где можно глянуть названия портов для стм?
Аноним 10/02/19 Вск 15:14:01 356552306
>>356550
А ссылочку можешь кинуть? А?
Аноним 10/02/19 Вск 15:16:40 356554307
>>356552
>А ссылочку можешь кинуть? А?
Ты трудный какой-то. Какой у тебя камень? В каком IDE пишешь? https://st.com все мануалы, даташиты, сопутствующее ПО, драйвера и прочая чухонь.
Аноним 10/02/19 Вск 15:21:36 356557308
>>356535
Гугл в помощь. Порты там перебить и всё будет работаь. Для вывода значения в порт есть регистр PORTx->ODR - аналог PORTx у атмеги, для атомарного вывода на пин PORTx->BSSR - аналог операций PORT{x}_Bit{y}={1 или 0} (или ассемблерных команд sbi/cbi) у атмеги. Библиотечные функции HAL_WritePin использовать можно, но дисплей будет работать раза в полтора-два медленнее, чем при работе напрямую с портами через BSSR.
Аноним 10/02/19 Вск 15:30:48 356561309
>>356535
И да, для работы по SPI для начала лучше используй библиотечные функции из библиотеки HAL - самая главная для тебя это HAL_SPI_Transmit(), для вывода пикселей лучше использовать HAL_SPI_Transmit_DMA() - быстрей будет работать. Но для этого придётся устанавливать STM32CubeMX, либо изучать всё это дело и инициализировать вручную, либо самому накатывать библиотеку HAL.
Аноним 10/02/19 Вск 16:14:38 356573310
>>356554
IDE - mbed, камень stm35l053r8. Ок я понял, просто на стм не работал вообще поэтому могу тупить.
>>356557
Вот теперь уже несколько понятнее стало.
Аноним 10/02/19 Вск 17:47:30 356594311
>>356573
>IDE - mbed
Проиграл с мани. Установи нормальное ПО уже наконец и не еби моск. Используй СТМ-кубик - он упрощает вхождение в СТМ. Ты бы ещё в Atollic программу писал.
>stm35l053r8
Хотя куда тебе программировать, если ты даже название своего процессора без ошибок не можешь написать.
опытный иараст
Аноним 11/02/19 Пнд 10:09:24 356652312
>>356535
>PORTD, DDRD, PIND
>PORTD

GPIOC
@
GPIO_PIN_13
@
GPIO_PIN_SET
@
GPIO_PIN_RESET
@
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
Аноним 11/02/19 Пнд 10:48:14 356656313
>>356594
Ну не ругайся, я же писал что совсем нуб в стм. После авр с которым 3 года проработал все очень необычно. Даже названия микроконтроллеров. Борду купил, мозги и руки не купил.
Кстати mbed мне тоже много чем не нравится. Мне бы какую-нибудь IDE с автоматическим поиском методов по всей структуре программы как ко всяких Visual Studio, Sharp Develop и т.д.
>>356652
Короче как я понял вместо DDRD в стм нужно писать GPIOD, вместо RS 5 писать RS GPIO_Pin_5, а вместо CDDR |= (1 << RS) нужно писать GPIO_SetBits(CDDR, RS); ну и GPIO_ResetBits(CDDR, RS); соответственно.
Правда не совсем понятно как сконфигурировать несколько портов одинаковым образом, например мне нужно сконфигурировать 4 порта определенным образом. Для конфигурации 1 порта на выход с подтяжкой к земле нужно написать вот такую телегу:
GPIO_InitTypeDef data;

data.GPIO_Mode = GPIO_Mode_OUT; // Выход
data.GPIO_OType = GPIO_OType_PP; // Хз зачем надо
data.GPIO_PuPd = GPIO_PuPd_DOWN; // Подтяжка на землю
data.GPIO_Speed = GPIO_Speed_2MHz; // Скорость низкая
data.GPIO_Pin = GPIO_Pin_2; // 2 вывод

GPIO_Init(GPIOD, &data);
И так для каждого вывода чтоли? Это же ебнутся можно. Есть способ это сократить?
Аноним 11/02/19 Пнд 11:11:05 356659314
>>356656
Хотя чего это я туплю, можно же метод создать:
void ConfigPort(char port, char pin)
{
GPIO_InitTypeDef data;

data.GPIO_Mode = GPIO_Mode_OUT;
data.GPIO_OType = GPIO_OType_PP;
data.GPIO_PuPd = GPIO_PuPd_DOWN;
data.GPIO_Speed = GPIO_Speed_2MHz;
data.GPIO_Pin = pin;

GPIO_Init(port, &data);
}

ConfigPort(GPIOD, GPIO_Pin_2);
Могут быть ошибки, но суть я думаю понятна. Или можно как-то проще?
Аноним 11/02/19 Пнд 11:18:26 356662315
>>356656
Если надо сконфигурировать одинаково несколько пинов одного порта, в структуре параметр pin можно писать несколько ножек через ИЛИ
GPIO_Pin_1|GPIO_Pin_3
Аноним 11/02/19 Пнд 11:20:19 356663316
>>356659
Проще только в кубе тыкать наверное
И ты тут забыл тактировние порта врубить. И тип входных параметров мне кажется неверный.
Аноним 11/02/19 Пнд 11:36:00 356667317
>>356662
О! Вот то что надо. Знал же что должен быть способ.
>в структуре параметр pin можно писать несколько ножек
Вот так чтоли?
data.GPIO_Pin = pin1;
data.GPIO_Pin = pin2;
data.GPIO_Pin = pin3;
data.GPIO_Pin = pin4;
>>356663
А зачем тактирование врубать в данной ситуации вообще?
Тип возможно и неверный. Не отрицаю.
Аноним 11/02/19 Пнд 11:48:49 356668318
>>356667
А забей. Жопой твой пост прочел, думал ты написал "писать несколько ножек или через ИЛИ".
Аноним 11/02/19 Пнд 12:58:42 356687319
>>356667
Тактировние надо включить, потому что у тебя работать иначе не будет. В стм по умолчанию почти вся переферия отключена. Перед использованием надо поднять соответствующий бит в регистрах rcc, чтобы подключить нужную фигню к тактировние шине.
Аноним 11/02/19 Пнд 16:25:28 356725320
>>356687
А, ты неверное про это RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE); ?
Аноним 11/02/19 Пнд 17:51:55 356743321
Аноним 11/02/19 Пнд 21:17:40 356780322
>>356656
> CDDR |= (1 << RS) нужно писать GPIO_SetBits(CDDR, RS); ну и GPIO_ResetBits(CDDR, RS);
Да. Но лучше всё-таки с регистрами портов атомарно обращаться, также как в атмеге. Здесь всего-то выучить как правило:
GPIOA->BSSR = 1<<(pin1|pin2) - установить ноги
GPIOA->BSSR = 1<<((pin1|pin2)+16) - сбросить ноги
value=GPIOA->IDR - считать состояние ногю
>Ну не ругайся
>ебнутся
Как на тебя не ругаться, если ты даже русский язык не осилил. В таком случае тебе лучше использовать библиотечные функции, как в ардуино иде, а инициализацию генерировать в кубике, тамм уж совсем для дебилов всё сделано чтоб освоили.
Аноним 12/02/19 Втр 21:47:39 356899323
может для кого-то банальный вопрос (тому респект и уважуха за ответ), но прошу пояснить.
Начал изучать FreeRTOS и там написано что мол все круто, псевдопараллельность выдается за счет того что каждый равный промежуток времени обработчик задач (sheduler) забирает выполнение от одной задачи, сохраняя все данные в стек, и дает поработать следующий квант другой задаче.

Появилось два не связанных вопроса
1) Если у меня задача скажем выполнится за время, меньшее чем системный квант, он пойдет по новому кругу выполнения или отдаст власть обработчику? (написал и думаю ответ в самом вопросе --> новая итерация бесконечного цикла в задаче. Но все равно жду ответ знающих)
2) Если системный квант равен скажем 1мс, а одновременно работающих задач у меня скажем штук 200. Значит ли это, что если одна из задач выполняет обработку клавиатуры, то со стороны человека она будет как-бы тормозить? Реакция на нажатие же 200мс = 200 задач, слишком частое нажатие тупо не сможет обработаться
Аноним 13/02/19 Срд 12:30:19 356970324
А как можно убрать одиночный импульс при запуске ШИМа на таймере? У меня от этого светодиоды на ws2812 глючат.
Аноним 13/02/19 Срд 14:44:49 356984325
>>356970
>>356970
> как
Вставить задержку перед выдачей ШИМа в ногу?
Аноним 13/02/19 Срд 19:38:57 357002326
>>356984
>Вставить задержку
Я вообщем-то так и сделал, но я думал, что я в кубе что-то забыл настроить.
Аноним 13/02/19 Срд 20:01:10 357003327
PWM.png 44Кб, 1122x497
1122x497
Аноним 13/02/19 Срд 21:24:03 357010328
IMG201803071304[...].jpg 37Кб, 672x372
672x372
Аноны, я правильно понял вот этого
https://blog.danman.eu/st-link-clone-as-stm32-dev-board/
что для вкатывания хватит двух st-link v2 клонов, и можно сразу начинать одним прошивать другого?
Аноним 13/02/19 Срд 21:51:07 357015329
>>356970
>>357003
>А как можно убрать одиночный импульс при запуске ШИМа на таймере?
Никак. Только допиливанием библиотеки HAL.
Аноним 14/02/19 Чтв 01:13:35 357026330
IMG201902140105[...].jpg 106Кб, 1048x786
1048x786
>>357010
>для вкатывания

Да. Выпаиваешь оттудова камень и впаиваешь в свою плату.

Две платы Blue Pill самое то. Одну через UART-USB переходник или ардуину прошить в ST-Link. Подключить и работать со второй.

https://hackaday.io/project/158262-using-blue-pill-stm32f103c8t6-as-st-link

На фотке немного другое, но принцип тот-же.
Аноним 15/02/19 Птн 14:19:41 357171331
image.png 18Кб, 680x285
680x285
image.png 16Кб, 437x727
437x727
Привет анон.
У меня возникла проблема с Дискавери (stm32f407g disc1).
Настраиваю порт B как показано на первом пике. Но при работе, вижу охуительную картину - висящая в воздухе дискавери, не подключенная ни к чему, детектит единицу на входе PB6 (второй пик).
Я что-то делаю не так? Тут есть какой-то нюанс, который надо учитывать?
На порте E такой хуйни не нашёл.
Аноним 15/02/19 Птн 18:24:12 357191332
pull-up.png 58Кб, 535x459
535x459
Аноним 15/02/19 Птн 19:10:06 357198333
>>357191
Спасибо.
Это бля.
Есть предложения, как пофиксить? Не выпаивать же её.
Аноним 15/02/19 Птн 21:36:23 357209334
>>357198
есть предложение использовать другую ногу, а не расхуячивать плату
Аноним 15/02/19 Птн 21:50:48 357210335
>>357209
Отдельную ногу не вариант, придётся переносить как минимум пины с 0 по 7.
Аноним 17/02/19 Вск 10:15:04 357292336
>>357210
Пока пришлось отпаять подтяжку.
Если есть варик как запустить эту красоту с подтяжкой на месте - было бы збс.
Аноним 17/02/19 Вск 13:57:50 357323337
>>357292
Чувак, просто интересно, чем тебя другая нога не устраивает,? Уверен, на плате достаточно свободных пинов
Аноним 17/02/19 Вск 17:02:45 357342338
>>357323
Потому что я уже спаял макетку и мне лень перепаивать 16 проводов.
Аноним 17/02/19 Вск 17:27:54 357344339
Нужно собрать проект, в котором stm32F103 работает с EEPROM. Думаю использовать для этой цели BluePill, а вот как память подключить хз. И в инетах никаких гайдов нет
Аноним 17/02/19 Вск 21:21:45 357367340
>>357344
Любишь BDSM? Бери что-то типа 24LC64 и подключаешь по IIC, который может зависнуть в любое время, или писать программную реализацию IIC.
Не любишь BDSM? Берешь что-то типа 95512 https://www.st.com/resource/en/datasheet/m95512-df.pdf - EEPROM с SPI интерфейсом.
Где-то посередине - 93С66 и подобные 93 серии.
Если верить производителю - хуй вам, а не EEPROM - используйте одну/../ из страниц FLASH памяти(с).
Аноним 18/02/19 Пнд 06:56:49 357404341
Blank+edb31036d[...].jpg 10Кб, 326x195
326x195
>>357367
>stm32
>iic может зависнуть
Серьёзно? Как так?!
Аноним 18/02/19 Пнд 09:10:55 357418342
>>357404
F100 серия была первопроходцем, самая горбатая из всех. Описания вообще всех проблем есть в Errata shit на любое семейство.
Пользуйте F0/F2/F3/F4/L серии, 100 слишком горбата, много отличий. На любую серию МК есть листок "миграция с 100й серии" что как-бы намекает, что даже производитель считает их мусором
Аноним 18/02/19 Пнд 09:17:55 357419343
>>357418
В демоплату STM32VLDISCOVERY нормально становится F071/F301 и подобное пин ту пин. Проще выкинуть 100ю серию и забыть
Аноним 18/02/19 Пнд 12:23:03 357439344
BEAR-USTAL.png 434Кб, 564x564
564x564
>>357418
>производитель считает их мусором
Аноны, посоветуйте тогда годную недорогую плату на СТМ32 для собственных экспериментов.
Аноним 18/02/19 Пнд 16:43:16 357488345
>>357418
Посоветуй камень:

два SPI
три UART
аппаратный TRNG
флеш хотябы 128кб
оперативной памяти 20кб
цена: до 2$
Аноним 18/02/19 Пнд 18:40:30 357499346
>>357488
>цена: до 2$
Сильно растяжимое требование. Цена при покупке в каком месте? При каких партиях?
>аппаратный TRNG
Чем не подходит младший разряд с АЦП? Можешь еще диод с обратным смещением приделать, чтобы сильнее шумело.
Аноним 18/02/19 Пнд 20:49:25 357508347
12.PNG 62Кб, 567x460
567x460
>>357488
>аппаратный TRNG
Вещь сомнительной полезности. F405 с ней, в китае они по 3,5$.
По остальным требованиям ближе всего пойдет старшие F0 семейство (16кб озу)
Аноним 19/02/19 Втр 13:03:22 357545348
>>357488
Прямо сейчас, в электронщике, 401vbt6 по 175р. Не джва бакса, но близко
Аноним 19/02/19 Втр 15:55:56 357562349
>>357545
В китае STM32F401RCT6 1$ стоит. Хватит кормить барыг и пыню
Аноним 19/02/19 Втр 16:48:24 357573350
Аноним 19/02/19 Втр 17:36:08 357577351
>>357562
Разве что сальваж. Не может новая стоить 60р. Да и сдается ты пиздишь безпруфно в тред
Аноним 19/02/19 Втр 23:10:07 357599352
>>357573
>кокхол что ли?
Да

>>357562
>Да и сдается ты пиздишь безпруфно в тред
https://item.taobao.com/item.htm?id=544907210814
Конкретно у этого продавца беру и F4 и F0 серии, ADUMы различные, АЦП, Токовые ЦАПы. Разницы с деталями с маузера/фарнела/тме не заметил ни визуально ни в работе. Можете брать смело. Если детали не оригинал или Б/У это пишут в описании.
Например SP485
Оригинал https://item.taobao.com/item.htm?id=549197050879
Китайская копия https://item.taobao.com/item.htm?id=524754218256
Как видите разница в 10 раз. Копии кстати хорошо работают. Единственно что, подтяжки внутри у них более высокоомные. Ну и на "живую" длинную линию я не рискнул бы ставить без испытаний переходных процессов.
Выбор есть, ультрадешевые китайские копии, или дешевые оригиналы.
То же самое и дисплеев касается, 16х2 классический стоит меньше доллара. Большой ассортимент, в десятки раз больше чем могут предложить где угодно. Особенно COG графические. С местных цен хуею давно. Но знаю точно одну вещь, если цена с доставкой и всеми расходами ниже в 2-2,5 раза чем в космодроме - смело берите, это оригинальные детали.
Аноним 19/02/19 Втр 23:26:50 357605353
>>357577
Разве что сальваж. Не может новая стоить 60р.

Вам барыги это втюхали в головы. Все детали в китае дешевле раза в 3 как минммум из-за отсутсивия импорт/экспорт пошлин, НДС, барыжинга, зарплат монагеров и машин директора.
По своему опыту - видишь цену, дели в уме на 2-3 раза, это то, что ты заплатишь за поставку напрямую с китая, где стоят эти заводы где клепают эти микросхемы.
Аноним 20/02/19 Срд 04:18:57 357614354
1471599687874.jpg 151Кб, 1280x1381
1280x1381
>>357599
>космодроме
Как он меня заебал, блядь. Гандоны, блядь, в 2к19м году не иметь https? Сайт из 90х. Вы если цены заломали, то сделайте хоть сайт удобный.
Аноним 20/02/19 Срд 04:57:02 357619355
>>356316
Выбросил бы ты fatfs, и взял бы littlefs. Меньше памяти, wear leveling, также можно монтировать в комп через блочное устпоймтво. Fatfs оперативно тебе флешку ушатает.
Аноним 20/02/19 Срд 07:03:46 357623356
>>357614
>2к19м
Не продолжай, все с тобой понятно.
Что с ценами не так, примерно +- как у других. Космодром, VDMAIS и РКС в принципе полностью перекрывают потребности для прототипов. Для серии даже 10шт - китай.
Аноним 20/02/19 Срд 14:29:33 357649357
>>357623
Ты мой пост читал? Я рвался на сайт, а не на цены.
Аноним 20/02/19 Срд 14:43:05 357650358
>>357649
Окей, каким должен быть сайт радиокомпонентов? Свистелки и перделки? Или как у РКС конченое глючащее жабаскрипт говно? Зато новое.
По личному опыту формирования закупок на 200+ позиций, удобнее космодрома пока не видел сайтов
Аноним 20/02/19 Срд 15:30:32 357653359
1481723400725.jpg 462Кб, 3216x2136
3216x2136
>>357650
По приоритету
1. АШ ТИ ТИ ПИ ЭС блядь. Не заказать все эти 200 позиций, не слив провайдеру/СБУ/твоей мамке их содержимое вместе с твоим номером телефона именем и адресом
2. Поисковой движок говно, только точное совпадение или соси хуй. Фильтров нет, иди нахуй. Категоризация только если повезет и найдешь страницу линейки чипов.
3. Даташитов часто нет, пиздуй гуглить. Ой, не гуглится? Мы же заказали это у ноунейм китайцев, на плате ни обозначений нихуя, ну сорян придумаешь что-нибудь.
4. Вырвиглазный дизайн, каждая страница самая блять разнообразная по стилю.
5. В корзине блядь не узнать что ты там назаказывал, только наименование товара (50% их собственное) и пиздуй обрать искать в их "движке" этот товар чтоб понять что это.
Аноним 20/02/19 Срд 15:35:44 357654360
>>357650
В догонку, пидарасы разбросали все по двум магазинам, шоб и дальше быть ФОПами и наебывать налоговую. Из-за этого самому заехать и забрать не получится, обязательно придется ездить и туда и туда. Ну или заказывать по НП в тот же город, но доставка минимум 4 дня получается. Обычно в среду заказываешь, в понедельник забираешь.
Аноним 20/02/19 Срд 22:00:16 357688361
>>357599
>Конкретно у этого продавца беру
>Согласно соответствующим местным законам и правилам и политике Taobao, этот товар не может быть отправлен в вашу страну или регион.
Кто-то запизделся.
Аноним 20/02/19 Срд 22:04:59 357689362
Подскажите, пожалуйста, что будут спрашивать на собеседовании на программиста микропроцессорных систем. Наконец-то судьба дает мне шанс, а я не готов, и времени до пятницы.
Аноним 20/02/19 Срд 23:04:24 357697363
Привет анон.
Странная ситуация - никак не могу настроить I2C Slave при помощи Cube/Hal. (пробовал на f103 и f407).
Вроде составляю всё правильно, но при попытке обратиться на выбранный мною адрес - не получаю никакого прерывания (в кубе они конечно выбраны).
ЧЯДНТ? Есть годный пример? А то гугл направляет только на встроенные кьюбо-примеры, которые мне нихуя не понятны.
Аноним 21/02/19 Чтв 05:50:27 357730364
>>357697
Школотрон, хватит летать в облаках, вернись на землю. Крыльями поделишься?
Старый говнокод закоса под память 24 серии. Буду рад бурлящим потокам говна.
unsigned char i2cbuf[256];
unsigned char i2cbuf_i=0;
void I2C3_EV_IRQHandler(void)
{
static volatile unsigned short tmp1,tmp2,SR1,SR2;
static volatile unsigned char addr;
SR1 = I2C3->SR1;
SR2 = I2C3->SR2;
if (SR1 & I2C_SR1_RXNE) //incoming
{
if (addr)
i2cbuf[i2cbuf_i++]= I2C3->DR;
else
{ i2cbuf_i = I2C3->DR;
addr = 1;
};
};
if (SR1 & I2C_SR1_TXE) //send spam
{
I2C3->DR = i2cbuf[i2cbuf_i++];
};
if (SR1 & I2C_SR1_AF) //last byte send
{
I2C3->SR1 = (I2C3->SR1 & (~I2C_SR1_AF));
addr = 0;
};
if (SR1 & I2C_SR1_ADDR) //start
{
I2C3->CR1 = (I2C3->CR1 & (~I2C_CR1_STOP));
};
if (SR1 & I2C_SR1_STOPF) //stop
{
I2C3->CR1 |= I2C_CR1_STOP;
addr = 0;
};
};
void I2C3_ER_IRQHandler(void)
{
};

...
MX_I2C3_Init();
...
//FUCK HAL! Tune I2C3 Interrupts
//Enable ITEVFEN & ITBUFENT INT
I2C3->CR2 |= (I2C_CR2_ITEVTEN | I2C_CR2_ITBUFEN);
I2C3->CR1 = (I2C3->CR1 & (~I2C_CR1_PE));
I2C3->OAR1 = 0x002A;
I2C3->FLTR = I2C_FLTR_ANOFF;
I2C3->CR1 |= I2C_CR1_PE | I2C_CR1_ACK ;
NVIC_EnableIRQ(I2C3_EV_IRQn);
__enable_irq();
...
/ I2C3 init function /
static void MX_I2C3_Init(void)
{

hi2c3.Instance = I2C3;
hi2c3.Init.ClockSpeed = 100000;
hi2c3.Init.DutyCycle = I2C_DUTYCYCLE_2;
hi2c3.Init.OwnAddress1 = 132;
hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
hi2c3.Init.OwnAddress2 = 0;
hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
if (HAL_I2C_Init(&hi2c3) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}
}
Аноним 21/02/19 Чтв 09:14:26 357737365
>>357688
>Кто-то запизделся
Я где-то говорил, что продавец напрямую отправляет мне детали?
Нет, я пользуюсь услугами доп склада, заказываешь хуйни, детали, кастомные изделия, материалы, химию, жидкости, печатки с jlcpcb, небо и даже аллаха. Все локальной доставкой складывается в гуанджоу, а потом я решаю сам, сколько это стоит (декларация) как это упаковать и чем отправить, самолетом, поездом.

Вы блять как типикал рагули, если вы не знаете как это делается, значит все пиздят атата.
Аноним 21/02/19 Чтв 13:08:53 357750366
>>357737
>Аноним
Но зачем ты пиздишь, что камень тебе обходитмя в дорар? Добавь услуги посредников, доставку, растаможку и вкаля, цена одного контроллера нихуя не отличается от цены электронщика. Только заместо Путина, тв кормишь китайского кормчего и кучу барыг присосавшихся к доставке
Аноним 21/02/19 Чтв 15:35:20 357759367
>>357750
>Но зачем ты пиздишь, что камень тебе обходитмя в дорар? Добавь услуги
Как вы заебали...
Окей, хотите полную цену контроллера - доставка по китаю примерно как новая почта. 1$. Накладные расходы с учетом банковских процентов переводов, складу - 15%. Доставка 10$/кг
Стоит ли напоминать вес контроллера.
Короче этот сратый 401RCT6 обойдется в 1.2$
Аноним 21/02/19 Чтв 15:43:57 357761368
>>357750
Притом за доставку ты платишь в любом случае, не важно кто доставляет, телепорты не изобрели. Все поставщики покупают ровно также. Только к этой цене (1,2$ при учете что ты покупаешь не один МК а сразу все детали на все необходимые устройства), ты добавляешь 100% жадности и 20% налогов и получаешь ровно ту же цену того же космодрома.
Заебали, как нищеброды считаете каждую копейку в ссылках. Я говорю как есть в сухом остатке - 2-3 раза дешевле обходится ящик деталей например на 10 устройств. Дисплеи, кнопки, корпуса, платы (кстати ПП довольно тяжелые), короче все что нужно затариваешь и особо не колупаясь в ценах ты гарантированно экономишь в 2 раза
Аноним 21/02/19 Чтв 15:49:44 357762369
>>357761
Вот именно. У китайцев то зачем покупать, если можно на диджикее? Там хотя бы не подсунут ерунду.
Аноним 21/02/19 Чтв 16:22:27 357764370
>>357762
Насчет ерунды я уже говорил, ты сам выбираешь что покупать.
>если можно на диджикее
Поехавший? Барыжинг значительно похлеще хохломагазинов, цены оттуда выйдут еще дороже нем просто сходить в магазин.
Есть конечно позиции которые производят не в китае, тогда цена что в европе, что в китае одинаковая или даже дешевле из европы.
Недавно светодиоды японского производства покупал с TME, вышли более чем в 2 раза дешевле чем с китая. Конечно, такие позиции нужно смотреть отдельно.
Но речь изначально шла о цене деталей в целом, вам барыги вбили в головы, что если вы можете купить что-то в 2-3 раза дешевле, то это подделка. Конечно нет, подделка стоит в 10-20 раз дешевле, просто барыгам выгодно чтоб вы так думали.
Аноним 21/02/19 Чтв 16:30:48 357765371
>>357764
https://item.taobao.com/item.htm?id=572835945719
https://item.taobao.com/item.htm?id=44346842148
Как видишь, цена в 4 раза отличается на самом магазине. На фото думаю отличия тоже увидишь. На второй ссылке не указано что это оригинал. В чем обман со стороны китайцев? Если барыги у нас покупают за 1,2 юаня, а продают как оригиналы, ну блять, это не китайцы виноваты.
Аноним 21/02/19 Чтв 16:44:38 357767372
>>357765
Как вы блядь вообще разбираетесь в этих иероглифах? Гугл транслейт?
Аноним 21/02/19 Чтв 17:22:33 357772373
Аноним 21/02/19 Чтв 19:33:44 357780374
>>357772
Господи, как обычно, абы ляпнуть что. Речь о позиции оригинал и копия, что китайцы предоставляют выбор, а не про какой-то конкретный радиоэлемент, это было бы достаточно глупо.

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

Личный выбор на то и личный, у меня к китаю достаточно положительное отношение, особенно если что-то заказывать напрямую с завода под заказ, не единично конечно же. Например заказать пьезоэлементы по своим чертежам в европе/США обходится 7-8$ за штуку на сотне, то же самое сделать в китае - 0,6-0,8$ за штуку при той же партии. Хотя это и так очевидно.

Рассуждать где лучше покупать нужно после сборки изделия, передачи заказчику, засунуть руку в карман и поглядеть сколько у тебя в итоге осталось, тогда и делать объективный выбор.
Аноним 21/02/19 Чтв 20:53:43 357788375
>>357764
>вам барыги вбили в головы, что если вы можете купить что-то в 2-3 раза дешевле, то это подделка
Но ведь т ы можешь посмотреть цены на сайте ST и убедиться, что 401rc стоит 2.43 от 10к штук. Как же добрая китайца продает по дорару? Сальваж? Подъебка? Или злой СТ вбивает нам в головы, что 2.43 это нормальная цена?
Аноним 21/02/19 Чтв 21:25:35 357792376
>>357788
Цены на сайте производителя указаны с учетом интересов дистрибьюторов, просто чтоб не срать им. Опять же, цены для покупателя. Это легко проверить, у того же VDMAIS цены на продукцию Analog Devices ниже чем цены на сайте AD, поставки у них прямые от AD без дополнительных посредников. В некоторых случаях (если они брали большую партию чего-либо) у них цены даже ниже чем в китае, но это не особо часто такое.
Texas например указывает что цена может сильно варьироваться от условий.
Так что эти цены хороши для быстрой оценки в большую сторону, например заказчик спрашивает, сколько это будет стоить? Берешь цены с сайтов производителей и будь уверен что не проебешься, т.е. она будет "с запасом"
Аноним 21/02/19 Чтв 21:47:41 357793377
Вот вопрос тогда, сколько стоит законченное рабочее изделие с внутренним ПО, конфигурация примерно такая
msp430fg4618
XC2C32A-6VQG44
msp430fg2112
max9202
dg403
mc1350
tc4427 2
4х слойная ПП 80
80мм
штук 10 операционников типа 358х, 4 оптрона, диоды, батерая, 2576, конденсаторы, мелочевка, кварцы 2ши, несколько светодиодов, дроссели короче как обычно
Вот сколько навскидку это стоит?
Аноним 21/02/19 Чтв 23:35:41 357799378
>>357793
Тут стоимость будет в основном определяться потраченным на разработку временем, а не стоимостью деталей, если конечно это не относительно большая серия. За единичное устройство я бы обсуждал от $1500 самый минимум.
Аноним 21/02/19 Чтв 23:50:27 357800379
>>357792
Нет. У всех вендоров цены на сайте включают только маржу вендора без учета дистрибьютора. Тексас, например, можно вообще поштучно купить и оплатить кредиткой, дистрибьютора в цепочке не будет.
Далее, каждый вендор имеет свою стратегию - тексас имеет высокие сайтовые цены, но может сильно снижать квотные цены, особенно на коммодити, 300мм пластины помогают. Девицы наоборот. Им нет смысла продавать крутой аналог задешево, особенно после покупки Linear - конкурентов почти не осталось.
Есть простой лайфхак: конечная цена в РФ примерно равна сайтовой. Ну то есть дистик получит скидку от вендора, накрутит свою маржу и НДС - то на то и выйдет. До 50к штук приблизительно работает.
Аноним 22/02/19 Птн 00:06:36 357801380
>>357800
>Им нет смысла продавать крутой аналог задешево, особенно после покупки Linear - конкурентов почти не осталось.
Куда смотрел швятой антимонопольный комитет? У них же там вроде как такие сделки запрещены.
Аноним 22/02/19 Птн 00:23:59 357802381
>>357800
Абсолютно верно. Вот эти НДС, маржа и прочее и дает 100% цены товара. Именно об этом я и говорил, что цены на сайтах - индикативные. Покупая в китае вы фактически покупаете со склада с которых отгружают дистрибьюторам. Отсюда и разница в цене в 2 раза. Если вы сами захотите продавать эти детали, купленные в китае, вы добавите налог, свою прибыль и получится ровно то, что и в магазине. Тут нет никакой магии, нет подделок продукции, просто многие люди забывают, что цена товара в стране составляет едва ли 30%, все остальное - накрутки, налоги
Аноним 22/02/19 Птн 00:28:31 357803382
>>357799
Если что - 65$ цена. Я это к тому, что это законченное изделие, проверенное, настроенное. Пример привел лишь для того, чтоб показать истинную дешевизну радиокомпонентов
Аноним 22/02/19 Птн 09:19:31 357817383
>>357803
Просто именно эти радиокомпоненты уже многократно окупили свою разработку и выпускаются настолько большими партиями что практически стоят копейки. Стоимость сырья, издержки производства, логистики, амортизации станочного парка просто растворились в количестве уже реализованного
Аноним 22/02/19 Птн 11:08:58 357828384
>>357802
Тексас и ADi уже прекращают отгрузки в Китай, оставив по одному большому дисти. Скоро и вендоры второй-третьей руки будут делать то же самое - ты или лидер рынка, или следуешь за лидером. Никому не охота ебаться с реэкспортом.
Маржа и прочее - это треть цены максимум. 100% накрутки будет если покупать со склада. Но опять же через пару лет ты со склада купишь только коммодити. Нужен тебе будет проц или что повеселее - добро пожаловать в мир квот и лид таймов.
А цены в Китае.. Сегодня они есть, потому что у Фоксконна эппл не выбрал весь объем аудиокодеков, завтра нет, потому что в этот раз выбрал.
Аноним 22/02/19 Птн 11:12:06 357829385
>>357793
Без учета памяти и керамических конденсаторов, я готов сделать тебе такую плату за 22-23 доллара тут в РФ. В партии от 5к штук. Керамику достаешь сам, я не буду связываться с керамическими конденсаторами в партиях менее миллиона.
Аноним 22/02/19 Птн 11:14:21 357830386
>>357801
Ну, формально конкуренция есть. Но после сделок c Hittite и Linear, девицы получили себе в портфолио уникальные продукты.
Аноним 22/02/19 Птн 16:51:04 357852387
Ничего не меняется, зашла речь о цене деталей и покупке, все свели к глобальной политике, каким-то фоксконн, эпл, блять, каким-то хуем какие-то аудикодеки приплели, все что "слышал звон", все высрали в тхреад и довольно урчат.
Двач такой двач
Аноним 22/02/19 Птн 16:56:27 357853388
d1a37563495598f[...].jpg 34Кб, 500x336
500x336
>>357829
>я не буду связываться с керамическими конденсаторами в партиях менее миллиона

Вся русня в одном предложении. Нахуй вы кому нужны с такими запросами. Китаец сделает все гораздо лучше и качественнее при партии в 100шт за меньшие деньги. Ведь они не столь брезгливые господа.
Аноним 25/02/19 Пнд 16:13:17 358087389
>>357853
Не сделает. Сейчас на керамику ебанутая аллокация по всему миру. Или 35 недель, или трехкратная цена, или искать по стокам. Последнее очень времязатратно.
Аноним 26/02/19 Втр 09:34:00 358129390
Кто какой средой разработки пользуется?
Аноним 26/02/19 Втр 09:38:12 358131391
Аноним 26/02/19 Втр 09:42:06 358133392
>>358129
Обсуждали уже много раз, в этом треде в том числе. Вообще советую осознать, что на STM32 микроконтроллеры вовсе не заканчиваются.
Аноним 26/02/19 Втр 14:28:08 358181393
Аноним 26/02/19 Втр 15:27:58 358187394
>>358181
Хуя ты. И как она, стоит того?
Аноним 26/02/19 Втр 15:59:34 358191395
>>358187
Я давно на игле джетбрейнса, поэтому да. Знакомая и привычная для меня среда, все красиво собирается через cmake, есть дебаг и вообще все как положено.
я вообще на работе на джаве прогромирую, микроконтролёры только как хобби
Аноним 27/02/19 Срд 17:23:10 358334396
>>357730
На F407 работает (спс), но на F103 не генерируются прерывания.

И я не совсем понял принцип, того что у тебя происходит и как мне то же самое реализовать на HAL.
Я р разобрался как по-отдельности прочитать и записать в I2C, а как делать всё вместе как у тебя - не понял.
Аноним 02/03/19 Суб 04:56:18 358624397
>>358191
А я сосу хуи в eclipse. Просто она работает, но блядь, как же бесит в мелочах. А переходить на другую ide, это cubemx настраивать, линковщик, openocd ублажать и тд.
Аноним 02/03/19 Суб 09:08:19 358638398
>>358191
Все хорошо, только оперативки многовато жрет и тормозит. Иногда это создает некоторые неудобства.

>>358624
>cubemx настраивать
Не знаю что вы все в этом cubemx настраиваете, т.к. не использую STM32. Но при использовании CMake файлы проекта IDE генерить уже не нужно. Необходимо только написать (или найти готовые) скрипты CMake. Настройка IDE в результате сводится практически только к заданию правил автоформатирования.
Один раз сделаешь по нормальному через CMake и у тебя будет все одинаково компилироваться в любой IDE (без IDE тоже), где есть поддержка CMake или хотя бы make.

>openocd ублажать
А мог бы взять J-Link, который не требуется ублажать.
Аноним 02/03/19 Суб 09:41:24 358646399
Котаны, кто-то сталкивался с RTC на STM32?
По интеренетам люди пишут, что абы какой кварц не подходит, что нужен какой-то с низкой ёмкостью и т.п.
У меня из десятка разных кварцев более-менее стабильно работает один, и то, после холодного старта (при том что бекап батарейка есть) часы останавливаются, и нужно тыкать reset. Бесит пиздец.
Может есть какой-то пердолинг тайный?
Аноним 02/03/19 Суб 10:03:19 358649400
Аноним 02/03/19 Суб 10:04:53 358651401
>>358646
Если это для часов, то не лучше ли брать TCXO?
Аноним 02/03/19 Суб 11:08:48 358663402
>>358649

F429

>>358651

Нагородить можно много чего, но я просто впилил кврц в STM32F4discovery, ножку резервного питания подвесил куда нужно, большего огорода городить не охота, в т.ч. и всякие буферы для кварца.
Предвосхищая вопросы - дорожки к отладочным пинам отключены, кварц впаян на штатное место с конденсаторами.
Аноним 02/03/19 Суб 18:52:03 358699403
>>358663
Какие емкости впаял и какой кварц? Ты читал даташит на кварц? Какая у него нагрузочная емкость?
Аноним 02/03/19 Суб 20:01:16 358708404
>>358699

Ёмкости спиздил парой с того же места, где взял кварц. Конкретно эти по 10пик, плюс минус точность моей мерялки.

Вот может для stm32 надо их меньше? Ноги на которых висит кварц пиздец хилые, щуп 1:10 тут же срывает генерацию.
Аноним 02/03/19 Суб 20:34:27 358723405
32768.PNG 34Кб, 1007x680
1007x680
Аноним 02/03/19 Суб 20:50:57 358726406
>>358723

Ох бля, еще и разные сверху/снизу.
Спасибо за табличку, думаю решу свою проблему.
Аноним 02/03/19 Суб 21:45:34 358738407
>>358726
>еще и разные
Не, С0 - емкость кварца, СL - нагрузочные кондеры.
Аноним 02/03/19 Суб 21:50:05 358739408
>>358726
И вообще, иди на st.com и качай AN2867
Аноним 02/03/19 Суб 21:55:08 358740409
Caps.PNG 59Кб, 860x398
860x398
crystal.PNG 58Кб, 740x334
740x334
>>358726
По таблице ищещь параметры Gm_crit_max которые меньше Gm в 5 и более раз, или меньше Gmcritmax хотя бы на 20%
Gm и Gmcritmax - из даташита на МК, на пикчах для STM32F407
Учти, что Cload это не емкости конденсаторов, а общая емкость между выводами кварца, т.е. Сшунт + (Сконд+Свходов)/2
Т.е. если берешь ABRACON ABS06 c Сшунт 1,7пФ, и Сload 4пФ, тогда твои конденсаторы будут равны С = ((Сload - Сшунт)*2) - Свх =~0, т.е. без конденсаторов вообще
В F4хх меньше F411 очень слабые генераторы, прям вот очень.
Аноним 02/03/19 Суб 21:59:26 358741410
condition.PNG 28Кб, 743x232
743x232
>>358740
У тебя скорее всего стандартный кварц с Gm примерно 1,5 (типа Geyer и любой другой ширпотреб), т.е. в желтой зоне - нестабильный запуск и работа.
На на платах все равно делай места под конденсаторы, +-1-2пФ могут очень хорошо подстроить частоту кварца особо не влияя на работу его
Аноним 06/03/19 Срд 09:28:15 359073411
>>339005 (OP)
Разрабам примеров для STM32F4 приготовили особое место в Аду? У меня пердак уже полыхает просто. Пытаюсь состряпать голый темплейт со STemWin и нихуя не работает. Вроде все подключил, в хидерах прописал, компилируется без ошибок, а на выходе ЗАЛУПА.
Аноним 07/03/19 Чтв 12:18:38 359168412
>>359073
Дарагой дневничок!
Сегодня я забил на самостоятельную сборку проекта с emWin и запилил его в Кубике. Сразу нарвался на неповорачиваемость дисплея с помощью команды GUI_SetOrientation. Вылечилось увеличением памяти в GUIConf.c до 180кБ. Может кому сэкономит пару минут в гугле.
Аноним 18/03/19 Пнд 18:18:22 359965413
Хай анон.
Столкнулся с такой хуйнёй: поставил на линукс TrueStudio и CubeMX, компилирую пробный проект, пытаюсь запустить в дебаге, а он мне отвечает:

ST-Link enumeration failed
Error in initializing ST-LINK device.
Reason: ST-LINK DLL error.

Или "Error message from debugger back end: Connection timed out", в зависимости от того, выбираю ли в настройках автоматический коннект к GDB серверу.
Полагаю, что просто не заводится GDB-сервер. Как проверить, и как пофиксить?
Аноним 18/03/19 Пнд 19:22:30 359969414
>>359965
Проверь хотя бы права, посмотри вывод lsusb для начала...
Зачем вообще взял эту хрень? Мог бы из репозитория поставить Qt Creator или тот же эклипс.
Аноним 19/03/19 Втр 10:26:45 359990415
>>359969
Какие права? На исполнение в папке с GDB? Так вроде ж стартует, пишет что гдб стартед.
Выбрал потому что искаропки и есть на винду и Линукс. Планировал переходить на Эклипс + ОпенОСД, но позднее.
Аноним 19/03/19 Втр 12:55:14 359992416
Screenshot1.png 50Кб, 827x486
827x486
Как считать read-only memory на скрине те самые 4 адреса которые надо считать?
Пытаюсь считать как EEPROM:
uint32_t ByteRead(uint32_t addr)
{
return ((__IO uint32_t)addr);
}
Получаю хард фаулт.
КАК ЭТУ ХУЙНЮ ВООБЩЕ СЧИТЫВАТЬ БЛЯДЬ?
Аноним 19/03/19 Втр 13:21:05 359993417
Screenshot2.png 2Кб, 278x77
278x77
>>359992
Макаба скушала знаки умножения.
Аноним 19/03/19 Втр 14:04:33 359994418
>>359992
Читаешь uint32_t, а в имени функции byte. Что-то тут не так.
Ну и читаешь то по невыровненным адресам похоже, для Cortex-M0/M1 так нельзя. На Cortex-M3 уже можно, но вроде как не для всех инструкций, хотя может я что-то путаю.
Аноним 19/03/19 Втр 14:45:53 359995419
>>359994
Может подскажешь как правильно, а то я чет искал и так и не нашел никаких других вариантов.
Аноним 19/03/19 Втр 15:38:21 359997420
tempcal1.jpg 24Кб, 687x122
687x122
tempcal2.jpg 29Кб, 576x212
576x212
>>359992

Код для stm32f0

int8_t adc_conv_12bitsTo_tempC(uint16_t ts_value, uint16_t vref_mV) {
int32_t r;
//Normalize sensor data to VREF
uint32_t ts_normalized = (ts_value vref_mV) / 3300;
//Substract 30C calibration point
r = ts_normalized -
temp30_cal_ptr;
//Avg_Slope calc
r = 80; //110C - 30C
r /= (
temp110_cal_ptr - *temp30_cal_ptr);
r += 30;

return (int8_t)r;
}
Аноним 19/03/19 Втр 15:40:29 359998421
>>359995
Читай только по выровненным адресам. uint32_t - по кратным четырем, uint16_t - по четным, либо читай только uint8_t. Ты лучше сам посмотри, может ли твой микроконтроллер читать по невыровненным адресам.
Аноним 19/03/19 Втр 20:17:39 360007422
1.png 15Кб, 669x420
669x420
Аноним 20/03/19 Срд 06:48:18 360030423
>>360007
>вроде
Читать документацию — не наш путь? Прям как в ардуино-тред попал.
Аноним 20/03/19 Срд 09:13:32 360037424
>>359965
Интересное продолжение.
Со встроенным в Дискавери СТ-линком, всё работает.
А вот с китайским донглом и BluePill - нет.
Аноним 21/03/19 Чтв 11:44:05 360101425
Нужна среда программирования под winXP для stm32f103, какую посоветуете?
Аноним 21/03/19 Чтв 13:34:25 360106426
>>360101
Попробуй Блокнот. Можно открывать файлы, сохранять файлы. Их еще можно менять. В нем можно создать файл типа bat с таким содержимым:

ISUCKCOCKS

Который, будучи запущен, установит последную версию IDE.
Аноним 21/03/19 Чтв 21:43:47 360144427
Снимок.PNG 4Кб, 524x143
524x143
>>360106
ЧЯДНТ? Ничего не происходит, анон помогай
Аноним 21/03/19 Чтв 23:02:20 360160428
>>360144
>ЧЯДНТ?
Кодировка не та. Надоть в KOI8-R
Аноним 21/03/19 Чтв 23:45:50 360170429
Open32F3-D-1.jpg 112Кб, 884x663
884x663
Open407V-D-1.jpg 121Кб, 926x695
926x695
Open429Z-D-1.jpg 224Кб, 1493x1120
1493x1120
>>339005 (OP)
Анон, поясни за waveshare OpenF3-D/Open407V-D/Open429Z-D - Standard.
Какие подводные?
У меня есть все эти дискавери и несколько модулей кажется совместимых с этими мезонинами (lcd, ethernet, камера и тд), хочу просто играться с этим барахлом без ебли с проводами и макетками.
Аноним 22/03/19 Птн 13:17:28 360217430
Screenshot2019-[...].png 127Кб, 1352x1185
1352x1185
>>360170
Ну, у меня есть Open407Z. Недостатков три с половиной: материнка занимает много места на столе; никаких защёлок у разъёмов для модулей не предусмотрено, держится только на трении; с другой стороны — мезонинный модуль входит (и выходит) в гнездо на материнке OCHE туго, так что легко можно погнуть ножки, когда вытаскиваешь; ну и все сразу модули подключить ко всем разъёмам не получится, надо смотреть как там выводы микроконтроллера используются.
Аноним 24/03/19 Вск 12:10:42 360435431
>>339005 (OP)
Товарищи!
У меня есть вот такая ардуина:
https://ru.aliexpress.com/item/STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module-Forarduino/32342717171.html?spm=a2g0v.search0302.3.10.3901d766U7hWAS&ws_ab_test=searchweb0_0,searchweb201602_0_10910_453_10911_454_10914_10915_10618_536_317_537_319_10059_10696_10084_10083_10887_10307_321_10889_322_10902_10065_10068_10301_10103_10884,searchweb201603_0,ppcSwitch_0&algo_pvid=729c7d31-ba42-45b3-a8f7-e3a3805546a6&algo_expid=729c7d31-ba42-45b3-a8f7-e3a3805546a6-1
Пишут, что загрузчик надо загружать через адаптер USB-UART. Его у меня нет.
Есть вот такой прибор:
https://ru.aliexpress.com/item/1-j-JLink-V8-USB-ARM-JTAG/32860933960.html?spm=a2g0v.search0104.3.2.444917bcHMiTWc&ws_ab_test=searchweb0_0%2Csearchweb201602_1_10065_10068_319_317_10696_453_10084_454_10083_10618_10307_10301_537_536_10902_10059_10884_10889_10887_321_322_10915_10103_10914_10911_10910%2Csearchweb201603_54%2CppcSwitch_0&algo_pvid=89ce7926-7fb0-4589-a9ba-0d1b9f219779&algo_expid=89ce7926-7fb0-4589-a9ba-0d1b9f219779-0

Еще есть отладчик с интерфейсом SWD.
Я контролеры ни разу не прошивал и паяльник в руках ни разу не держал, подскажите, что нужно делать чтобы из первой платы сделать ардуину и программировать её из арудино иде. Или как её программировать на имеющемся оборудовании. С программированием разберусь - в школе бейсик и паскаль проходили. Если интересно буду выкладывать результаты.
Аноним 24/03/19 Вск 12:27:14 360439432
>>360435
Если это ардуина, то не лучше ли пойти к ардуинщикам? Или это у тебя просто микроконтроллер с минимальной обвязкой? Ты для начала с этим определись.
>загрузчик
Там уже есть загрузчик, только он не не ардуиновский и вообще тебе не нужен.
>как её программировать на имеющемся оборудовании
Подключаешь свой J-Link к этой плате, запускаешь на компе сеггеровский J-Flash, выбираешь файл прошивки и нажимаешь кнопку F7. Или еще как-нибудь.
Аноним 24/03/19 Вск 12:35:45 360440433
>>360439
Они меня оттуда сюда выслали, это STM32 в минимальной обвязке.
Тем загрузчиком что есть можно как-то пользоваться?
У J-Linka штырьков больше, а тут я так понял, 4 боковых это отладочный интерфейс. В каком порядке их подключать, можно J-linkom управлять из CooCox?
Аноним 24/03/19 Вск 12:55:33 360443434
>>360440
>4 боковых это отладочный интерфейс
Они там подписаны прямо на плате. Все очень просто — SWDIO (SWIO) этой платы подключаешь к SWDIO отладчика, так же поступаешь с SWCLK и GND. Отдельно как-нибудь подключаешь питание.
Аноним 24/03/19 Вск 13:02:59 360446435
>>360440
>Тем загрузчиком что есть можно как-то пользоваться?
Читать документацию - для слабаков? Ну тогда ищи в гугле "STM32F103 bootloader". Но этот загрузчик тебе не нужен.
Аноним 24/03/19 Вск 13:19:52 360447436
>>360443
Товарищ, ты хорошо объясняешь, спасибо!
Это я давно понял, загвоздка в том, что в j-linke выводов с таким названием нет https://www.segger.com/products/debug-probes/j-link/technology/interface-description/
>>360446
Вот так прямо и искал, только без букв F103, выдает мануалы по написанию собственного загрузчика и как работает загрузчик и вообще, попробую с указание полного наименования контролера. В основном предлагает через UART, это готовый встроенный, на плате есть усб гнездо и всё сводится к тому, что сначала надо залить через уарт собственный загрузчик, чтобы грузить потом через усб. Адаптера uart нет, есть jlink, на форумах о нем в основном нахожу сначала вопрос "А чо, он работает, да?" Потом сложные слова, а картинки как подключить его к SWD найти не могу. Не серчай, товарищ, все были нюфагами, подскажи что гуглить? Спасибо, товарищ!
Аноним 24/03/19 Вск 13:24:53 360449437
Аноним 24/03/19 Вск 13:25:40 360450438
>>360447
>в j-linke выводов с таким названием нет
>https://www.segger.com/products/debug-probes/j-link/technology
Прокрути эту страницу ниже, дебилоид!

>Адаптера uart нет
Возьми компьютер с COM-портом. Но зачем, если у тебя сразу два отладчика?!!
Аноним 24/03/19 Вск 13:31:13 360451439
Alina-Эротика-С[...].jpeg 546Кб, 811x1217
811x1217
Alina-Эротика-С[...].jpeg 563Кб, 811x1217
811x1217
>>360449
>>360450
Товарищи, спасибо! Благодарю за справедливое товарищеское порицание! Впредь буду внимательнее, чтобы не досаждать окружающим своей тупостью. Благодарю за потраченное на меня время! Надеюсь эти дамы охладят ваше справедливое негодование.
>Возьми компьютер с COM-портом.
Этот компьютер у меня уже сломался.
Аноним 25/03/19 Пнд 04:46:52 360501440
>>359965
Смотри вывод lsusb и ищи VID/PID своего донгла. Потом иди в /etc/udev/rules.d и ищи там файл, который поставился с пакетом ст-линка. Добавь туда такую же строчку, как сейчас там, только поставь VID/PID, которые ты выяснил в начале. После этого нужно будет либо перезагрузиться, либо выполнить от рута udevadm control --reload-rules && udevadm trigger и, возможно, переподключить донгл. После этого всё должно взлететь.
Аноним 26/03/19 Втр 23:45:50 360700441
Аноним 27/03/19 Срд 00:28:51 360703442
>>360700
О том, что можно из TrueStudio компилить и под микрухи, и под пеку. То, что можно переиспользовать код проекта между этими двумя таргетами - это уже дело второе
Аноним 27/03/19 Срд 01:04:34 360705443
>>360703
Ну типа готовой магии нет, которая позволила бы софт сделать бридж между микрухой и пекой, для симуляции отдельных частей? Типа, вам дан конпелятор. Ебитес.
Аноним 30/03/19 Суб 14:23:26 360945444
Подумываю взять Nucleo-F446RE, нормально или лучше что-то другое?
Аноним 30/03/19 Суб 19:01:23 360970445
>>360945
Диодом мигать - подойдет. Хочешь еще и F(S)MC - бери nucleo 144 (типа F446ZE), если ethernet - F429ZI
Аноним 07/04/19 Вск 20:02:45 361793446
image.png 507Кб, 800x800
800x800
image.png 394Кб, 640x640
640x640
Аноним 07/04/19 Вск 20:12:29 361794447
>>361793
Открыть даташит на микроконтроллер и посмотреть там? При желании UART можно сделать программно, тогда можно подключать почти к любым выводам. Уточни что именно требуется и зачем.
Аноним 07/04/19 Вск 20:16:27 361796448
>>361794
курсач делаю, задача отправить данные с компа на внешнюю EEPROM. Пока думаю над частью передачи данных с компа на stm
Аноним 07/04/19 Вск 20:45:52 361798449
>>361796
В FT232RL (у тебя на первой картинке) есть bit-bang, посредством которого можно писать в ПЗУ с SPI и I2C. Дополнительный микроконтроллер для этого не нужен.
Аноним 07/04/19 Вск 20:49:17 361800450
>>361796
Осторожней с этим горбатым говном. Да здравствует IIC на серии F1! BDSM Любишь же?
Зачем uart? Может usb-cdc (виртуальный компорт)?
Немного порвал в свое время шаблон - из кубика довольно быстро собирается рабочий пример.
>>357344
>>357367
>>357404
>>357418
>>357419
Аноним 07/04/19 Вск 21:26:50 361803451
>>361794
У меня вопрос по UART. На пике 1 >>361793 есть гнезда по бокам, там есть RXD, TXD, RXL, TXL. Еще слева пины RX и TX. Какие из них использовать? Под эту плату конкретного даташита нет, только под ft232, там ничего такого не нашел
Аноним 07/04/19 Вск 21:53:07 361806452
image.png 316Кб, 657x300
657x300
image.png 375Кб, 974x332
974x332
>>361803
Олсо, где взять 3.3V и GND для UART? На stm вижу вот такие гнезда (пик 1), но не уверен что это для внешнего устройства.
Еще на st link есть две пары пинов с 3.3 и GND, одна из пар занята по д stm32 (пик 2). Может быть можно использовать другую пару?
Аноним 07/04/19 Вск 22:51:01 361812453
>>361806
>Под эту плату конкретного даташита нет
Совсем глупый? Даташит на микроконтроллер, берется с сайта производителя. Схема этой китайской платы элементарно находится в гугле по названию микроконтроллера. Не представляю как ты будешь это программировать, если даже этого найти не можешь.

Но еще раз повторю — микроконтроллер для такого не нужен, ну просто совсем.
Аноним 08/04/19 Пнд 01:17:54 361827454
>>339005 (OP)
кстати по звуку
хочу на матарошку сигнал - звук боевой фуры
да да вот это ТА ТА с басухой и прочей хуйней...
но ставиь кампрессор ...
да сначала была идея с воздухом и клапаном от выхлопа
но...
сейчас есть не хуевая такая компактная акустика = излучатель - нет проблем его раскачать
проблема в том чтобы именно как в мад максе было - тое парой мультивибраторов хуй обойдешся
тое как минимум там 4-6 нужны гармоник
да я знаю что по басухе даже близко не подойду к воздуху
но всеже
есть ли какие идеи? желательно без контроллеров



Аноним 09/04/19 Втр 21:00:38 361985455
>>361806
Для UART не нужно подводить питание, соедини GND между собой и подключи RX к TX и TX к RX соответственно. Три провода.
Аноним 11/04/19 Чтв 22:13:55 362161456
Аноны, посоветуйте что почитать чтобы вкатиться? статей-то куча, но везде вброшены куски кода, а никакого объяснения толком нет.
Вот по авр есть крутой курс на изи электронике, есть ли что-то подобное по стм, чтобы разжевывалось все детально, для самых маленьких?
Аноним 11/04/19 Чтв 23:46:54 362167457
>>362161
А кроме стм других микроконтроллеров с архитектурой ARM не существует?
Аноним 12/04/19 Птн 00:04:03 362169458
>>362161
Читай Reference Manual, лол.
Вообще, а чего ты ждёшь от чтения? Микроконтроллеры - это не наука какая-то, здесь нет никакой теории, формул, законов. Какую периферию с ядром тебе барин даст, такую и придётся использовать. Это тупо макакинг, и опыт здесь приходит только при решении практических задач. Это как если бы ты по книгам учился водить машину или боксировать. Более того, всё микроконтроллеры друг от друга принципиально ничем не отличаются
Аноним 12/04/19 Птн 00:27:02 362171459
Аноним 12/04/19 Птн 07:39:01 362185460
>>362167
я понимаю что именно сам язык он один, но объявление портов у авр и арм выглядит по разному, и именно вот эти вещи мне непонятны. Спасибо, буду курить маны, правда так и не могу определиться что взять, нуклео или что-то с али и ст-линк.
>>362171
спасибо.
Аноним 12/04/19 Птн 08:06:13 362186461
>>339005 (OP)
Аноны, у меня есть мечта детства - умный дом своими руками. В микроконтроллерах я совсем нуб. Программировал разве что AVR в атмел студио когда учился. Очень нравилось.
С чего начинать вобще?
Аноним 12/04/19 Птн 12:01:17 362212462
Аноним 12/04/19 Птн 12:54:57 362219463
>>362186

С овна или какого-нибудь другого дешманского ПЛК.

Аноним 12/04/19 Птн 13:07:51 362220464
>>362219
>ПЛК
Йобу дал? Он пятнашку выложит за говно которое годится только лампочками моргать заместо светодиодов. Нахуя нубу предлагать промоборудование за сотни нефти?
Аноним 12/04/19 Птн 17:33:59 362235465
>>362186
> мечта детства
> умный дом
Ты 2001 года рождения?
Аноним 12/04/19 Птн 17:45:24 362236466
>>362235
>2001 года рождения?
Ващет еще в 80-х усачи лепили акустические включалки света от хлопка одной ладони, датчики присутствия на лампах и прочую умноту
Аноним 12/04/19 Птн 19:35:48 362243467
Аноним 13/04/19 Суб 22:12:54 362347468
изображение.png 20Кб, 279x270
279x270
Сап анонче.
Сегодня начал писать программную реализацию I2C.
Отлаживаюсь на STM32f4 Discovery (камень f407).
Решил работать с шиной таким образом: два пина будут использоваться для прерываний (PD10, PD11), два пина будут использоваться для подтяжки на землю (PD8, PD9).
Прерывания пока никаких проблем не доставили, а вот пины подтяжки вызвали вопрос: включаю выход в режиме Open Drain (в интернетике пишут, что это самый правильный вариант), и при подключении пина в шину I2C он повторяет форму сигнала на шине. Если же отсоединить пин от шины, то он выдаёт то, что я от него и ожидаю.
Если подключить или отключить встроенную пожтяжку к питанию, ситуация не меняется.
Проверяю при помощи логического алианализатора и ардуино (A4 и A5 подтянуты к питанию).
Подскажи анон, я правильно понимаю, что мне придётся поставить по лишнему транзистору на линию? Или задуманное можно осуществить стандартным набором подтяжек?
Аноним 13/04/19 Суб 23:05:13 362354469
>>362347
Нихрена тебя не понял, но у тебя что-то странное начинается отсюда:
>подтяжки на землю
>Open Drain
Разве на картинке у тебя подтягивающий резистор к земле?
Аноним 13/04/19 Суб 23:56:53 362363470
>>362347
> Сегодня начал писать программную реализацию I2C.
Но нахуя? Там же есть аппаратная
Аноним 14/04/19 Вск 02:50:59 362370471
>>362347
Нахуя тебе программный I2C в F4 серии? Горбатые только F100, про них лучше забыть вообще, все остальные (F0/2/3/4/Lx) уже другая периферия
Аноним 14/04/19 Вск 06:18:20 362376472
>>362363
>>362370
Да я на нём просто алгоритм отлаживаю, потом эту прогу на другой микроконтроллер переносить собираюсь.

>>362354
Так это внешняя подтяжка к питалову. У меня она и есть.
Я же, хочу притягивать линию SDA к земле, своим PD8.
Аноним 14/04/19 Вск 09:20:25 362388473
>>362376
Все равно не понимаю в чем у тебя проблема. Может быть ты не понимаешь что такое открытый сток (коллектор)? Дополнительные внешние транзисторы не нужны, если что.
Аноним 14/04/19 Вск 10:03:00 362391474
Аноним 14/04/19 Вск 10:10:20 362392475
>>362388
Т.е. ты к тому, что мне не нужен открытый коллектор, а нужен Пуш-Пулл?
Аноним 14/04/19 Вск 10:37:50 362394476
>>362392
Совершенно без понятия что тебе нужно. Для полноценного I2C ребуется открытый сток. Но зачем тебе дополнительный транзистор?
Аноним 14/04/19 Вск 11:12:32 362402477
>>362394
У меня устройство будет слейвом, если что. Принципиально разницы не должно быть, но на случай если я чего-то не понимаю.
>Но зачем тебе дополнительный транзистор?
Ну, так как у меня встроенный вывод не справляется с задачей, я думал подтягиваться на землю открытием транзистора.
Аноним 14/04/19 Вск 11:30:02 362403478
>>362402
В каком это месте оно у тебя не справляется?

Допустим взяли вывод микроконтроллера с открытым стоком и подключили его к другому устройству (допустим ведущему) тоже с открытым стоком и притянули все это резистором к питанию.
1) Ведущий выдает лог. 1, тогда на проводе будет:
1.1) лог. 1 если ты выдаешь лог. 1 с микроконтроллера
1.2) лог. 0 если ты выдаешь лог. 0 с микроконтроллера
2) Ведущий выдает лог. 0, тогда на проводе будет лог. 0 вне зависимости от того что выдает микроконтроллер.
Аноним 14/04/19 Вск 11:34:07 362405479
>>362402
Ты опять выходишь на связь, школотрон?
Сделай простой тест на вшивость - возьми любой вывод, подключи его через резистор 1..10К к питанию. Настрой вывод как open-drain и проверь, что когда в выходном регистре ODR 0 - на выводе напряжение питания, записав 1 в ODR - получишь ноль на выводе.
Как минимум покажет правильно-не правильно быдлокодишь управление уровнями на шине.
Аноним 14/04/19 Вск 16:51:56 362431480
jIb7RK2Ri0.jpg 32Кб, 500x350
500x350
>>362405
>вывод как open-drain
>ODR 0 - на выводе напряжение питания
Аноним 15/04/19 Пнд 09:38:07 362467481
>>362403
>>362405
01 канал - SCL, 03 канал - PD9, 05 канал - SDA
Первый кадр - подтянутый к питалову PD9 - как видно, форму выдаёт как надо.
Второй кадр - PD9 включен в шину, повешен на SDA. Тут уже то о чем я и говорил.
Походу где-то в коде косяк, правда очень странно.
Аноним 15/04/19 Пнд 09:38:53 362468482
image.png 156Кб, 1281x1054
1281x1054
Аноним 15/04/19 Пнд 09:50:02 362469483
>>362468
Настойки порта PD9? Полные, куда что пишешь. Каким говнокодом определяешь когда выдавать 0 на шину? На пиках очень разный масштаб. Может свой говнохал неуспевает продристаться? Если включил аппаратый iic-slave - то снова читай тред выше. Если программно - см чуть выше про хал или на каких костылях пишешь - потестируй чем-то другим снаружи на разных скоростях.
Аноним 15/04/19 Пнд 11:34:37 362478484
>>362467
Не понимаю тебя, ты делаешь что-то очень странное и нелогичное.
Зачем ты подключаешь логический анализатор, если у тебя подозрение на то что микроконтроллер в режиме с открытым стоком как-то не так работает? Например микроконтроллер не перешел в режим с открытым стоком или мощи не хватает чтобы притянуть выходной уровень к земле. Тут нужно мультиметром в статике тыкать (без I2C вообще), приблизительно как советовал анон выше >>362405
Аноним 15/04/19 Пнд 12:24:00 362482485
>>362478
Потому что я так и сделал, и увидел что косячит код.
И теперь переделываю код.
>>362469
Хал пока успевает тут как видишь - на первой диаграмме с PD9 можешь видеть импульс. Нашёл в чем был косяк, сейчас подправил. Пойду пилить дальше.
Аноним 23/04/19 Втр 15:36:19 364545486
STM32F103C8T6ST[...].jpg 517Кб, 1920x1280
1920x1280
Посоны, купил на алике значт ЭТО. stm32 Smart 2.1 ебать.
Ну лохонулся, зажал сотку на программатор. Короче dmesg выдаёт такую хуйню:
new full-speed USB device number 13 using ehci-pci
device not accepting address 13, error -32
unable to enumerate USB device
А теперь вопрос, как реализован последовательный интерфейс на эстээмах? У ардуины какой то преобразователь на плате стоит из сериала в усб, а у stm вроде имеет какое то готовое решение на борту которое надо заливать в прошивку или я ошибаюсь?
USBasp 2.0 можно переделать в программатор stm32?
Аноним 23/04/19 Втр 15:37:16 364546487
>>364545 а да, при включенном питании моргает шоколадным глазом светодиодом
Аноним 23/04/19 Втр 19:44:18 364573488
>>364545
Ты вообще отличаешь микроконтроллер от отладочной платы с микроконтроллером, или это для тебя одно и то же? Возьми схему своей платы. Может ты не умеешь "читать" схемы? Как ты вообще без схемы собрался что-то программировать?

В самих микроконтроллерах STM32 (а также многих других) есть масочное (т.е. неперепрошиваемое) ПЗУ, в котором записан бутлоадер. Этот бутлоадер может грузить прошивку через UART, а также через другие интерфейсы в зависимости от микроконтроллера. Поэтому для программирования STM32 а также других кортексов достаточно переходника USB-UART.
Аноним 24/04/19 Срд 16:14:22 364629489
>>364545
> А теперь вопрос, как реализован последовательный интерфейс на эстээмах?
У конкретно этого МК на борту есть контроллер usb. Но без бутлодера, или другого ПО, которое его настроит, он не будет просто так работать.
> а у stm вроде имеет какое то готовое решение на борту которое надо заливать в прошивку или я ошибаюсь?
Да, у них прошит первичный бутлоадер, но он работает только через uart
> USBasp 2.0 можно переделать в программатор stm32?
Чтобы залить бутлоадер тебе нужен usb uart ttl конвертор, как написал анон выше. Внимательно проверь напряжение, стмки рассчитаны на 3.3В
Как через него залить ардуиновский usb бутлоадер можно почитать здесь
https://habr.com/ru/post/395577/
Аноним 24/04/19 Срд 19:36:48 364647490
>>364629
>Внимательно проверь напряжение, стмки рассчитаны на 3.3В
Там эти выводы 5V-tolerant. Из популярных переходников USB-UART наверное только в CH340 могут быть пятивольтовые уровни. Если сравнить логические уровни CH340 и STM32, то будет видно что проблем не должно быть.
>ttl
А КМОП значит не подойдет?
>Как через него залить ардуиновский usb бутлоадер можно почитать здесь
Мерзость. И для отладочной платы бессмысленно, потому что есть дешевые отладчики (J-Link и другие).
Аноним 24/04/19 Срд 22:25:07 364678491
>>364647
Пожалуйста, не выёбывайся
Аноним 24/04/19 Срд 23:09:54 364688492
>>364678
Я выебнулся только в том месте где написал что это мерзость. Разве это не мерзость? Про то что не подойдут пятивольтовые - подойдут, это не критично. Писать usb uart ttl тоже не стоит, потому что ТТЛ тут часто абсолютно не при чем.
Аноним 30/04/19 Втр 23:19:11 365291493
Аноним 01/05/19 Срд 18:30:20 365359494
>>365291
>нет нигде?
Купи да выложи, что тебя останавливает?
Аноним 01/05/19 Срд 21:34:30 365380495
>>365291
Если посмотреть чейджлоги, то валяющаяся везде 0.21 не сильно хуже - там только пара ошибок и не описаны семейства L4 и WB.
Аноним 01/05/19 Срд 21:51:03 365385496
Только вкатываюсь, объясните что за дела.

В общем, есть stm32f030 — https://www.openimpulse.com/blog/products-page/product-category/stm32f030f4p6-mini-development-board/
Пример проекта оттуда, использующий CMSIS и SPL, я скомпилил в uVision'е, objcopy из .axf'а в .bin. Пользуюсь другой ОС, MDK не могу и не буду использовать.

Далее st-flash write led.bin 0x8000000 всё нормально работает, после прошивки я могу его ресетать кнопкой иил прошивать ещё.

А вот если я попробую скопилировать arm-none-eabi-gcc вот этот bare-metal пример - https://github.com/bjornfor/stm32-test/tree/master/bare-metal (make all ; st-flash write main.bin 0x8000000), то я получаю ситуацию, что программа работает, но st-flash двайс больше не видит. Если нажать кнопку ресета, то программа больше не работает, а st-flash его снова видит и можно прошивать.
Если я после этого нажму ресет, выполню st-flash reset, то теперь уже нажатие кнопки просто ребутает чип и он исполняет программу. Однако, st-flash'ем теперь зписать сложно: нужно зажать ресет, запустить st-flash и отпустить ресет после начала работы но до таймаута. Не очень круто.

Это как-то связно с BOOT0 и его подключением на gnd или 3v3, видимо, но я не очень понял, как именно и почему бинарник из того проекта по ссылке таких проблем не имеет.

Разве st-link не должен сам сбрасывать девайс перед прошивкой? Пробовал подключать st-link RST -> NRST, ничего не поменялось. (st-link у меня китайский клон, v2).

Собственно, кто виноват и как сделать так, чтобы я мог и прошивать постоянно, и после ресета программа запускалась?
Аноним 01/05/19 Срд 23:35:34 365400497
>>365385
Даже не знаю что тебе посоветовать.

>этот bare-metal пример
Для начала выкини из него все лишнее, включая настройку RCC (функция clock_setup). Микроконтроллер вполне можно подвесить если неправильно настроить тактирование. Оставь только настройку вывода к которому подключен светодиод.
>Это как-то связно с BOOT0
У этих микроконтроллеров есть отдельный не перезаписываемый кусок памяти из которого начинает выполняться программа после включения питания. Эта программа проверяет уровни на выводах BOOT и либо переходит к выполнению бутлоадера, либо к выполнению кода из флешки либо еще что-то.
>Разве st-link не должен сам сбрасывать девайс перед прошивкой? Пробовал подключать st-link RST -> NRST
На счет st-link не знаю, но обычно это настраивается.
Аноним 02/05/19 Чтв 00:00:49 365402498
>>365400
>Для начала выкини из него все лишнее
Вот это хорошая была идея, спасибо.

Значит, там в main.c было:
>GPIOC->MODER = 0x01 << (LED_IR2);
>GPIOC->MODER |= 0x01 << (LED_BLUE
2);
>GPIOC->MODER |= 0x01 << (LED_GREEN*2);

А у меня-то диод подключён к 4-ому пину GPIO, поэтому я тут просто заменил всё на GPIOA, и дефайны LED все сделал равными 4-м, лень было удалять и потом разгребать ошибки компилятора.
И вот "GPIOA->MODER = 0x01" всё ломает, так как SWDIO и SWCLK же к на пинах PA13 и PA14 висят.

Правда, почему после ресета программа не выполнялось не очень ясно, есть идеи?
Аноним 02/05/19 Чтв 00:01:59 365403499
FLASHACR.png 47Кб, 935x621
935x621
>>365400
Я похоже угадал на счет тактирования.
>RCC->CFGR |= 10 << 18; // PLLMUL[3:0]: set PLL input clock multiplier
Умножение частоты HSI/2 на 12, получается 48 МГц, вроде как не превышает допустимую. Однако флешка не может работать на столь большой частоте и перед переключением на тактирование от PLL необходимо настроить количество тактов ожидания при чтении памяти.
Аноним 02/05/19 Чтв 00:17:43 365404500
>>365403
Не, clock_setup не влияет ни на что.
Аноним 09/05/19 Чтв 20:51:33 366361501
Надоело рисовать алгоритмы работы на бумаге, перед непосредственно написание программы. Есть ли годные удобные редакторы для рисования алгоритмов?
Аноним 09/05/19 Чтв 20:55:14 366362502
>>366361
Simulink
Какие нибудь опенсорсные фреймворки для ПЛК
Аноним 10/05/19 Птн 19:17:33 366484503
Не пойму, что происходит, почему я не могу поделить обычные целые числа?

STM32F030F4P6 + CMSIS + стандартные system/startup файлы.

>int main() {
>    int x = 20;
>    int y = x / 10;
>}

Вызывает у контроллера бугурт:
Breakpoint 1, main () at src/main.c:48
48 int x = 20;
(gdb) s
49 int y = x / 10;
(gdb) s
^C
Program received signal SIGINT, Interrupt.
WWDG_IRQHandler () at device/src/startup_stm32f030.s:148
148 b Infinite_Loop
(gdb) bt
#0 WWDG_IRQHandler () at device/src/startup_stm32f030.s:148
#1 <signal handler called>
#2 0x08000894 in ?? ()
#3 0x08000574 in main () at src/main.c:49


на 2-4-8 и прочие степени двойки делить могу. Что за фигня-то, даже attiny справляется ведь, и без какой-либо возни с моей стороны. Где я обосрался?

В листинге ( https://pastebin.com/NZN1tRnW ) всякие __divsi3 сгенерились, что-то там он должен бытать сделать, но, похоже, не может:
>(gdb) s
>46 int y = x / 10;
>(gdb) si
>0x08000344 46 int y = x / 10;
>(gdb) si
>0x08000346 46 int y = x / 10;
>(gdb) si
>0x08000348 46 int y = x / 10;
>(gdb) si
>0x080001ec in __divsi3 ()
>(gdb) si
>0x080001ee in __divsi3 ()
>(gdb) si
>0x08000894 in ?? ()
>(gdb) si
>WWDG_IRQHandler () at device/src/startup_stm32f030.s:148
>148 b Infinite_Loop

При этом в __divsi3 нет никакого 1ee:
>080001ec <__divsi3>:
> 80001ec: e3510000 cmp r1, #0
> 80001f0: 0a000043 beq 8000304 <.divsi3_skip_div0_test+0x110>

Так и какого хрена он туда прыгает? Или почему не идёт дальше по по адресам, пока до 1f0 не дойдёт, чё за хуйня?
Аноним 10/05/19 Птн 21:06:45 366507504
>>366484
Очевидно, конпиляктор нагенерил какую-то хуйню, видимо не тот опкод. Судя по твоим листингам и ошибкам, компилятор хотел сгенерить 32-битную инструкцию, но процессор воспринимает её как короткую 16-битную, поэтому инкрементирует pc на 2 байта и неверно читает следующую инструкцию, что вызывает исключение.
Ты каким-нибудь gcc наверное пользуешься?
> на 2-4-8 и прочие степени двойки делить могу.
Там компулнятор простой сдвиг подсовывает
> всякие __divsi3 сгенерились
Встроенная функция деления для процессоров без аппаратной инструкции деления
Ты стандартную библиотеку откуда берёшь? Возможно, она не от той архитектуры, проверь флаги компилятора

Аноним 10/05/19 Птн 21:27:24 366511505
>>366507
>Ты каким-нибудь gcc наверное пользуешься?
Да.

>Ты стандартную библиотеку откуда берёшь?
О, спасибо. Я запутался с ними и в итоге просто пару путей добавил в мейкфайл и забыл, в надежде, что оно само магически нужное берёт, ведь типа работало. Поменял на thumb/v6-m/libgcc.a и всё заработало.
Аноним 11/05/19 Суб 15:54:44 366584506
15485402162570.png 221Кб, 648x526
648x526
Объясните, плез, как с помощью таймера:
а) сгенерировать положительный импульс шириной 10 микросекунд?
б) измерить ширину импульса?
Не на примере, а по хардварной части: что и как считается.
Ну там частота таймера, прескейлер, CCV счётчик - как всё это связано.
Аноним 11/05/19 Суб 17:31:11 366594507
>>366584
>а) сгенерировать положительный импульс шириной 10 микросекунд?
OneShotMode режим таймера.

>б) измерить ширину импульса?
Точно не помню, но вроде через захват значений таймера, который тупо считает и по разнице значений узнаешь ширину.
Аноним 11/05/19 Суб 18:03:04 366597508
Аноним 12/05/19 Вск 13:12:27 366711509
>>339005 (OP)
Собираюсь прикупить со зряплаты STM32F746G-DISCO Порадуйтесь за меня штоле.
Аноним 12/05/19 Вск 13:30:17 366714510
>>366711
Подумывал, но как-то на кусок говна похоже.
Как минимум используется только половина штатной sdram, немного в ебенях разъем пердуины и... СУКА НЕТ GPIO. ВОТ ПРЯМ ПРАКТИЧЕСКИ НИХУЯ. Вещь в себе. Нет огромного простора для подключения всякого барахла. С натягов 429-disco тоже не очень. Хоть и все выводы выведены, но и при этом почти все заняты какой-либо периферией, что накладывает довольно жесткие ограничения.
Аноним 12/05/19 Вск 13:31:18 366715511
>>366711
придёт бракованная
или посылка потеряется
Аноним 12/05/19 Вск 13:36:34 366717512
>>366715
>придёт бракованная
>или посылка потеряется

Я же не долбоёб на Али заказывать. В Электронщике 6к это удовольствие.
Аноним 12/05/19 Вск 13:41:07 366719513
>>366714
>Нет огромного простора для подключения всякого барахла
Огромный простор у меня есть на 429-диско. Eval-борда со всякими GPIO стоит ебаных сотен нефти. А тут вроде куча периферии и вся уже распаяна, только код меняй. Таки попробую.
Аноним 12/05/19 Вск 13:54:39 366722514
>>366719
>Огромный простор у меня есть на 429-диско.
Можешь показать как например ВСЕ uart-ы использовать?
Как-то пробовал - со скрипом только 3 пары rx-tx нашел.
Или например все SPI разом использовать?
Аноним 12/05/19 Вск 14:17:00 366724515
>>366711
Ну не знаю, я бы всё таки смотрел в сторону STM32H7, если уж нужен мощный микроконтроллер
Аноним 12/05/19 Вск 14:20:08 366726516
>>366722
>как например ВСЕ uart-ы использовать?
В Кубе переназначь выводы используемые под дисплей и почую периферию и используй все юарты
Аноним 12/05/19 Вск 14:27:43 366728517
>>366724
>STM32H7
Нету у Электронщика. Даже на самом ST нет в свободной продаже.
Аноним 12/05/19 Вск 14:52:38 366730518
>>366726
>переназначь выводы используемые под дисплей и прочую периферию
А ты мне прибежишь и перепаяешь при этом дисплей? Это не пердуино тред же.

Знаю что тебе впадлу искать, давай про юарт на 429-disco:
uart4 PA0+PA1 - PA0=кнопка, PA1=int1
usart2 pa2+pa3 - pa2=int2, pa3=lcd db3
usart1 pa9+pa10 - чистые
usart1 pb6+pb7 - pb6(TX)=sdne1, pb7-чист
usart3 pb10+pb11 - lcd db8+db9 (условно чистые)
usart6 pc6+pc7 - lcd hsync+db10 (условно чистые)
usart3 pc10+pc11 - lcd db12 + чист (условно чистые)
uart4 pc10+pc11 - lcd db12 + чист (условно чистые)
uart5 pc12+pd2 - чистые
usart2 pd5+pd6 - чист+lcd db0 (условно чистые)
usart3 pd8+pd9 - lcd d13+d14 (условно чистые)
uart8 pe0+pe1 - nbl0+nbl1 (условно чистые)
uart7 pe7+pe8 - sdram d4+d5
uart7 pf6+pf7 - чист + dxc(spi)
usart6 pg9+pg14 - чист + red led (условно чистые)
По итогу - всего 3 чистых юарта. Нужно больше? Проебите экран сэр! Проебите SDRAM память, сэр!
Аноним 12/05/19 Вск 15:16:24 366732519
>>366730
Слушай, это демоплата для работы с fmc и lcd контроллером, этож не usart плата, кому вообще придет в голову на демоплате использовать больше 2х портов? Ты еще бы пожаловался, что ты не можешь использовать ВСЮ переферию одновременно. Если тебе нужны порты, то это уже целевая плата - делай ее сам. Ей богу, как долбоебы обезумевшие.
Аноним 12/05/19 Вск 15:59:31 366739520
>>366730
>и перепаяешь при этом дисплей?
Если тебе нужны все UART-ы, то смирись и забудь про дисплей. Странный ты какой-то.
Аноним 12/05/19 Вск 17:10:43 366754521
>>366728
Я только вариант Nucleo видел из недорогих. Discovery вроде даже на него нет. Зато этот проц на 40-нм техпроцессе сделан вместо 90, как у F7, что позволило частоту аж 400 МГц поднять.
Аноним 12/05/19 Вск 17:20:40 366761522
>>366754
>400 МГц
Данунах. Мне столько не надь. Для таких частот у меня есть пара плат от промкомпов на х86 процах.
Аноним 12/05/19 Вск 17:22:59 366763523
Аноним 12/05/19 Вск 17:27:38 366764524
>>366763
>84 бакса
87. Извиняюсь за фейк-ньюс
Аноним 12/05/19 Вск 17:32:33 366768525
>>366754
И это, там ST жи заебенило йоба-контроллер двухядерный и платку на нем STM32MP157A-DK1 , но как по мне, это уже перебор для домашнего усачества.
Аноним 13/05/19 Пнд 15:12:50 366845526
У меня тупой вопрос по USART'у. Если я делаю что-то типа консольного управления МК, мне нужно каждую отправленную букву назад высылать, чтобы не печатать в пустоту? Или на клиенте local echo должно быть включено?

А то, например, в screen'е локал эхо даже нет. В tio оно странновато работало (иногда по букве, а иногде только сразу после всей строки появлялось). Из примеров реализаций низкоуровненых имеется только esp8266 рядом, и там как раз каждый символ мне назад и высылается, поэтому с local echo будет дублироваться (диод мигает, без rx линии я будто ничего не печатаю, но если перед \n подключу, то нормально всё отвечает).

Пытался загуглить но что-то ничего полезного не нашёл, будто я один дурак такой. Но в примерах кода я никакого такого побуквенного эхо не видел. У всех в клиенте всё нормально печатается без лишних движений (например, тут https://visualgdb.com/tutorials/arm/stm32/uart/ ).
Аноним 13/05/19 Пнд 18:28:03 366872527
>>366845
> мне нужно каждую отправленную букву назад высылать, чтобы не печатать в пустоту?
Да, везде так. Даже ssh на Линукс через сеть точно так же работает, каждый символ эхом обратно отправляет
Аноним 13/05/19 Пнд 20:43:52 366888528
>>366872
А как тогда правильно структурно организовать передачу данных, если по прерываниям из буферов отправляется и приходит символ во время передачи данных? Не из прерывания же отправлять эхо это. Отключать прерывание по приходу данных на время передачи, чтобы другая сторона остановилась? Или просто докладывать пришедшие данные в буфер на передачу, чтобы он их после всего предыдущего сообщения отправил? Вроде бы что-то похожее на второй вариант я обычно вижу, если скопирую-вставляю, например, много комманд сразу. Или вообще иметь два буфера: обычный и для "эхо"?
Аноним 13/05/19 Пнд 21:00:35 366892529
>>366888
Наверное платиновый вопрос - есть ввод ПАРОЛЕЙ и прочей конфиденциальной инфы? Исходи из этого.
Если нет - рискнул бы один большой входной буфер и конченный автомат, посимвольно разгребающий эту кучу говна.
Как отличить границы команд? Магический перевод строки.
Со стрелками курсора интересно будет - они выглядят примерно так "^[[A".."^[[C", бекспейс и делете немного иначе выглядит.
В свою бытность быдлокодил меню и.. местами сосал хуй, правда терминалы не помню. Показывалась только одна строка в самом низу или цвет строки(выделение) не восстанавливалось ESCAPE последовательностью (погугли - ими можешь и цвет менять, и курсор в любое место экрана запихнуть с этого места печатать. Если твой терминал не умеет в escape последовательности - увидишь в явном виде бред в стиле ^[[C" т подобный)
Аноним 13/05/19 Пнд 22:35:49 366898530
>>366892
Да не, какие пароли, пока ничего такого.

>Если нет - рискнул бы один большой входной буфер и конченный автомат, посимвольно разгребающий эту кучу говна.
Не совсем понимаю, что именно ты имеешь в виду, и зачем мне один большой входной буфер. Вот, например, вызвал я
>peredat'_sto_bait() {
>    memcpy(outbuf, sto_simvolov, 100);
>    enable_txe_interrupt();
>}
Данные пошли передаваться, и на 50-ом символе нетерпеливый пользователь берёт и кнопку тыкает, на мк срабатывает RXNE прерывание. Что тут нужно делать? Записать пришеший байт в коне outbuf'а, записав предварительно записав куда-нибудь текущее количество байт в нём, и жить спокойно? Или вообще не обрабатывать приём, когда идёт передача, а потом уже гарантировано иметь себе пустой выходной регистр?

Почитал Mastering STM32, так там в примере с использованием HAL'а вообще нельзя одновременно и передавать, и принимать (ну, внутри HAL'а самого), и прерывания отключаются, и проверки при входе в фукнции есть. Да и код у него немного странный, намешаны Receive/Transmit и Receive_IT/Transmit_IT. Так и надо, что ли? При этом readUserInput() стоит проверка флага, который выставляется в 'data transfer complete' хендлере, который вызывает по окончанию приёма который может начаться лишь после вызова HAL_UART_Receive_IT, который вызывается лишь когда этот флаг выставлен. Нигде инициализации его я не видел, может пропустил, конечно, бегло посмотрел. Ну и он там просто берёт и отправляет назад только что полученный символ без всяких прерываний наплевав на всё. То есть, я зря выдумаваю себе лишние проблемы, что ли? Проверка на состояние TXE флага ведь выполнится в "обычном" коде лишь тогда, когда прерывания по нему прекратятся и отключатся, верно?

Просто опять у него какое-то получается "описание возможностей", которое и в reference manual'е найти можно, а мне бы "реальный пример" хотелось бы, а не вроде бы работающую штуку, но делают ли так в жизни не сказано. Ну знаешь, как бывает, вот мы нахуярили тут что-то, а в следующей главе "но это всё не очень правильно и приведёт к ошибкам".

В общем, байтоёбить не проблема, мне бы высокоуровненый обзор стандартной общепринятой реализации или типа того.

Всякие анси и прочие эскейп коды это я знаю.
Аноним 13/05/19 Пнд 22:52:24 366899531
>>366888
> Не из прерывания же отправлять эхо это.
Чому нет? Отправка байта по уарту - это обычно всего лишь одна инструкция записи в регистр передачи. То есть, в прерывании читаешь байт из регистра приёма, сохраняешь его в свой буфер, либо делаешь обработку какую тебе там надо, и тут же записываешь в регистр передачи уарта. Ну получится у тебя в обработчике прерывания на одну инструкцию больше - говно вопрос. Можно примерно так почувствовать, что при обработчике прерывания в 16 инструкций при тактовой частоте 16МГц прерывание будет выполняться за 1 микросекунду. При этом время передачи одного бита через уарт на скорости 115200 примерно в 8.6 раз дольше, чем выполняется прерываение, а если взять передачу одного байта, то ещё умножь на 10
> Отключать прерывание по приходу данных на время передачи, чтобы другая сторона остановилась?
Нет, зачем, уарт же дуплексный.
> Или просто докладывать пришедшие данные в буфер на передачу, чтобы он их после всего предыдущего сообщения отправил?
Глупости какие. Ты слишком заморачиваешься. Ты пойми, никакой, даже самый заядлый прогромист, не сможет набирать на клавиатуре тысячи символов в секунду, где у тебя бы встала проблема с быстродействием и нужно было бы принимать специальные меры. В расчёте выше показано, что даже если полностью загрузить уарт на скорости 115200 и делать всё на прерываниях, то нагрузка на процессор всё равно будет мизерной. Чтобы почувствовать какие-то проблемы с быстродействием, тебе нужно умудриться написать обработчик прерывания больше, чем на тысячу тактов, чего, конечно же, делать не стоит
Аноним 13/05/19 Пнд 22:57:41 366903532
>>366899
> при тактовой частоте 16МГц
Бля, я думал, я в ардуино-треде, лол. Ну можешь пересчитать на соответствующую частоту
Аноним 13/05/19 Пнд 23:05:53 366904533
>>366899
>Чому нет?
Тогда туда ведь надо ставить и while (txe != set)? Ведь туда только что могло txe прерывание записать данные, которые я отправляю. Вот меня это ожидание немножко волнует, ведь это как раз и ждать передачу целого байта, что долго. Или тоже фигня?

Я не то чтобы о быстродействии забочусь, а скорее об, эм, стойкости, что ли, ну что б внезапно вдруг не сломалось что-то.
Аноним 13/05/19 Пнд 23:21:25 366905534
>>366904
Это нужно, если ты только, вот прям только что, записывал какое-то значение в регистр передачи, и передача этого байта ещё не успела закончиться. Но, так как скорость приёма и передачи у тебя одинаковая, и ты записываешь значение для передачи только по прерыванию приёма, ты физически не сможешь записать что-то в регистр передачи, когда передача предыдущего байта ещё не завершилась. Ты можешь оставить эту проверку на всякий случай, она всё равно будет сразу же выходить
> Ведь туда только что могло txe прерывание записать данные, которые я отправляю.
Не понял, что за прерываение? Ты сам записываешь в TDR внутри прерывания по приёму. Прерывания на передачу не нужны
Аноним 14/05/19 Втр 05:29:54 366913535
>>366898
>>Если нет - рискнул бы один большой входной буфер и конченный автомат, посимвольно разгребающий эту кучу говна.
>Не совсем понимаю, что именно ты имеешь в виду, и зачем мне один большой входной буфер. Вот, например, вызвал я
Еще раз - один огромный кольцевой буфер, куда валится все входящее говно.
(утрированно) "команда1 параметры1"0x0d"команда2"0x0a"команда3 параметры1 параметры2"0x0d0x0a"команда4"
Идешь посимвольно с самого начала буфера и анализируешь
что пришло. Здесь основная магия именно в кольцевом буфере и побайтовом разборе.

>>366898
>на 50-ом символе нетерпеливый пользователь берёт и кнопку тыкает
На некоторых свичах (кажется DES-3200-28 и подобных от D-link) - используется первый вариант. Можно дать далеко не одну команду настройки, а с 10-20-30, и пока он их поочередно выполняет - ему глубоко похуй что там пользователь тычет и нет возможности прервать выполнение команды вида "config vlan default delete ports 1-28" при локальной настройке через консоль не актуально, а вот по сети.. кому надо - поймут какая это боль в этой команде.
После выполнения всех команд отображаются вводимые пользователем символы.

У тебя кажется просто шиза на realtime исполнение. Не ядерным реактором же управляешь. Просто дописал в мануале - пока не выполнится текущая команда, данные новой команды не отображаются, пока не закончится выполнение программы. Спишь спокойно. При одиночном вводе символов, а не копипасты пачки команд эти строчки не актуальны и будет "эхо" в реальном времени.
Аноним 14/05/19 Втр 08:05:39 366918536
>>366845
Я бы как-нибудь все это разделил.
1) Для начала сделать функции чтения/записи по одному символу в кольцевой буфер (FIFO). Желательно сделать так, чтобы эти функции принимали указатель на сам кольцевой буфер, чтобы можно было сделать произвольное количество буферов без копипаста функций.
2) Сделать два кольцевых буфера с помощью функций из пункта 1, сделать прием данных в один кольцевой буфер и отправку из другого. И не столь важно по прерываниям это будет, через ПДП или просто через ожидание в цикле.
3) Написать функции копирования строк в буфер на передачу. Можно с использованием sprintf.
4) Сделать массив структур с описанием имеющихся команд. В структурах должна быть строка с именем команды, указатель на функцию соответствующей команды, что-то указывающее на тип аргумента и прочее что требуется.
5) Написать функцию разбора команд. Для большей универсальности, особенно если каждая в отдельности команда короткая, эта функция может принимать просто по одному символу в какой-то свой небольшой буфер. Эта функция должна отделять команду от аргументов (если они есть), и искать соответствующую структуру в массиве из пункта 4, а потом вызывать соответствующую функцию по указателю из найденной структуры.
6) Все соединяешь и готово. Эхо вставляешь куда угодно, при таком разделении это не потребует много кода.

В результате получишь более-менее универсальный код, который сможет работать на любых микроконтроллерах с минимальными изменениями. Какая-то зависимость от аппаратной части будет только в пунктах 2 и 6. Пункты 3-5 совсем никак не зависят от аппаратной части и от того куда ты вставил эхо.
Аноним 14/05/19 Втр 10:09:13 366925537
Аноним 14/05/19 Втр 10:45:47 366927538
>>366925
Сильно отличается от обычного эклипса с плагинами?
Аноним 14/05/19 Втр 12:42:16 366939539
>>366927
Бес понятия. У меня Кейл.
Аноним 14/05/19 Втр 14:24:33 366944540
Нужен SDK вроде Keil под Windows XP, для работы с STM32F103
Аноним 14/05/19 Втр 14:34:47 366947541
>>366944
>под Windows XP
А чо не под Win 3.1?
Аноним 14/05/19 Втр 14:47:34 366954542
>>366944
SDK это что такое? Компилятор вместе с CMSIS/SPL/HAL и прочим в одной коробке? Так просто возьми gcc и пиши мейкфайлы руками.
А что тебе мешает взять кейл? Новые версии под XP не работают? Так возьми старую версию.
Аноним 14/05/19 Втр 16:33:44 366978543
>>366947
ну есть ноут с Win 10, но я боюсь его сжечь по неопытности.
>>366954
>Так возьми старую версию.
Смотрел Keil 4, там нет серии Fxxx вообще, только какие-то uPSD
Аноним 14/05/19 Втр 16:36:06 366980544
>>366978
>боюсь его сжечь по неопытности.
Чем? Компиляцией своего говнокода?
Аноним 14/05/19 Втр 16:38:25 366981545
>>366980
запуском говнокода.
А еще при пайке EEPROM кажется перегрел ее, может быть она уже сдохла. Хз как проверить
Аноним 14/05/19 Втр 17:03:59 366986546
>>366978
>только какие-то uPSD
У этих архитектура 8032. Значит ты скачал кейл для 8051, а не для ARM.
И пофигу вообще на все эти списки микроконтроллеров в кейле. Это всего лишь предустановки линкера и флагов компилятора. Может лучше с ардуины начнешь, если такого не понимаешь?

>>366981
Не понял. Бред какой-то. Говнокод - это что? Кейл? Или твой код, запускаемый в кейловском симуляторе?
Аноним 14/05/19 Втр 17:07:41 366989547
>>366986
>Может лучше с ардуины начнешь, если такого не понимаешь?
нет, это по учебе. Да и зачем ардуино, понимания от этого не прибавится же, это просто поиграться.

>Говнокод - это что?
>твой код?
да
Аноним 14/05/19 Втр 17:23:24 366995548
>>366989
>Да и зачем ардуино, понимания от этого не прибавится же
Пердуина это плата с программируемым микроконтроллером, только несколько помедленней чем STM32 и с более слабой периферией. Так что если ардуина не даст никакого понимания, то STM32 тем более.
>да
Это сильно. Для этого, для начала тебе придется взломать симулятор, потом... Просто бред. Да и вообще не обязательно запускать код в симуляторе. Или твой код неким чудодейственным способом сломает компьютер при загрузке в микроконтроллер?
Ладно бы ты еще боялся пожечь порты, это еще как-то возможно, но это просто невероятный бред.

Кстати, 5-ых кейлов много разных версий. Там даже компилятор практически сменили в одной из версий - был на основе gcc, стал на основе llvm. Какие-то версии кейла 5 наверняка должны работать под XP.
Аноним 14/05/19 Втр 18:52:23 367006549
>>366995
>Так что если ардуина не даст никакого понимания, то STM32 тем более
Какого понимания? Что конкретно? Ты тут писал >>366986
>У этих архитектура 8032. Значит ты скачал кейл для 8051, а не для ARM.
>И пофигу вообще на все эти списки микроконтроллеров в кейле. >Это всего лишь предустановки линкера и флагов компилятора. >Может лучше с ардуины начнешь, если такого не понимаешь?
При чем тут ардуино вообще?

>Это сильно. Для этого, для начала тебе придется взломать симулятор, потом... Просто бред
Ладно, я наверное ошибся. Дело не в моем коде, а скорее в правильно спаянной схеме, и исправности компонентов. Может быть что-то где-то замкнет, и...
Аноним 14/05/19 Втр 19:52:10 367011550
>>367006
>Какого понимания?
Вот и я про то же. Про какое понимание ты писал? Про понимание общих принципов работы микроконтроллеров? Так для этого ардуина вполне подходит, и не сожгешь ничего.
И зачем ты процитировал фразы, касающиеся архитектуры? Еще раз повторяю: ты взял 4-ый кейл не для ARM. Кейл бывает для архитектур ARM Cortex-M, 8051, C166 и 80251. Все это разные компиляторы и IDE.
Потом, даже если в списках кейла нет твоего микроконтроллера - это не помешает компилировать в кейле код для твоего микроконтроллера. Для этого нужно выбрать архитектуру, задать параметры для линкера и некоторые флаги компилятора. Необходимо только чтобы в этом кейле был компилятор для нужной архитектуры (ARM Cortex-M).

>Может быть что-то где-то замкнет, и...
И нихуя, если только не подашь на вход 220 В или что-то в том же роде. Но даже если так боишься, то грузи программу в STM32 через UART с гальванической изоляцией, тогда даже если киловольт подашь, все равно компьютеру ничего не сделается.
Теперь понял?
Аноним 14/05/19 Втр 20:55:11 367014551
>>367011
Теперь понял, спасибо анончик
Аноним 14/05/19 Втр 23:59:50 367020552
>>366905
>Прерывания на передачу не нужны
Как не нужны, не блокируя ж высылать данные. А в главном while'е постоянно проверять не хочется, всё намешано в одну кучу в итоге будет.

>на realtime исполнение. Просто дописал в мануале - пока не выполнится текущая команда, данные новой команды не отображаются, пока не закончится выполнение программы.
Никого риалтайма, я и не против такой иметь, даже лучше, когда не смешивается.

Ты почему-то всё на обработку входа упор делал, но у меня вопрос-то был лишь о синхронизации передачи из двух мест (ответ на команду и эхо).

>ты физически не сможешь записать что-то в регистр передачи
Это если я только эхо имею, не? Но ведь я могу и, скажем, ответ на предыдущую команду в этот момент передавать.
Вот, например, такой код — https://pastebin.com/aNMj0gvi. Скорость 300 выставил, разумеется, чтобы наблюдать за всем. При нажатии кнопок (в любой момент) диод мигает, счётчик циклов инкрементируется, соответствующее количество сообщений отправляется, то есть всё куда и когда надо приходит. Но вот никакого эхо нажатых во время получения сообщения кнопок нет, потому что регистр перезаписывается отправкой сообщения, о чём я и говорил. (Не очень понимаю, правда, почему он проверку на TXE проходит.) Раскомментировав строку 22 всё выходит нормально — и сообщение приходит, и эхо (смешивающееся с сообщением, да). Ну или проверку отправки сообщения тоже можно на if ((USART1->ISR & USART_ISR_TC) == USART_ISR_TC) заменить, но почему-то везде TXE используют.

В общем, спасибо, буду пытаться делать через кольцевые буферы. И >>366918 тебе тоже.
Аноним 15/05/19 Срд 03:11:37 367025553
>>367020
Без понятия на счет всех этих регистров, т.к. c STM32 очень давно ничего не делал. Но у тебя получается примерно такой алгоритм:
1) Если что-то пришло, то отправить на выход.
2) Если буфер передатчика пуст, то вывести очередной символ из usart_out_buff.
3) Перейти к пункту 1.
Ну и что ты хотел? Выводишь в пункте 2 символ и не дожидаешься окончания передачи, в результате сразу можешь перейти к пункту 1, когда буфер передачи еще не пуст. Это как-то нелогично.

Почему бы не выводить только из одного единственного FIFO?
1) Сделать два FIFO, один на передачу, другой на прием.
2) По прерыванию записываешь принятый байт в приемный FIFO.
3) Где-нибудь выдаешь байты из FIFO на передачу в регистр TDR. Это можно сделать как угодно - по прерыванию или задействовать ПДП.
4) В основном цикле переписываешь байты из приемного FIFO в FIFO на передачу и делаешь разбор команд и выполнение команд. Там же дописываешь в FIFO на передачу свои сообщения.
В результате ничего не путается и все хорошо. Конечно, в этом случае эхо будет ждать пока не выполнятся команды, но разве это плохо? Наоборот, вывод команды не будет путаться с эхом. Даже циклы вида while ((USART1->ISR & USART_ISR_TC) != USART_ISR_TC) {} при таком подходе не требуются.
Аноним 15/05/19 Срд 08:22:47 367039554
Какого хуя, у меня ломается ШИМ на таймере, если в совершенно другом месте добавляю заполнение структуры данных? Грешу на то, что у меня максимальная оптимизация в кейле, но это прям хуй знает что за магия. Памяти в коде вроде занято всего 130кб из 256, так что это не должно влиять. В довесок вопрос, а можно ли включать оптимизацию отдельных кусков кода, а не всего целиком?
Аноним 15/05/19 Срд 09:25:34 367043555
>>367039
У тебя в структуре где-то наползание данных на другие, на переменные твоего шима. Смотри адреса пепеменных и ближайшие массивы, вполне возможно что вылез за пределы чего-то если пользуешься указателями, 90% что твой проеб
Аноним 15/05/19 Срд 11:18:04 367044556
>>367020
> Это если я только эхо имею, не?
Да, я что-то не подумал, что тебе нужно ещё кроме эха отправлять, лол
Аноним 15/05/19 Срд 13:49:50 367069557
>>367025
>Ну и что ты хотел?
Не, я примено это и ожидал, просто тот анон говорил, что никакие ожидание не нужны и хоть в прерывании сразу отвечай (забыв про не эхо оказывается), что меня смутило, вот я и проверил.

>но разве это плохо?
Это даже хорошо и я именно так всё и сделаю, да.
Аноним 17/05/19 Птн 07:15:59 367293558
WP2019051706535[...].jpg 1360Кб, 3264x1840
3264x1840
>>339005 (OP)
Почаны, пришла тут моя стм32ф746, вся красивая такая. Ну я заебенил "Хэлоу Ворлд" и решил залить взад демку. Откомпилировал, залил, а тут такая хуйня. Картинки не картинки, а одни полосы. Это плата наебнутая или что-то с Кейлом?
Аноним 17/05/19 Птн 08:51:57 367297559
>>367293
картинки побились
Аноним 18/05/19 Суб 10:37:45 367415560
>>367297
>картинки побились
Всё оказалось намного хуже. Там бинариник весит 18 мегов и прошивается только с внешним загрузчиком. Я пока еще до конца не отдуплился.
Аноним 18/05/19 Суб 11:09:26 367417561
Bimp
Аноним 18/05/19 Суб 19:41:33 367447562
Аноним 30/05/19 Чтв 19:54:34 368683563
Не знаю, забросили ли уже этот тред, но у меня снова вопросы.

Есть SPI и DMA и флеш память.

Во-первых, нормально ли смешивать и DMA, и обычный блокирующий способы вместе? Например, если нужно отправить 1-2 байта. Например, делать вот так:
>send_instruction(instruction) { SPI->DR = instruction}
>send_address() { SPI->DR=addr[23:16]; wait_for_busy_clear(); [16:8]..., [7:0]... ; }
>send_data() { dma->cndtr = size; dma->maddr=out_buf; enable_dma_tx_ch(); }

При только отправке можно было бы и в буфер запихнуть команду с адресом и разом выслать, а вот при приёме-то как быть? Если запихнуть команду и адрес в буфер, то первые 4 байта приёмного буфера будут мусором.
Может есть ли какой-то красивый способ это обойти? Мне в голову приходит только использование с с n-ого байта (что как-то глупо), либо двойное включение tx dma за одну "транзакцию". (tx, затем tx и rx.).

И вообще, правильно ли я понимаю, что в SPI для работы rx dma нужно делать вот так:
>rx_dma->cndtr = size;
>rx_dma->mar = inbuf;
>tx_dma->cndtr = size;
>tx_dma->mar = outbuf; // musor
>rx_dma_enable();
>tx_dma_enable();
? Ведь без отправки данных ничего получено не будет. Вроде тот же HAL именно это внутри и делает.

Может есть где хорошие гайдланы по работе со всеми этими интерфейсами не в стиле "вот есть spi, там sck, miso mosi, такты биты пишутся,", а затем сразу хуяк и hal_receive() используйте. А как именно это всё в коде организовано на низком уровне нигде не описано, только код библиотек читать если.


И ещё, можно ли писать в в выходной буфер DMA во время передачи данных? Хотел для дисплея сделать dma в circular режиме, который бесконечно высылает данные и обновляет экран как можно быстрее. А когда у меня кадр изменяется, я просто пишу в этот буфер и не волнуюсь ни о какой необходимости запускать передачу данных. Но что-то не работало и чип крешился. Вполне вероятно, что я криворук и проблема совсем в доругом была.
Аноним 02/06/19 Вск 07:35:49 368924564
Буду теперь заебывать всех тут со своими бегущими строкамми.
Задача состоит в том, чтобы найти по для этих штук.
>>368901 (OP)

При подключении к комплюктеру определяется как Prolific USB-to-Serial Comm Port.

На SD карте небыло ничего, на одной вообще нет разъема под карту.

Аноним 02/06/19 Вск 08:06:17 368926565
>>368924
>На SD карте небыло ничего
Ну закинь туда тхт-файл попробуй. Ты с чего решил, что если там стоит стм-камень, то в этом треде все обмазываются бегущими строками? Там с таким же успехом мог стоять камень от NXP, TI, Microchip, etc.
Аноним 02/06/19 Вск 08:20:40 368929566
Аноним 02/06/19 Вск 08:34:59 368930567
>>368926
Ну не знаю. Из отдельного треда меня выгнали и отправили сюда.
Аноним 02/06/19 Вск 08:56:11 368931568
>>368929
А что конкретно из этого должно помочь?
Предполагается методом подбора подтыкнуть софтину?
>>368926
Нет, тхт файл не катит. Должен быть специальный софт, которого овер дохуя, потому что, как я понял, все эти строки собираются кустарным способом и софт может писаться под конкретный модуль конкретным сборщиком. Кстати, как залить тхт файл на устройство без СД слота, при условии, что винда не видит его как диск?

Если бы можно было определить модель и скачать под нее софт, я б не дергал тут всех тупыми вопросами.
Аноним 02/06/19 Вск 09:01:10 368932569
>>368931
>Если бы можно было определить модель и скачать под нее софт, я б не дергал тут всех тупыми вопросами.
Ты дольше тут ебешь мозга, чем поустанавливал бы десяток софтин и попробовал бы поуправлять своим бегущим говном.
Аноним 02/06/19 Вск 09:39:24 368933570
>>368932
Я ебу мозга и попутно как раз этим и занимаюсь. Но пока шо то нихуя не выходит. На самом деле, я надеялся, что местные сталкивались с этими моделями и гомоебли с подбором софта будет намного меньше. Похоже не фартануло, поэтому возвращаемся к плану А - подбор софта наугад.
Аноним 02/06/19 Вск 10:01:50 368935571
>>368933
На третий день этих мероприятий я понял, что легче поменять ебучую управляющую плату.
Аноним 02/06/19 Вск 12:12:34 368948572
>>368935
>легче поменять ебучую управляющую плату
Напиши свою прошивку. Там железо все готовое.
Аноним 02/06/19 Вск 13:43:11 368956573
>>368948
Если б я умел, то однозначно бы занялся. Но чудесный мир программирования для меня пока ни разу не понятен.
Аноним 02/06/19 Вск 15:09:49 368967574
>>368924
>определяется как Prolific USB-to-Serial Comm Port
А в терминале ничего не высирает?
Аноним 02/06/19 Вск 15:17:41 368968575
>>368956
Какие еще надписи на платах есть? Хуле ты сфоткал какие-то уголки.
Аноним 03/06/19 Пнд 12:57:17 369062576
Как, в общих словах, можно вывести 1KHz на gpio ножку? Вот таймер, настроил пределитель - дальше?
Аноним 03/06/19 Пнд 14:20:21 369078577
>>369062
>дальше?
Раньше. Инициализируешь ногу как выход таймера
Аноним 03/06/19 Пнд 14:25:57 369079578
>>369078
строчку кода можно?
Аноним 03/06/19 Пнд 14:44:29 369081579
>>369079
А не, я тебе спиздел. Нихуя не инициализируется.
Аноним 03/06/19 Пнд 14:51:44 369082580
>>369079
А что у тебя не получается? Клок включил на таймер? Таймер инициализировал? Таймер запустил?
Аноним 03/06/19 Пнд 15:02:50 369084581
Аноним 03/06/19 Пнд 18:04:20 369094582
А stm32 умеет в crc-7 для sd-карты через SPI?

В SPI1->TXCRCR лажа какая-то, какой бы полином ни выбирал. При этом их описание работы crc калькулятора из application notes'ов именно это и выдаёт (если я руками реализую их алгоритм). Приходится руками софтварно считать другим способом ( https://www.pololu.com/docs/0J1?section=5.f ).
Аноним 03/06/19 Пнд 23:14:40 369117583
20190531193802.jpg 3245Кб, 4032x2268
4032x2268
20190531191936.jpg 3022Кб, 4032x2268
4032x2268
Аноним 04/06/19 Втр 01:51:41 369126584
Аноним 04/06/19 Втр 08:03:39 369134585
>>339005 (OP)
На сайте ST есть какая-нибудь загогулина, чтобы не выкидывало из авторизации через пять минут? Нахой они такую хуйню сделали? Чай не банк-онлайн.
Аноним 04/06/19 Втр 21:37:59 369198586
>>369126
Огромное спасибо! А как ты прогу опознал?
Аноним 05/06/19 Срд 01:43:43 369211587
>>369134
Они починили авторизацию? Не прошло и ста лет
Аноним 05/06/19 Срд 11:33:24 369229588
>>369211
>Они починили авторизацию?
А когда она ломалась? Меня просто заебало выкидывание из авторизации минут через двадцать. Будто йоба-секретный сайт какой-то.
Аноним 07/06/19 Птн 23:26:42 369439589
>>369126
Слушай, с той софтиной всё заработало, огромное тебе спасибо! Может ты и для такой модели софт знаешь?
https://ledcl.ru/produkciya/beguschaya_stroka_mini.html
Модель называется P5. Я действительно пытался гуглить и подцепить её к такому же софту, как и предыдущую.
Аноним 08/06/19 Суб 19:36:48 369501590
>>369439
>огромное тебе спасибо! Может ты и для...

Не в тему, но как обычно "ой спасибо, а может ты это еще сделаешь, а может потом это?" Естественно за спасибо, возможно даже большое. Я не тот чел, который тратил на тебя время и искал твое говно, но блять, имейте совесть, ты собирался платить кому-то деньги за это, ну кинь на кефир тому анону хотя бы 20% от того что ты собрался заплатить.
Именно из-за такой хуйни перестал кому-либо в чем-либо помогать, хотя иногда даже хочется и все на то имеется, но идите нахуй, вот что я думаю.
Аноним 08/06/19 Суб 19:40:31 369502591
>>369501
Ну так какие ж проблемы!? Я не жадный, куда и сколько кидать?
Аноним 09/06/19 Вск 19:35:15 369600592
image.png 101Кб, 912x611
912x611
image.png 40Кб, 688x598
688x598
image.png 16Кб, 384x817
384x817
image.png 18Кб, 327x639
327x639
>>339005 (OP)
Сап, оч нужна помощь с курсачом. Есть даташит STM32, https://www.st.com/resource/en/datasheet/cd00210843.pdf
Предположим я беру микросхему пикрил 1.
Вопросы:
1) Пик 2 - что из этого обвязка, а что нужно выкинуть? Выдрал это из другой схемы, без понятия что для чего.
2) В какие конкретно пины втыкать Пик3 ? оптопара (1 выход), терморезистор (1 выход), реле (2 выхода).
3) Есть дисплей Пик 4, как его через I2C прихуячить?

Я не особо надеюсь на помощь тк постинг тут крайне не высокий, но вдруг.
Аноним 09/06/19 Вск 20:32:20 369606593
>>369600
>помощь с курсачом
Судя по вопросам тебе скоро нужна будет помощь в наматывании портянок и подметании плаца ломом. Как ты собрался писать курсач абсолютли нихуя не понимая? Из обвязки тебе понадобится только питание, кнопка сброса. Тактирование врубишь от внутренних генераторов. Подключаешь на какой тебе порт нравится. Терморезистор надо на вход ADС. Как дисплей твой по I2C подключить, никто тебе не расскажет по твоей картинке. Давай название и нормальную распиновку.
Аноним 11/06/19 Втр 07:37:44 369707594
>>369606
Походу всё, пошел клиент защищать сапоги.
Аноним 11/06/19 Втр 17:07:05 369741595
Аноним 11/06/19 Втр 17:07:37 369742596
>>369741
Бля. Не туда закопипастилось.
Аноним 12/06/19 Срд 12:31:21 369792597
Аноним 12/06/19 Срд 12:57:24 369793598
>>369792
Реквест отменяется. Всем хорошего дня.
Аноним 12/06/19 Срд 13:02:47 369794599
>>369792
А мне вот непонятно почему именно STM32, разве на STM32 те же кортексы заканчиваются? Это как-то подозрительно.
Аноним 12/06/19 Срд 13:15:37 369795600
>>369794
>почему именно STM32
Цена, комьюнити, дешевизна китайских программаторов...
Аноним 12/06/19 Срд 13:24:56 369797601
Как сконфигурировать usb fs в stm32f103c8t6, чтобы срабатывало прерывание по приходу usb-данных?
Аноним 12/06/19 Срд 13:31:12 369799602
>>369794
Перекатываюсь с АВР. С чего то нужно начинать.
Аноним 12/06/19 Срд 13:39:30 369800603
>>369795
>Цена
Но микрочиповские даже немного дешевле вроде как. Конечно если не рассматривать алипомойку. Но при чем тут вообще цена? Все равно на остальные компоненты потратишь на порядок больше.
>комьюнити
Зачем? Хватает вменяемой документации.
>дешевизна китайских программаторов
Программатор для этих микроконтроллеров - это переходник USB-UART. А отладчики тоже не намного дороже, например клоны J-Link.

>>369799
Я немного про другое. Почему эта книга только по STM32?
Аноним 12/06/19 Срд 14:40:09 369804604
>>369793
Ну выкладывай сюда, пусть тут лежит
Аноним 12/06/19 Срд 15:03:28 369806605
>>369800
>Почему эта книга только по STM32?
У автора спроси, нравится вот ему стм.

Потому что он там объясняет всё на примерах STM'овских библиотек. Да, есть и "общая" часть, и краткие описания всяких протоколов, но это больше прикладная книга, а не теоретическая я всю не прочитал ещё, могу и ошибаться, поэтому и написать её обобщённо для всех кортексов, чтобы хоббиисту васе, которому просто диодом плавно помигать через pwm хочется, было понятно, как это реализовать именно на его мк, вряд ли было бы возможно.
Ну, наверное и можно было, но тогда всё через CMSIS и вилкой делать, всех распугаешь и на ардуину уйдут.
Аноним 12/06/19 Срд 16:41:13 369807606
>>369804
>Ну выкладывай сюда, пусть тут лежит
Я не он, но захуярил на libgen.io
Аноним 12/06/19 Срд 16:56:34 369809607
>>369807
На 193 странице корявая таблица типов прерываний
Аноним 12/06/19 Срд 17:07:24 369810608
Mastering STM32[...].jpg 101Кб, 902x704
902x704
>>369809
У меня чота она вообще не отображается, а изображение сохраняет нормально. Попробую сейчас поправить в Акробате.
Аноним 12/06/19 Срд 17:10:25 369811609
>>369810
Исправилось вроде. Куда бы закинуть спешл фор /ра/?
Аноним 12/06/19 Срд 17:35:27 369813610
chart.png 0Кб, 200x200
200x200
Аноним 12/06/19 Срд 18:53:37 369817611
>>369813
Заебись, спасибо.
Аноним 12/06/19 Срд 19:08:46 369818612
>>369817
Да не за что. Надеюсь Carmine Noviello не обидится, что несколько анонимасов бесплатно почитают его труд.
Аноним 12/06/19 Срд 19:15:26 369820613
Screenshot20190[...].png 178Кб, 1080x2280
1080x2280
А я вот книгу легально купил, не поскупился.
Аноним 12/06/19 Срд 19:39:19 369821614
Что сейчас перспективнее изучать - hal или spl? Или что-то другое?
Аноним 12/06/19 Срд 19:42:23 369822615
>>369820
Аноний, я сам люблю покупать твердые копии, но 30 бачинских в данный момент для меня задохуя.
Аноним 12/06/19 Срд 19:44:46 369823616
>>369821
>или spl?
Её сейчас только в древнейших архивах найдешь. Давно уже HAL&LL
Аноним 12/06/19 Срд 19:53:44 369824617
>>369821
Перспективнее изучать сишечку. После сишечки стоит изучить документацию на микроконтроллер, а только потом библиотеки.
Аноним 12/06/19 Срд 20:06:43 369826618
>>369824
>изучить документацию на микроконтроллер
Толку? Например, на usb ядро в stm32 документация завязана на hal. Чистого описания этого ядра я не нашел.
Аноним 12/06/19 Срд 20:43:31 369827619
юсб.PNG 87Кб, 1337x611
1337x611
>>369826
>Чистого описания этого ядра я не нашел.
Аноним 14/06/19 Птн 12:20:51 369960620
На али есть девборды
на stm32f103 за 1.5$
на stm32f407 за 12$

Есть что-нибудь в промежутке этих цен?
Аноним 14/06/19 Птн 12:38:24 369966621
>>369960
>stm32f103
Забудь этот кал. Бери любой, кроме серии F1.
Аноним 14/06/19 Птн 12:43:19 369968622
>>369960
>На али
Есть что-то на 401 камне, но нахуя?
Аноним 14/06/19 Птн 12:56:54 369969623
>>369966
>Бери любой, кроме серии F1.
Какой же из ультрадешевых?
Аноним 14/06/19 Птн 13:09:35 369970624
>>369969
>Какой же из ультрадешевых?
Шизоид, почитай мнение другого анона >>357418. Если любишь ловить глюки и простреливать себе копыта через AFIO - удачи, бери F1 и не выебывайся потом что глючное дерьмо купил.



Аноним 14/06/19 Птн 13:14:00 369973625
>>369970
>Анон, почитай мнение шизоида
Аноним 14/06/19 Птн 14:28:04 369990626
>>357418
Мм, шизик не освоил атомарные операции, а виновата микросхема.
Аноним 14/06/19 Птн 14:34:19 369991627
>>369973
Я тот анон, что писал >>357418
В чем шизоидность? Я пробовал все эти процессоры, без SPL/HAL/LL/Интернета, руководствуясь только документацией и говорю как есть на мой взгляд. Возможно тот кто пользуется обертками, и не сильно заметит разницу, но конкретно в железе они отличаются не в пользу F1.

>>369969
>Какой же из ультрадешевых?
Что в твоем понимании ультрадешево? Ты возьми любое изделие и посчитай его цену, доля микроконтроллера едва ли 10% наберет от всей стоимости. Скорее нужно спрашивать не "что самое дешевое?", а что наиболее подходящее для твоих задач
Если что-то рутинное, простое, подобное изделиям на ардуино, примочки, управление дисплеями, датчиками и всяким таким - смело покупай F0
Применения для F2 при их цене я не нашел, производитель видимо тоже, их ассортимент ограничен несколькими моделями без какого либо изюма. Хорошее количество ОЗУ, но отсутствие FPU ограничивает его применение для обработки сигналов, где ОЗУ нужно. Разве что для применений с большим экраном, изображениями или перепаковками каких-то тяжелых пакетов, не знаю, правда.
F3 -хорош также как F0, более могучий DMA, аналоговая периферия и особенности типа субнаносекундных таймеров и медленных но 16 битных АЦП, осторожно, мало ОЗУ, хороши когда хочешь повысить точность своих поделок на F0 и применять числа во float. Для обработки сигналов подходят слабо ввиду малого ОЗУ, нет такой приятной вещи как в F0 сигнал DE для RS485.
Ну и F4 - щедрый процессор, хорошо подходит для обработки спектра, фильтрации, и прочих обработок сигналов. Хорош всем, кроме одного, и это не цена, это значительно большее количество регистров и новичок просто охуеет и даже не сможет настроить RCC чтоб включить его (про генераторы кода типа Куба не упоминаю) и скорее всего выкинет на полку.

Если ты не знаешь что тебе нужно - бери F0. Жопа не пригорит, 48МГц считает все довольно резво. На F071 даже на 1024 точечный БПФ ОЗУ хватит. Купи макеток с 030F4P6 по $1 и делай свои махарайки, а там сам поймешь что тебе надо.
Аноним 14/06/19 Птн 15:56:33 370004628
>>369991
> 030F4P6
Там нет usb ядра
Аноним 14/06/19 Птн 16:06:28 370006629
>>369991
> Я пробовал все эти процессоры, без SPL/HAL/LL/Интернета, руководствуясь только документацией
Было бы хорошо услышать конкретику, возможно, даже baremetal-код, на котором глючит f103. Все-таки инженеры, а не в церкви богу молимся.
Аноним 14/06/19 Птн 16:24:13 370008630
1.jpg 12Кб, 216x234
216x234
>>369991
>доля микроконтроллера едва ли 10% наберет от всей стоимости.
Вот на картинке почти универсальное устройство. Только вместо монитора приделать светодиод. Еще можно оставить только одну кнопку, нуль/единицу определять длительностью нажатия.
14/06/19 Птн 16:48:28 370014631
>>370006
Лично у меня на F103zc - стандартный глюк с iic и при включении FSMC - не отключался сигнал NADV или какой-то такой в районе PB9-PB14 - из-за него нельзя было использовать IIC на этом выводе.
Аноним 14/06/19 Птн 16:56:52 370016632
>>370014
в blue pill 103c8t6, там fsmc нет.
Аноним 14/06/19 Птн 23:05:06 370522633
А st-link'и с Али также как и usb-isp'ы сразу два заказывать нужно?
Аноним 15/06/19 Суб 00:28:22 370525634
>>370522
Одного должно хватить.
Аноним 15/06/19 Суб 00:33:00 370526635
>>370525
Обновлять сразу после покупки не надо? А то с аспами китаёзы до сих пор старую прошивку льют последняя версия вышла в 2011, сука, году, а они ещё более холодный труп ебут.
Аноним 15/06/19 Суб 00:38:17 370527636
>>370526
Обновляю регулярно и работает.
Аноним 15/06/19 Суб 08:13:20 370533637
Аноним 15/06/19 Суб 11:13:15 370544638
>>370533
Он почти в 7 раз дороже, а кроме stm'ок я в ближайшее время ничего брать не планирую.
Аноним 15/06/19 Суб 11:51:58 370549639
Screenshot2019-[...].png 785Кб, 1080x2248
1080x2248
>>370544
Бери пару stlink'ов, в один можно вшить blackmagic probe и использовать как swd отладчик для почти любых армов.

Для bmp лучше подойдет стлинк как на пике (у него для swo отдельный вывод и uart tx rx отдельные), подробнее тут https://wiki.cuvoodoo.info/doku.php?id=jtag

С клонами jlink'а та еще лотерея - мой v9 в 17 году после покупки только один раз нормально обновился, потом приходилось разбирать и шить внешним отладчиком, тут стена плача https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=59841&page=52
Аноним 15/06/19 Суб 13:16:03 370560640
>>370549
>вшить blackmagic probe и использовать как swd отладчик
Не советуй глупости.
>С клонами jlink'а та еще лотерея
Ну прошил и готово, подумаешь проблема. У кого-то и так нормально работает. Либо можно взять оригинальный недорогой J-Link EDU.
Аноним 15/06/19 Суб 16:55:33 370596641
>>370560
>Не советуй глупости.
Поясни плз, чому глупости?
Ещё удобно и то, что у bmp на виртуальном com-порту gdb-server и не надо ебаться с openocd
>Ну прошил и готово, подумаешь проблема.
Каждый раз прошивать внешним отладчиком при выходе обновления? У меня от этого уже пара защелок на корпусе отломалась - часто разбирал. А если не прошивать - алерты об устаревшем firmware.
> У кого-то и так нормально работает.
Лотерея же.
> Либо можно взять оригинальный недорогой J-Link EDU.
5-6к руб против 200руб, да ещё и алерты об educational purposes.

Хотя сейчас поставил бутлоадер из "стены плача" и обновился до 6.46g, но виндовый файрвол успел блокировать попытку сходить jlink-config'а в инет - сейчас бы и мой serial id в blacklist попал.
Аноним 15/06/19 Суб 17:25:55 370599642
>>370596
>ебаться с openocd
Вот это труд, вот это работа
Аноним 16/06/19 Вск 20:14:22 370717643
Не понимаю, в чем смысл подключения таймеров к dma-каналам?
Аноним 16/06/19 Вск 20:20:59 370718644
>>370717
Как вариант - видел реализацию синуса или еще чего ШИМом.
Таймер сам выгребает нужные значения по прерываниям, а не заходишь и выходишь из прерывания каждый раз при переполнении или совпадении.
Аноним 16/06/19 Вск 20:37:56 370720645
>>370718
>видел реализацию синуса или еще чего ШИМом.
Можешь вспомнить где?
Аноним 16/06/19 Вск 20:40:35 370721646
>>370718
>Таймер сам выгребает нужные значения по прерываниям
По каким прерырваниям? dma?
>а не заходишь и выходишь из прерывания каждый раз при переполнении или совпадении.
что dma прерывания обрабатываешь, что tim - не вижу разницы.

И как таймер может что-то выгребать?

Кароч, я мало что понял. Хочу код, плз.
Аноним 16/06/19 Вск 20:45:23 370722647
Аноним 16/06/19 Вск 21:13:16 370724648
>>370722
Ахуенный пример - спасибо
Аноним 16/06/19 Вск 21:14:29 370725649
>>369813
На 16 странице еще одна корявая таблица типов прерываний.
Аноним 17/06/19 Пнд 06:51:18 370770650
>>370725
>еще одна
Я там еще десяток битых картинок поисправлял. Заебало. Не буду же я за Кармина всю книгу переверстывать.
Аноним 17/06/19 Пнд 16:14:32 370807651
Аноним 17/06/19 Пнд 16:37:33 370808652
>>370807
Вечером еще до конца досмотрю, может еще попадутся поломанные. Исправлю и выложу.
Аноним 17/06/19 Пнд 22:46:38 370854653
Аноним 18/06/19 Втр 07:14:55 370865654
>>370770
Вот же - а еще деньги за это берет
Аноним 18/06/19 Втр 07:42:49 370867655
>>370865
Мне кажется это просто говнообменники файл покоцали. Я не думаю, что ориджинал книга за 30 денег будет с такими заебами.
Аноним 18/06/19 Втр 08:20:29 370870656
Аноним 18/06/19 Втр 09:04:50 370876657
>>370854
А есть вариант перевести на русский как-нибудь?
Аноним 18/06/19 Втр 12:42:50 370886658
>>370876
>А есть вариант
Есть. Выучить ангельский и сидеть самому переводить.
У меня была мысля, поэтапно изучать книженцию и переводить яндекс-транслейтом. Но потом чота перехотелось.
Аноним 18/06/19 Втр 14:39:24 370904659
image.png 634Кб, 600x400
600x400
Котаны, загляните в мой тредик >>370903 (OP) про модификацию прошивки STM32. Не стал тут писать т.к. тема отдельная.
Аноним 18/06/19 Втр 17:28:34 370913660
Аноним 18/06/19 Втр 17:36:59 370914661
>>370904
>про модификацию прошивки
Исходники есть? То-то! Это не модификация, а написание новой прошивки уже.
Аноним 18/06/19 Втр 17:49:21 370915662
>>370914
Нету исходников и я не собираюсь писать новую. Я хочу дампнуть текущую прошивку, дизассемблировать ее (опыт ковыряния бинарников для ARM есть) и пропатчить где надо.
Аноним 18/06/19 Втр 18:47:37 370919663
>>370915
В продолжение.

Я уже прочитал что на чипе можно установить защиту от чтения путем установки байт опций RDP. Хз установлена она или нет в устройстве которое ко мне едет, но проверять буду.

В общем, я вроде разобрался что мне нужен программатор ST-Link. Один из. Там разные версии и от разных вендоров. Какой посоветуете?

И как подключиться программатором к микрухе чтобы хотябы проверить стоит ли там защита на чтения или нет? К каким пинам и в каком режиме?
Аноним 18/06/19 Втр 18:51:37 370920664
>>370919
>Я уже прочитал
Молодец, вот так бы сразу.
>я вроде разобрался что мне нужен программатор ST-Link
Или можно через bootloader слить прошивку.

Присоединюсь к мнению анона выше, похоже что модератора-мудака.
Есть несколько вариантов:
1) Есть схема. Тогда ты пишешь прошивку самостоятельно. Не знаю что ты там собрался контролировать, но вряд ли это сложное устройство.
2) Схемы нет, но есть бинарник. Ну, тогда можно подредактировать строки и что-то еще по мелочи, не особо вникая в алгоритм работы. Но для этого нужно этот бинарник получить, что при включенной защите от чтения и отладки (которая там есть) будет затруднительно и вообще не целесообразно.
3) Рисуешь схему по печатной плате самостоятельно и далее как в п.1.
В любом случае, занимаешься ты ерундой.
Аноним 18/06/19 Втр 23:04:30 370938665
>>370920
Ты просто не читал что я в треде своем написал >>370903 (OP) (OP)
Там все черным по серому написано нахуя мне это нужно и с чем мне предстоит работать.

И еще раз - мне нужна помощь по выбору именно инструментария. Че там уже дальше с устройствои и прошивкой делать - я сам разберусь.
>ST-Link. Один из. Там разные версии и от разных вендоров. Какой посоветуете?
>И как подключиться программатором к микрухе чтобы хотябы проверить стоит ли там защита на чтения или нет? К каким пинам и в каком режиме?

Если есть ссылки где подобное все достпно описано, можно их кинуть.

Аноним 18/06/19 Втр 23:39:46 370940666
image.png 155Кб, 1200x899
1200x899
Аноним 19/06/19 Срд 03:18:48 370948667
>>370940
Так все, разобрался. Преза говно, даташиты рулят.

В общем там есть RDP, но двухуровневый - без всякой перманентной защиты и отключения JTAG/SWD.

>>370920
>Или можно через bootloader слить прошивку

Нельзя. Во всяком случае я не нашел такой опции во встроенном бутлоадере, а код запущенный из SRAM при включенном RDP флэш тоже читать не может.

Есть вроде кулибины которые умеют разобрать микруху, добравшись до ядра, и как-то там отключить защиту, но процедура стоит 120к деревянных.

В общем, куплю программатор, подрублюсь к контроллеру и посмотрю есть ли защита. Если нет - буду веселиться. Если есть - ну и хуй с ним.

По поводу выбора ST-Link вопрос все еще акутальный.
Аноним 19/06/19 Срд 03:47:26 370949668
>>370948
>Нельзя.
Вот и я о том же. Если защита не стоит, то можно. А если защита стоит, то проще написать все заново. Также может оказаться что проще подключиться к UART для доступа к бутлоадеру, чем к SWD. Поэтому переходник USB-UART может пригодиться.
Плата не многослойная? Так просто перерисуй с платы схему и прошивку сам напиши.

>По поводу выбора ST-Link вопрос все еще акутальный.
Бери любой. Сам можешь убедиться, что в этом треде многие пользуются чем попало с алиэкспресса. Гальваническая изоляция тебе же не нужна?
Аноним 19/06/19 Срд 07:36:18 370955669
>>370949
>Гальваническая изоляция тебе же не нужна?
А зачем она программатору?
Аноним 19/06/19 Срд 08:55:52 370957670
58pic3.jpg 57Кб, 731x407
731x407
>>370955
Не для программатора, а для отладчика. Очевидно что для случаев, когда земли у компа и отлаживаемого устройства разные, с разными потенциалами, и соединять их нельзя.
Например, когда устройство запитывается от сети через блок питания без гальванической изоляции.
Аноним 19/06/19 Срд 09:52:05 370959671
>>370949
Чот я читнул, что 2 уровень защиты rdp если поставили, то уже снять невозможно - никакие стирания не помогут.
Аноним 19/06/19 Срд 10:12:52 370960672
>>370959
Ну и что? Перепаять микроконтроллер дело на десять минут.
Аноним 19/06/19 Срд 11:48:56 370965673
>>370949
>Поэтому переходник USB-UART может пригодиться.
Уже имеется.

>А если защита стоит, то проще написать все заново.
Овчинка выделки не стоит. Устройство не сказать что сложное (повторюсь, это контроллер для водянки с OLED дисплеем), плата двуслойная. Но оно и из коробки в общем то нормально работает, а через патч прошивки я хотел небольшие косяки поправить и немного кастомизировать. Так что если там окажется защита, я просто забью.

>Гальваническая изоляция тебе же не нужна?
А какая цена вопроса? Подобные плюшки лишними не бывают.

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

Кстати, в таком случае, когда комп и отлаживаемое устройство от разных БП запитаны, пусть и в обоих есть гальваническая изоляция, можно объединять земли? Что-то я не задумывался над таким вопросом.
Аноним 19/06/19 Срд 19:52:06 370981674
>>370965
> Кстати, в таком случае, когда комп и отлаживаемое устройство от разных БП запитаны, пусть и в обоих есть гальваническая изоляция, можно объединять земли?
Ну если у тебя интерфейс дифференциальный между компом и железкой, можешь и не объединять, а если обычный - как оно у тебя работать-то без земли будет?
Аноним 19/06/19 Срд 20:50:35 370984675
>>370981
То есть can земля не нужна?
Аноним 19/06/19 Срд 21:08:24 370985676
>>370984
Ни разу не щупал. Нужна?
Аноним 19/06/19 Срд 21:14:11 370987677
>>370984
>>370985
Не скажу что явно тестил, но осторожно скажу что нет, не нужна земля. Одна железка питалась от обычного БП с 2 выводами в розетку и псевдозаземленный комп. Работало только через 1 пару, без земли.
Аноним 20/06/19 Чтв 07:55:18 371010678
>>370981
>если у тебя интерфейс дифференциальный между компом и железкой, можешь и не объединять
Бред. Особенно если USB или LVDS, например. Или взять к примеру простейший дифференциальный усилитель на двух транзисторах.
Бывают разные дифференциальные интерфейсы, некоторым нужна земля, а некоторым нет.
Аноним 20/06/19 Чтв 08:07:31 371011679
>>371010
У usb выбор ls/fs происходит по потенциалу между диф и землей.
Аноним 20/06/19 Чтв 08:59:00 371012680
>>371011
Это верно, но ничто не мешало бы поставить резистор у хоста и не тянуть землю, разумеется если не требуется переключать ls/fs.
Аноним 20/06/19 Чтв 12:53:56 371024681
Без земли может только трансформатор, например, в Ethernet, или оптопара. У всего остального есть лимит на common mode voltage, и если земли с разных сторон имеют разный потенциал, то может не работать, работать плохо, сгореть и проч.
Аноним 20/06/19 Чтв 16:05:41 371032682
>>371024
> сгореть и проч.
Можешь spice-иллюстрацию показать?
Аноним 20/06/19 Чтв 16:31:32 371034683
>>371032
Это ты так хитро выебнулся? Ну можешь взять как пример обыкновенный компаратор.

>>371024
>common mode voltage
По-русски это называется синфазным напряжением. Только для трансформаторов и оптопар тоже будет ограничение, пусть и значительно выше.
Аноним 20/06/19 Чтв 16:34:53 371035684
>>371034
>Это ты так хитро выебнулся?
Нет, хочу увидеть при каких условиях может сгореть и как пойдет ток.
Аноним 20/06/19 Чтв 17:26:18 371036685
>>371035
Наверное тот анон имел в виду такие крайние случаи вроде >>370957
Ну а так то действительно, обыкновенным компараторам для работы требуется определенный диапазон синфазного напряжения, который не всегда будет обеспечиваться, если земли не соединены.
Аноним 21/06/19 Птн 08:47:16 371068686
>>371034
>Только для трансформаторов и оптопар тоже будет ограничение, пусть и значительно выше.
Можешь нарисовать путь тока пробоя межобмоточной изоляции при гальванической развязке трансформатором?
Аноним 21/06/19 Птн 09:35:25 371069687
>>371068
К чему этот вопрос? Ты сам что-ли не можешь? Какие-то SPICE-модели еще захотел... Ты или траллишь или просто идиот.
Вон выше была картинка со схемой блока питания без гальванической развязки. Допустим соединили выход этого блока питания с землей (например через корпус компьютера), что будет в результате? Если соединить не напрямую, а через пробитый трансформатор или оптопару, то что-то существенно изменится?
Аноним 21/06/19 Птн 10:23:49 371071688
>>371069
Что за гуманитарный бла-бла? Не можешь ответить - проходи мимо, шизотроль.
Аноним 21/06/19 Птн 10:57:35 371072689
>>371071
Но гуманитарий и просто идиот тут только ты.
Хорошо, я упрощу. Что будет, если фазу соединиить с землей?
Аноним 21/06/19 Птн 10:58:37 371073690
>>371072
Цепь нарисуй, пиздобол.
Аноним 21/06/19 Птн 11:02:25 371074691
>>371032
О каких spice моделях можно тут говорить, если большинство, включая тебя, тут даже ТОЭ не могут осилить?
Аноним 21/06/19 Птн 11:05:26 371075692
>>371073
Ты вообще о чем? Тебе рассказать чем ноль от фазы отличается? Обойдешься, за этим - в гугл и учебники.
Шизиком и гуманитарием тут только ты себя показываешь.
Аноним 21/06/19 Птн 11:13:20 371076693
>>371075
>ноль-фаза
Я не про твои тупые ужимки-маневры, а про цепь тока конкретного случая с пробоем при гальванической развязке трансформатором.

Может у тебя и батареечные устройства пробивает, довен?
Аноним 21/06/19 Птн 11:14:42 371077694
>>371074
Пиздеть легко, типа "f1 ето говно", а подкреплять пиздежь техническими фактами трудно. Ты не смог.
Аноним 21/06/19 Птн 11:19:14 371078695
>>371076
Какого конкретного случая? Который ты только что выдумал? Ну давай тогда схему рисуй.
Аноним 21/06/19 Птн 11:20:57 371079696
>>371078
Так это ты выдумал, ты и рисуй.
Аноним 21/06/19 Птн 11:23:17 371080697
>>371079
Зачем мне это делать? Твою безграмотность ликвидировать? Тебе уже ничего не поможет.
Что ты вообще пытаешься доказать? Что гальваническая развязка - это глупости и она никогда не нужна?
Аноним 21/06/19 Птн 11:41:06 371081698
>>371080
>Что ты вообще пытаешься доказать?
Что ты пиздобол.
Аноним 21/06/19 Птн 11:41:40 371082699
>>371080
>Что гальваническая развязка - это глупости и она никогда не нужна?
Пошло бинарное мышление, как психическая защита.
Аноним 21/06/19 Птн 11:56:05 371084700
1.png 47Кб, 607x342
607x342
Аноним 21/06/19 Птн 11:58:37 371085701
>>371084
>допустим тут пробило
Блядь, даун, я спрашивал про это? Где в эзернет трансформатор соединен с нейтралью? Хули вы кукарекаете про синфазное, если такая схема пробоя не работает с устройствами на батарейках? Может дело не в синфазном, пиздоболы-дебилы без высшего образования?
Аноним 21/06/19 Птн 12:06:06 371086702
>>371085
Одним концом одна обмотка эзернетовского трансформатора соединена с корпусом компа, пусть не напрямую, а через какой-нибудь маломощный транзистор или еще что-то полупроводниковое. Корпус компа соединен с землей, а земля соединяется с нулем где-то там.
Аноним 21/06/19 Птн 12:11:06 371087703
>>371086
>одна обмотка эзернетовского трансформатора соединена с корпусом компа, пусть не напрямую, а через какой-нибудь маломощный транзистор
Во бред

>Корпус компа соединен с землей, а земля соединяется с нулем где-то там.
C защитным нулем. Вообще, хуй его знает, что ты спизданул своим сленгом электриков из жэка. Понят однозначно невозможно.

>где-то там
Мм, сам точно не знает, а гонору как у первокура.
Аноним 21/06/19 Птн 12:16:29 371088704
>>371086
>Во бред
Бред у тебя в голове. Эзернетовский трансформатор ни с чем не соединяется? Или минус компьютерного блока питания не соединяется с землей?
Аноним 21/06/19 Птн 12:24:11 371089705
>>371088
>землей
Какой землей? сигнальной, защитной, силовой? Научись четко выражать свои мысли, самоучка.
Аноним 21/06/19 Птн 12:29:31 371090706
>>371089
>Какой землей?
Очевидно с той, которая в розетке.
>сигнальной, защитной, силовой?
И что, у этих земель настолько сильно разные потенциалы и сопротивления, чтобы это было существенно в данном случае?
Аноним 21/06/19 Птн 15:08:23 371098707
untitled1.png 26Кб, 800x600
800x600
>>371090
Расскажи про синфазное напряжение, маня.
Аноним 21/06/19 Птн 16:12:47 371101708
>>371098
Ты соединил два выхода? Ну ладно.

https://ru.wikipedia.org/wiki/Синфазный_сигнал
>Синфазный сигнал — составляющая аналогового сигнала, присутствующая с одним знаком, амплитудой и фазой на всех рассматриваемых выводах. В электронике, где сигнал передаётся с использованием напряжения, синфазный сигнал определяется обычно как полусумма напряжений
Напряжений относительно чего, применительно к трансформаторной развязке? Должно быть относительно общего провода приемника или передатчика сигнала. Если уровень сигнала намного меньше синфазного напряжения, то синфазное напряжение будет приблизительно равно напряжению между обмотками трансформатора. Естественно, что при каком-то уровне напряжения трансформатор пробьет и он в результате перестанет выполнять свои функции. Аналогично с оптопарами.

И что дальше? Если между твоими GND1 и GND2 включить источник напряжения на много киловольт, то трансформаторы пробьет. Если не включать, а оставить болтаться в воздухе, то естественно ничего не будет, кто тут с этим спорил?
Аноним 23/06/19 Вск 12:35:21 371239709
>>371098
Помимо того что у тебя на схеме соединяются два выхода, еще и соединяются Vcc диодных мостов. И полярность питания зачем-то отрицательная.
Так значит все-таки нет никаких ограничений по величине синфазного напряжения для гальванической развязки с трансформаторами или оптопарами?
Аноним 23/06/19 Вск 12:37:43 371240710
>>371239
Подзаебал твой гуманитарный треп. В техническом универе ты тоже так бредил?
Аноним 23/06/19 Вск 12:41:32 371241711
>>371240
На википедии определение неправильное?
>В техническом универе ты тоже так бредил?
Я же самоучка, ты что? В такой параше как ты, не имел удовольствия обучаться.
Аноним 23/06/19 Вск 12:53:15 371243712
>>371240
Так или иначе, синфазному напряжению будет равно напряжение между какими-то двумя точками в устройстве. Или ты с этим тоже поспоришь? При каком-то определенном напряжении между двумя проводниками, возникнет пробой. С этим тоже будешь спорить? Соответственно при определенном уровне синфазного напряжения возникнет пробой и для любого устройства будут определенные ограничения по синфазному напряжению.
Тоже мне, дипломированный специалист нашелся. Не удивительно что у нас электроника в такой жопе, если выпускают таких специалистов.
Аноним 23/06/19 Вск 13:14:54 371244713
>>371240
Каков же все-таки пиздец. Отрицать то, что при определенном напряжении между чем бы то ни было, не будет возникать пробой.
Напомню, что придрался ты к высказыванию о том, что ограничения по синфазному напряжению будут и при трансформаторной развязке.
Аноним 23/06/19 Вск 14:57:27 371248714
>>371244
>придрался ты к высказыванию о том, что ограничения по синфазному напряжению будут и при трансформаторной развязке.
Переврал
Аноним 23/06/19 Вск 15:13:45 371249715
>>371244
>ограничения по синфазному напряжению будут и при трансформаторной развязке.
>даже при батаречном питании
>хотя при чем тут синфазное? не знаю, я дебил.
Аноним 23/06/19 Вск 15:26:14 371250716
>>371068
Ну даже не знаю, а это что такое? >>371068 Заметь, там не было утверждений что без общего провода дифференциальные интерфейсы с трансформаторной развязкой вроде эзернета не будут работать.
В ответ на утверждение о том, что для трансформаторной развязки будет ограничение по синфазному напряжению, ты стал придираться, причем весьма невнятно.
Внятных высказываний с твоей стороны не было, вообще трудно было понять к чему конкретно ты придирался. Может у тебя с русским языком плоховато? Или просто читал жопой? Или ты хотел сказать, что любые дифференциальные интерфейсы без гальванической развязки способны работать без земли?
Аноним 23/06/19 Вск 15:29:27 371252717
>>371250
> ты стал придираться, причем весьма невнятно.
Что? Просто попросил показать путь тока, или дать spice-иллюстрацию. По-моему, невнятен ты, абсолютизируя синфазность.
Аноним 23/06/19 Вск 15:29:48 371253718
>>371249
Где я писал про питание от батареек? У тебя глюки пошли.
И да, ограничение будет вне зависимости от источника питания. Потому что где ты в этих >>371243 рассуждениях увидел конкретный источник питания?
Аноним 23/06/19 Вск 15:32:00 371254719
>>371252
Путь тока при пробое трансформатора от повышенного напряжения между обмотками? Заметь, речь не о том откуда взялось синфазное напряжение.
Аноним 23/06/19 Вск 15:39:46 371255720
>>371253
>И да, ограничение будет вне зависимости от источника питания.
Тогда чего ты агришься на батарейки?
Аноним 23/06/19 Вск 16:03:06 371256721
>>371254
>не о том откуда взялось синфазное напряжение.
Если ты нарисуешь путь тока, то в цепи я уж как-нибудь найду источник напряжения.
Аноним 23/06/19 Вск 18:59:11 371264722
>>371255
Ты случайно не жопой тред читаешь? Последовательность событий была такова:
1) Кто-то написал, что дифференциальные интерфейсы будут работать, если не соединять земли.
2) Я уточнил, что не все. Например LVDS так может работать фигово. Кстати, это может относится не только к передаче цифровых сигналов, но и к передаче аналоговых сигналов.
3) Какой-то анон написал про токи, которые будут от этого течь. Я такой ситуации представить не смог, для случая когда между землями приемника и передатчика не стоит источника напряжения, если что.
4) Ты потребовал от него spice-иллюстрацию. Если честно, то я знаю что такое spice-модели, но без понятия что такое spice-иллюстрация.
5) Он в ответ тебе написал что для всяких дифференциальных входов без гальванической изоляции требуется определенный диапазон common mode voltage, который может не обеспечиваться, если не соединять земли.
6) Я, в ответ на это написал, что определенный диапазон синфазного напряжения требуется и для других устройств. Да хоть для проводов на изоляторах. Также я удивился зачем тебе понадобилось spice-моделирование, когда можно было обойтись моделью из нескольких резисторов и источников тока или напряжения.
7) И тут ты начал выебыватся на меня.

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

>батарейки
Потому что это абсолютно ни при чем. Ты бы еще написал что в данном случае будет какая-то разница в зависимости от топлива, на котором работает электростанция.
Аноним 23/06/19 Вск 19:08:03 371267723
>>371264
>Потому что это абсолютно ни при чем.
Ну, конечно. Нарисуй путь тока пробоя трансформаторов при батареечном питании.
Аноним 23/06/19 Вск 19:19:58 371268724
>>371267
Вместо генератора на электростанции ставишь хорошую такую батарейку, что от этого изменится?
Само по себе максимально допустимое синфазное напряжение не зависит от способа питания какого-то абстрактного устройства, потому что это характеристика этого устройства самого по себе. Ты теперь будешь спорить с тем, что максимально допустимое синфазное напряжение будет отсутствовать даже просто для проводов, висящих на изоляторах?

Так что тред ты читаешь жопой, в результате чего несешь бред.
Аноним 23/06/19 Вск 19:30:29 371269725
>>371268
Нарисуй путь тока и сразу поймешь свою ошибку.
Аноним 23/06/19 Вск 19:31:29 371270726
>>371268
>синфазное напряжение будет отсутствовать даже просто для проводов, висящих на изоляторах?
facepalm
Аноним 23/06/19 Вск 19:39:29 371272727
>>371270
Будешь спорить с определением из википедии? Синфазное напряжение может быть определено для любого многополюсника, хоть просто для проводов.
Аноним 23/06/19 Вск 19:40:36 371273728
>>371269
Ну да, ты поленился прочитать определение синфазного напряжения.
Аноним 23/06/19 Вск 19:53:21 371274729
>>371273
>Синфазное напряжение пробивает
лол
Аноним 23/06/19 Вск 19:53:46 371275730
>>371269
А если ты про то что синфазное напряжение может быть определено относительно земли (в горшке с цветком), то при определенном напряжении все равно случится пробой. Между корпусом устройства и этим горшком, например.
Аноним 23/06/19 Вск 19:54:34 371276731
>>371274
Иди википедию прочитай уже.
Аноним 23/06/19 Вск 20:04:33 371277732
>>371275
Или рисуй цепь
Или spice
Или еще какой-нибудь строгий формализм

Твои слова не однозначны технически.
Аноним 23/06/19 Вск 20:05:16 371278733
>>371276
>равный потенциал на выводах многополюсника пробивает
кек
Аноним 23/06/19 Вск 20:21:06 371279734
.png 8Кб, 781x388
781x388
>>371277
>>371278
Где ты там равные напряжения увидел?
Еще раз из википедии:
>синфазный сигнал определяется обычно как полусумма напряжений
Вот я нарисовал картинку. Ты будешь спорить с этим? Допустим Е1 и Е2 равны, чему будет равно синфазное напряжение?
Аноним 23/06/19 Вск 20:22:01 371280735
.png 7Кб, 741x388
741x388
>>371279
Вот так чуть лучше будет.
Аноним 23/06/19 Вск 20:45:23 371282736
>>371279
>обычно
между какими полюсами ты измерил свой Uсинф?
24/06/19 Пнд 06:29:32 371301737
>>371282
Я уже писал, что эти напряжения относительно общего провода или корпуса. Или еще какой угодно точки, находящийся внутри устройства.
И тогда у тебя не нашлось возражений на это утверждение. А сейчас ты просто пытаешься извернуться. Может ты напишешь, что для компаратора синфазное напряжение нужно определять не относительно общего провода компаратора, а относительно чего-то еще?
Аноним 24/06/19 Пнд 11:45:37 371323738
>>371301
Напряжения обозначают Uij, где i, j узлы/полюса.
Аноним 24/06/19 Пнд 12:03:59 371324739
>>371301
>А сейчас ты просто пытаешься извернуться
Нет, я лишь пытаюсь понять, что ты хочешь сказать. Ок, давай страницу из книги с математизированным определением. Статья в википедии уровня пту.
Аноним 25/06/19 Втр 15:07:18 371435740
ололо, анон, ты не учишь матчасть и пытаешься спрятать свое невежество за узлами, полюсами и spice моделями.

для LVDS стандарт TIA/EIA-644 указывает, что синфазное напряжение на входе должно быть в пределах от 0 до 2.4 вольт. для трансформатора Ethernet типичное напряжение пробоя изоляции 1,5 киловольта, для оптопары от 2,5 киловольт и выше. за этими пределами поведение твоего приемника, трансформаторе, оптопары не определено. то есть может быть что угодно - и бывает.

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

к примеру, летит самолет, в хвосте стоит датчик чего-то с передатчиком LVDS, в кабине сидишь ты с приемником. земли приемника и передатчика не соединены, потому что все на батарейках. в самолет попадает молния, и приемник выпускает тонкую струйку дыма. или, к примеру, ты сдвинул модную фетровую шляпу на свой эбонитовый затылок и звдумчиво тронул твою конструкции пальчиком, и приемник тихо отправляется в мир иной. или просто твой передатчик лежит на бабушкином финском холодильнике Розенлев, и каждый раз, когда он включается, LVDS перестает работать. ты не можешь гарантировать, что оно будет работать, и поэтому что-то обязательно случится, может быть, не сразу.
Аноним 25/06/19 Втр 17:42:01 371441741
>>371435
Лучше точно знать, что не знаешь, чем знать на уровне пту, но питать иллюзии, что ты спец.
Аноним 25/06/19 Втр 18:41:51 371448742
...
Аноним 26/06/19 Срд 16:18:44 371509743
Дайте линки на работу нескольких stm32 с синхронизацией между собой.. С исходниками.

Типа кластеров.
Аноним 01/07/19 Пнд 13:01:32 371783744
image.png 10Кб, 617x430
617x430
image.png 9Кб, 585x480
585x480
Пиздец вы тут насрали.

Обьясните на пальцах и конкретном примере, почему во втором случае, как вот с такой херней >>370957 когда в БП нет гальванической развязки с розеткой, объединять земли нельзя и лучше USB через гальваническую развязку подключать? Что может произойти?
Аноним 01/07/19 Пнд 13:31:32 371785745
>>371783
Измерь потенциал между "землями" и получишь ответ.
Аноним 01/07/19 Пнд 19:17:58 371801746
>>371785
Наводящий вопрос, а если оба БП будут без гальванической развязки, то потенциала между их землями не будет и их можно объединять?
Аноним 01/07/19 Пнд 21:27:34 371814747
>>371801
От схемотехники зависит.
Аноним 28/07/19 Вск 21:40:43 373723748
1.png 242Кб, 847x478
847x478
Как запустить на F429 SPI NSS pulse mode? Есть один и тот же код для SPI, взятый с L051, где он работал нормально. На F429 он никак не хочет дёргать CS. Пляски с OTYPER и PUPDR ни на что не влияют. TI mode работает нормально, но он мне не нужен.
Аноним 31/07/19 Срд 20:59:47 373946749
Здарова бандиты!
Короче пришли ко мне из китая аж три голубые таблетки.
Ноги припаяны, CMSIS скачан, st-flash скомпилен, non-eabi-gcc скросскомпилен. Но вот стал я рыться в гайдах и заметил одн интересный совет. Ннада кровь из носа включить SWD https://eax.me/stm32-on-breadboard/
Если чип прошить без поднятого сериала то перепрошить его будет геморно?
Аноним 02/08/19 Птн 11:34:51 374049750
>>339869
>Чет вообще вголос с этого, ведь есть AtmelStudio
Так, стоп, в божественной атмел студии можно программировать под стм32? А то я ставил плагин под вижл студию для этих целей.
Аноним 02/08/19 Птн 15:47:25 374070751
>>374049
Атмел студио нужен для программирования 8ми битных контроллеров AVR от компании Atmel
Можно и их армы 32битные прогать, но мне не понравилось
Аноним 04/08/19 Вск 12:50:49 374301752
tscubeide.jpg 75Кб, 600x245
600x245
Что вы тут какие то велосипеды изобретате? У ST есть офф связочка для проганья. Визуальная настраивалка портов и студия на основе Eclips
Аноним 04/08/19 Вск 20:49:12 374334753
>>374301
Cube хочет жабу на ПеКа и HAL в прошивку. Оно не нужно.
Аноним 05/08/19 Пнд 01:39:53 374364754
>>374334
С чего бы это? Наверняка просто не нужно и всё.
Аноним 05/08/19 Пнд 06:27:58 374387755
>>374364
>С чего бы это?
Потому-што Куб написан на жабе и без ХАЛ-а не генерит код.
Аноним 06/08/19 Втр 20:02:42 374514756
>>374387
Что плохого в жабе и хал?
Аноним 06/08/19 Втр 22:30:23 374519757
>>374301
>>374334
Даже не в этом дело, оно генерит столько говна вокруг себя, что просто охуеть.
Вся стилистика когда личная рушится.

Ради бога, инициализация периферии это довольно малая и единоразовая часть работы.
Нахуя это отдавать программе, говно за которой ты будешь еще дольше вычищать?
Аноним 06/08/19 Втр 22:30:44 374520758
Аноним 07/08/19 Срд 06:33:10 374532759
>>374519
Не вычищай за программой.
Аноним 07/08/19 Срд 07:11:44 374534760
>>374519
>говно за которой ты будешь еще дольше вычищать?
Примеры говна в тред, пожалуйста? Куб довольно аккуратно генерит, ты его может со FrontPage-м времен 00-х спутал?
Аноним 07/08/19 Срд 08:15:32 374536761
image.png 117Кб, 407x266
407x266
image.png 39Кб, 694x593
694x593
>>374532
Хз уебищно. Я люблю писать наглядно и максимально понятно, что бы как книга читалась. Куб срет своими комментами и очень кривым интерфейсом функций.

>>374534
Пик, понятно, что высрать прототип на нем в 100 раз быстрее, но блядь, дрочить строки как на 2ом пике в главном цикле - уебанство дикое.

Я тоже пользуюсь, плюясь, т.к. для GPIO западло свою либу писать, а готовых что-то не находил. Но стараюсь заворачивать глубоко-глубоко и получается чисто, наглядно и аккуратно
Так же согласен с использованием HAL для тяжелой периферии типо USB, так как там низкий уровень чрезвычайно сложен, а пары месяцев на поверхностное вкуривание нет.

Но вот инициализировать АЦП, где надо 3-4 бита вписать вот этими строками, хуй знает, пиздец какой то.
И хер бы с ним, но куб не дает это дело нормально завернуть в человеко-читаемые оболочки, т.к. требует определенную структуру проекта и это ебет мозги.
Аноним 07/08/19 Срд 08:16:45 374537762
>>374536
Ебанул под себя турбострую, засунув свой код в пик 2. Орунл. Умер.
Аноним 08/08/19 Чтв 18:00:41 374653763
Посоны, обесните! Скачал либы к стмке. Ну всё понятно вроде, HAL и прочее выкинул пока. Оставил CMSYS, но там в комплекте ещё были файлы core m3, они в хедерах ни к селу ни к городу, ни одного упоминания. Их куда совать та? Или они там нужны для всяких RTOS? Я не понимат.
Аноним 08/08/19 Чтв 19:16:13 374661764
А ещё тама ассемблерные фалики есть. В папке startup, они то нахуй нужны? Я так посмотрел там всякие кучи да стеки обозначены, с какого адреса должны начинаться. С ними то чта делать. В кубах они конпелируются и цепляются к остальным бинарникам. А если без кубов? Как указывать адреса стеков и кучи если я ковыряю на голом компиляторе без сред.
Аноним 08/08/19 Чтв 19:29:40 374662765
>>374661
>А если без кубов?
Канпилятору его надоть указывать, а не Кубу.
Аноним 08/08/19 Чтв 19:30:15 374663766
>>374661
В этих файлах ещё статические конструкторы сидят которые ещё до maina вызываются
Аноним 08/08/19 Чтв 22:14:45 374675767
Аноним 09/08/19 Птн 19:13:56 374744768
>>374675
>>374663
Ох блядь! Сколько ещё попердолится то надо. Как же всё просто на аврке то было, фьюз биты задал и прошиваешь.
И
Аноним 09/08/19 Птн 19:15:07 374745769
Имеет ли смысл что то менять в выхлопе от Куба?
Поо
Аноним 09/08/19 Птн 19:16:23 374746770
Блядская клавиатура. Пост дописать не могу.
Т
Аноним 09/08/19 Птн 19:25:10 374747771
Как я понял, суть такова -
компилим strart.s, и собираем по скрипту линковщика вместе со всеми остальными объектными файлами.
Посоны, а шо такое Handler? Я как то не понел.
А асм файле указатели на прерывалния? И чо, мне штобы делать прерывания изменению уровня по ноге надо будет в асм лезть что ли?
Ткните носом где это расписано, на русском языке. Курить целиком Reference Manual я пока не готов, слишком дохуя всего и сразу.Листаю Варрен Гея, но он тоже на буржуйском. А вкуривать новые абстракции на чужом языке сложно.
Аноним 09/08/19 Птн 19:35:41 374749772
15477957289760.png 72Кб, 306x306
306x306
>>374747
>на русском языке
Нет пути.
Аноним 09/08/19 Птн 19:46:53 374751773
>>374747
> И чо, мне штобы делать прерывания изменению уровня по ноге надо будет в асм лезть что ли?
Ты бредишь?
Аноним 09/08/19 Птн 19:52:49 374752774
>>374747
Возьми baremetal примеры и изучай.
Аноним 09/08/19 Птн 21:48:44 374757775
>>374744
Не делай через куб блядь! По первому. Там реально все в 100 раз проще, ИМХО даже удобнее чем с АВР с ее фузами.

Подрочи байты первые пару проектов, потом сам поймешь когда и для чего нужен куб.
Аноним 09/08/19 Птн 22:22:37 374760776
>>374757 так я и пытаюсь на голом GCC усё сделать. Просто я полностью самоучка и у меня охуительные пробелы в знаниях. Про скрипты линковщика вобще впервые узнал.
Чего я понял за пару часов беганья в инетрнетах. В .ld скрипте мы указываем компилятору сколько у нас памяти откуда растёт стэк и например что он не должен быть больше чем чего то там. Вся эта информация на прошивку не влияет, а только позволяет бить линейкой по рукам при компиляции и орать что памяти не хватит.
Ассемблерский файл start.s это что то вроде таблицы с адресами прерываний. В кубовском ещё в нём же реализован resetHandler, который просто обнуляет SRAM. Нахошёл проектик на гитхабе, где заместо асма был сишный файл с описанией всей этой хуйни.
Я всё правильно понел?
Аноним 09/08/19 Птн 22:53:46 374763777
>>374661
> А ещё тама ассемблерные фалики есть. В папке startup, они то нахуй нужны?
Затем и нужны: таблица векторов прерываний, плюс чистка памяти (и копирование значений переменных из ПЗУ в ОЗУ) перед запуском main(). Именно ассемблер там, кстати, необязателен (остался в качестве реликта времён ARM7 и ARM9), можно на чистом C всё сделать: https://www.eevblog.com/forum/microcontrollers/cortex-m-startup-files-without-assembler/

> А если без кубов?
https://github.com/STM32-base/STM32-base/
Аноним 09/08/19 Птн 23:05:49 374767778
Снова избитый вопрос, посоветуйте плату, подходящую для вокального процессора, хочу поиграть со звуком. я почейтал, советуют с dsp, пока смотрю на stm32f4 discovery
Буду благодарен за актуальные ссылочки с али.

это пример чего я ожидаю, только без ебанутых жестов
https://www.youtube.com/watch?v=ZfMOEaH0Sko
жидхаб этого чувака гласит шо он делал stm32f4 discovery
https://github.com/Blast545/Effects_Manager/blob/master/Voice%20effects%20manager%20-%20HW.pdf

а это пример к чему стремиться
https://www.youtube.com/watch?v=H6TWbdenxO0
Аноним 14/08/19 Срд 01:14:30 375183779
300-00.jpg 148Кб, 1200x900
1200x900
Ух ебать! Эта хуйня замигала!!!! бинарник размеров в 777 байтов.
Итого использовано: либа ST, выдрал оттуда буквально только то что относится к CMSIS, стартовый асм файл. Из кубатуры спиздил ld скрипт и ключи компиляции.

Но вот мне решительно непонятно, а откуда я должен в идеале знать и применять эти стопитсот ебенячьих ключей конпеляции GCC. Как же херово без норм образования...
А ещё эти ебаные расширения GCC которые не входят в стандарт, всякие __atribute__ _IO Как вобще копать в эту сторону? И насколько необходимо это знать.
Установочная цель устроится байтоёбом за жрат. Что бы хоть как то вкотиться в ойти ололо.
Аноним 14/08/19 Срд 02:08:55 375184780
>>375183
>Как же херово без норм образования...
Лол, чет мне вспомнился директор одной из ИТ контор, дядька за 55, который пытался набирать с образованием людей, в итоге у него проект полугодовой, пилили года 3.
Мне очень интересно, где тебя поучат внутрянке GCC или еще каких компиляторов.

>Но вот мне решительно непонятно, а откуда я должен в идеале знать и применять эти стопитсот ебенячьих ключей конпеляции GCC.
Берешь и пользуешься человеческими инструментами и не знаешь.

>Установочная цель устроится байтоёбом за жрат
Ты пиздец не в том направлении уебал. Тебе надо в высоту идти, а ты вниз идешь. Кроме пачки дебилов с линукс.орг какого, всем похуй на ручную компиляцию и это точно, не то, что потребуют с рекрута. Тебе надо устройство, работающие создавать и быстро. Всем похуй КАК, пока оно отвечает ТЗ и вписывается в требования по бюджету.


Тебе надо брать сейчас FreeRTOS, Modbus, Ethernet, wi-fi , CAN, bluetooth, TFT дисплей, тач, RFID, пяток промышленно популярных серий МК, желательно на разных ядрах.
Вот все это задействовать и научится пользоваться. Потом взять книг и АЦП\ЦАП, запиздячить чего прецизионное и хуй знает, в принципе можешь идти искать работу, даже с половиной этого списка оторвут с руками.

А вот твой дроч компиляторов никому не нужен, этим владеют конечно крутые ребята, но не по причинам первой необходимости.
Аноним 14/08/19 Срд 07:34:24 375198781
>>374767
Всё так. От себя добавлю modbus не нужен, лучше изучить протокол Owen, как наиболее распространенный в РФ. Ну и обратить внимание на оборудование этой фирмы.
Аноним 14/08/19 Срд 08:44:12 375201782
>>375198
>modbus не нужен, лучше изучить протокол Owen
Который есть практически тот же модбас.
Аноним 14/08/19 Срд 11:57:32 375210783
>>375183
Чегото геморно всё это я посмотрю по сравнению с "обычными" АВРками. Чем больше читаю,тем больше охуеваю. Лежат несколько СТМок. Правда мне тут порикомендовали IAR . Как народ оценивает данный продукт ?
Аноним 14/08/19 Срд 14:34:00 375231784
>>375210
Всмысле? Это некоторое время назад, по мненеию некого круга независимых экспертов, лучший компилятор для микроконтроллеров.

Как IDE - ну она говно, как и все остальные, Keil чуточку потехнологичнее.

Вообще, если ты такой разпиздатый ебатель компиляторов - бери Embedded GDB и MVS и захуяривай там. Вот это действительно хороший вариант.
Потом, еще можешь туда компилятор IARовский прикрутить.

А если еще гайд напишешь, так вообще охуенно будет.
14/08/19 Срд 18:33:23 375255785
>>375184 Какой то ты неправильный. Надо было крикнуть RTFM, а не бубнить про крутых ребят.
В результате метаний меня посетила светлая мысль что reference manual бывает не только у МК. Скачал таковой для GCC, и о чудо, там есть описание всей той хуйни что меня интересовала.
Если кому интересно, в кубах есть три интересных ключа компиляции: -ffunction-sections, -fdata-sections, -fstac-usage
Суть в краце, каждый объект\функция комплилируется в отдельный загон, чтобы оптимизующий линкер смог безболезненно их ёбнуть, если выяснится что в рантайме они не будут использованы.
Аноним 14/08/19 Срд 19:54:25 375263786
>>375255
> Надо было крикнуть RTFM
Это очевидно.

>есть три интересных ключа компиляции
>Суть в краце, каждый объект\функция комплилируется в отдельный загон, чтобы оптимизующий линкер смог безболезненно их ёбнуть, если выяснится что в рантайме они не будут использованы.

Всю жизнь так живем. Что у тебя за мания дрочится в кишках инструмента? Что мешает настраивать опции компилятора через гуй?
Аноним 15/08/19 Чтв 16:43:15 375383787
Аноним 15/08/19 Чтв 21:00:21 375407788
Тред не читал.

>>339689
> STM32CubeMX + Keil + STMStudio
Под линь вменяемая связочка есть, или опять в дуалбут вкатываться?
Аноним 15/08/19 Чтв 23:44:27 375417789
>>375407
Куб+CLion например. В 2019.2 завезли memory view и register view (нужно только svd от своего камня подсунуть).
Аноним 17/08/19 Суб 05:18:35 375536790
Да сукаёбтвоюмать! Какого хуя это говно мне дефолтный хендлер за место норм прерывания пихает в готовый файл?
Аноним 17/08/19 Суб 19:07:35 375617791
>>374760
> Вся эта информация на прошивку не влияет
Неправильно.

В ld-скрипте можно разбивать память на секции под различные задачи, которые будет выполнять программа, например, часть под стек ОС, часть под буферы памяти какого-нибудь быстрого интерфейса или графики, часть под хранение переменных данных в eeprom. В частности, на некоторых контроллерах DMA имеет доступ только к некоторым областям памяти, и приходится для работы с ним объявлять функции и буферы в этих областях. Можно конечно прибить их гвоздями к конкретному адресу типа 0x20001000, но это некошерно, лучше объявлять секции в ld и потом указывать в атрибутах мнемоническое обозначение секции, а уж линковщик пусть сам размещает. Аналогичным образом приходится действовать, если у тебя применяется внешняя память.
Аноним 18/08/19 Вск 11:25:18 375667792
Сап, радач
Заказал на али BluePill, платки на чипе stm32f103.
Описание и отзывы читал жопой, приехали платки с контроллером cks32f103. Чтобы прошить st-linkом приходится нажимать ресет кнопку, отладчик в keil не запускается, говорить cant reset core или internal command error. Но прошивки заливаются и исправно моргают светодиодами. Пробовал различные комбинации reseta, connect under reset и прочее, все без толку. Кто-нибудь сталкивался? Есть вариант их подружить с отладкой?
Аноним 18/08/19 Вск 12:30:01 375670793
>>375667
Вывод ресета подключал к STLINK или только SWDIO+SWCLK c текстом и так сойдет? Без него "различные комбинации" не имеют никакого смысла.
Что за говнокод льешь? Может быть он отключает режим отладки по JTAG/SW. В кубе надо явно разрешать отладку, иначе соснешь хуйцов при попытке отладиться.
Аноним 18/08/19 Вск 15:23:15 375685794
>>375667
Выкинь, это говно
Аноним 18/08/19 Вск 18:58:14 375697795
>>375617 чего курить то? Танненбаума почитвыаю но там такой жосткой конкретики нет. Листаю рефман на LD и GCC.
Аноним 18/08/19 Вск 20:57:31 375710796
>>375697
Рефман это правильно, мне вот терпения не хватает его изучать. А так гугл в помощь, по крайней мере самые ходовые вещи вроде примеров работы с линкером обычно хорошо описаны на всяких буржуйских сайтах типа stack-overflow или mcuoneclipse. Встречаются информативные примеры также на форумах производителей микроконтроллеров. Ну и проекты для демоплат изучать, само собой. По большей части там говнокод из разряда "лишь бы заработало", но встречаются и полезные вещи.
Аноним 19/08/19 Пнд 23:56:18 375783797
В каких магазах берёте stm-ки? Кроме алиэкспресса
Аноним 20/08/19 Втр 00:17:13 375784798
>>375783 тот же самый ЧИПиДИП, Но голубой пилюли там нет, есть дискавери по цене игры на мыловарне3.
Алсо, в моей мухосрани Ижевск ещё есть два магазина Радио, которые чуть ли не со времён совка существуют, ну с 90х точно и ещё какой то магазинчик в одном ТЦ, не помню названия.
Аноним 20/08/19 Втр 11:16:31 375812799
>>375784
>совка
Откуда ты взял это слово и зачем ты его используешь, задумайся. Сейчас совок с говном. И эту говнину заливают в головы.
Аноним 20/08/19 Втр 14:24:40 375822800
NUCLEO-F401RE
Аноним 20/08/19 Втр 14:40:28 375824801
images.jpe 13Кб, 330x153
330x153
Посоны, я тут копнул чуть глубже и пришёл к выводу, что для мелких задач охуенно подходят регистровые команды. Но если надо пилить что то действительно суръёзное то без RTOS ну нахуй никак. А этих ртосов дохуя и больше.
Как красноглазый адепт пожирателя мозолей я конечно первым делом наткнулся FreeRTOS. Но есть же ещё всякие амазоны
Чем отличаются, напичканы ли дрова говном как HAL и тысяча вопросов, которых я пока не знаю, о которых честно говоря надо бы отдельный трэд делать.
Аноним 20/08/19 Втр 14:53:15 375825802
>>375824
Насколько я понимаю, микроконтроллерные RTOS отвечают только за ядро и задачи. Всю периферию ты реализуешь сам, как тебе надо и любыми драйверами.

Аноним 20/08/19 Втр 15:39:44 375829803
Warren Gay - Beginning STM32. Developing with FreeRTOS, libopencm3 and GCC (2018, Apress)
Понравилась книжка
Аноним 20/08/19 Втр 16:12:49 375833804
>>375824
Так Амазон вроде как купил права на freertos или типо того. Так что по сути они не должны отличаться, разве что функционал допиливают
Аноним 20/08/19 Втр 19:53:56 375843805
>>375833
>купил права на freertos
Там же вроде как лицензия MIT. Т.е. берёшь и делаешь с исходникакми абсолютно что хочешь.
Аноним 20/08/19 Втр 22:38:31 375848806
>>375843
Ну может ты прав, не секу в этом вопросе. Есть у меня смутные воспоминания, что раньше какая-то муть была с подробной документацией на freertos, то ли за нее платить надо было, то ли ещё что-то. А сейчас вроде вообще все доступно
русек Аноним 21/08/19 Срд 01:16:24 375852807
datasheet-89.png 10Кб, 350x350
350x350
Аноним 21/08/19 Срд 22:25:22 375941808
>>375848
Amazon сделала свой форк freertos (я так и не понял нахуя). Сама базовая FreeRTOS абсолютно свободна, есть доступная документация на офсайте, там же есть pdf-книжка.
Аноним 22/08/19 Чтв 00:22:54 375945809
>>375941
> (я так и не понял нахуя)
Амазон начал люто двигать вперёд интернет вещей, и чтобы сократить расходы на НИОКР тупо дали бабла разрабам фриртос на интеграцию своих библиотек безопасности и прочей хуйни связаной с интернет подключением.
Аноним 22/08/19 Чтв 19:17:55 376017810
>>375667
Во первых как тебе уже тут сказали надо обязательно включать в cube mx режим swd отладка, а во вторых надо включать режим software reset mode в настройках swd самого keil. В этой плате (blue pill) аппаратный резет банально не подключен и работает только программный
Аноним 22/08/19 Чтв 20:28:10 376026811
>>375670
>>376017
Всем спасибо, действительно в кубе не заметил, что отладка по SWD выключена
Аноним 22/08/19 Чтв 23:13:30 376032812
>>339005 (OP)
Народ, че там нынче в моде за недорого из отладочных плат?
Аноним 22/08/19 Чтв 23:25:43 376034813
>>339005 (OP)
Поднимаю вопрос. Некоторое время назад, вооружившись всеми гайдами СРУнета (по той причине, что из-за сраной политики ютуба, все завалили однотипным говно без смысла и полезной инфы и за рубежом 1в1 как у нас инфа).
И всетаки осилил CustomHID + Ответный софт на ПК.
Более менее разобрался с написанием дескриптора и точках выхода инфы из драйвера.
На ПК - аналогично, научился считывать\отправлять инфу в драйвер.

Вот только все эти знания без понимания внутрянки драйвера - не особо нужны, т.к. кроме как повторить пример с некоторым кол-вом отсебятины оно не позволяет.

Че делать? Самое ебанутое, что в референс мануале стм, о усб пара страниц.
Кто осилил USB в комплексе? Подскажете куда посмотреть?
Аноним 23/08/19 Птн 11:40:11 376083814
>>376034
пошукай в сети исходники для pic16 или stm8
Аноним 23/08/19 Птн 13:12:49 376091815
Аноним 23/08/19 Птн 14:01:15 376099816
Аноним 23/08/19 Птн 21:35:02 376169817
Аноним 23/08/19 Птн 22:25:49 376174818
>>376169
Ну и нехуй туда ходить по хорошему, там куча нефильтрованной инфы.
Должно быть где-то более упрощенное\укороченное.
Аноним 23/08/19 Птн 22:57:09 376176819
>>376174
Тогда копай сорцы V-USB под AVR, там софтварная реализация USB 1.1 под Си, возможно немного ассемблера.
Аноним 23/08/19 Птн 22:57:29 376177820
Аноним 23/08/19 Птн 23:02:32 376179821
>>376034
Пацаны на реддите рекомендуют книгу "usb complete".
Я глянул - там уже несколько переизданий у нее.
Аноним 24/08/19 Суб 09:38:11 376194822
>>376179
Не могу в инглишь
Аноним 24/08/19 Суб 09:47:58 376195823
Аноним 24/08/19 Суб 13:04:38 376210824
A14.jpg 363Кб, 1800x1013
1800x1013
>>376195
Зачем предлагаешь сразу easy-way?
Можно начать с пикрила - MOS6502 на рассыпухе https://monster6502.com/. А то сразу - на тебе готовые логические элементы. Пусть сам собирает из транзисторов.
Аноним 24/08/19 Суб 13:56:53 376214825
>>376210
Когда-то я хотел спаять это, но оттолкнул сингл-борд дизайн. Лучше и красивее был бы вариант более компактной мат. платы, со слотами под отдельные функциональные модули.
Аноним 25/08/19 Вск 21:10:58 376308826
Аноним 26/08/19 Пнд 02:52:14 376330827
>>376308
А есть такие только с дополнительной sram?
Тоже хочу вкатиться.
Аноним 26/08/19 Пнд 05:16:09 376331828
Аноним 26/08/19 Пнд 05:59:49 376334829
>>376330
Тебе лучше малину брать сразу.
Эти процы гораздо ближе к SoC, нежели к МК.
Один хуй на них без RTOS нехуй делать.
Аноним 26/08/19 Пнд 06:06:53 376335830
images.png 8Кб, 281x180
281x180
>>376334
>>376331
>>376330
>>376308
Зафига вам для миганий диодом и автоматизации унитаза брать такие процы? В чем прикол, купить ардуино, залить готовый скетч и подключить к унитазу, не легче ли купить готовый унитаз, дешевле выйдет.
Аноним 26/08/19 Пнд 07:02:00 376336831
>>376334
>>376335
Отчасти соглашусь. Одна из причин, почему иногда рядом с процессорами ставят мелкие микроконтроллеры - это жесткий realtime. Редко, но бывают случаи где крайне важны задержки.
На больших процессорах - хуй посчитаешь задержки и джиттер, на contex - уже чуть проще, даже используя RTOS, на avr/pic - уже по тактам можно посчитать гарантированное время.
Из побочных эффектов - энергопотребление. Поставь свою малину на счетчики воды в сортире. Сколько она на батарейке проживет? Сколько проживет какой-то STM32 в режиме глубокого сна? На ESP или MSP430?
Сколько секунд стартует малинка? Ебать колотить, ты программируешь bare metal? Почему раньше не сказал? Сколько стартует код на STM32 или подобных МК без ОС?
Аноним 26/08/19 Пнд 07:34:24 376337832
>>376336
>Сколько секунд стартует малинка? Ебать колотить, ты программируешь bare metal? Почему раньше не сказал? Сколько стартует код на STM32 или подобных МК без ОС?
Ты перефантазировал и приписал мне много качеств. Я в душе не ебу, я обычный байтоеб.

На самом деле я просто имел ввиду, что создание всяких говноподелий это сорт селфчеленджа.
А взять 240МГц проц, залить туда ОС и запустить готовый экзешник - так себе челендж.
В добавок он будет абсолютно не эргономичным и дорогущим.
Вот да, несколько миллиардов транзисторов сливают за тобой говно.

>Одна из причин, почему иногда рядом с процессорами ставят мелкие микроконтроллеры - это жесткий realtime.
На самом деле нет или не совсем. Новомодные контроллеры имеют сорт спинного мозга (DMA + Сигнальную систему, позволяющую триггерить одну периферию другой, без вмешательства ядра).
А RTOS, работающие на десятках МГц, вполне себе позволяют гарантировано реагировать на события, гораздо быстрее 8биток, просто из-за огромнейшей частоты.
Ясен хуй, такие монстры в этих ситуациях не спят, но вот в хальте вполне себе могут стоять.

Все это относится к устройствам с постоянным питанием. С батарейными конечно так не получится, но F4 и мобильные устройства - очень специфичное сочетание, если тебе так нужно потребление, хули ты EFM8 не возьмешь какой?
Аноним 26/08/19 Пнд 09:12:34 376339833
>>376337
Джва чая. Поэтому я, осваивая STM32 и ARM, не забуду Attiny13 и Atmega328.
Аноним 26/08/19 Пнд 11:42:00 376347834
>>376339
С чего начать осваивать Малинку? Накатил линукс, написал на питоне программку мигания светодиодом. Что далее?
Аноним 26/08/19 Пнд 16:03:08 376371835
>>376347
Вот нахуя ты занимаешь электроникой? Что ты мечтал сделать, когда вкатывался?
Аноним 26/08/19 Пнд 19:12:52 376395836
>>376335
>В чем прикол,
Ну лично мне улыбнуло аппаратное деление и фпу, на первых порах. А насчет дешевле, так под себя ходить еще дешевле.
Аноним 27/08/19 Втр 09:22:09 376437837
>>376347
От мигания светодиодом до задания цвета точки на TFT экране через SPI всего неделя. Берешь экран и пишешь код, можно взять готовый код и под свои нужды подстроить. Можно взять готовый рабочий код (если найдёшь, лол) и сразу рисовать красивости. Можно взять потом датчики, пачку датчиков, массу проводов и датчиков и сделать очередную нужную только тебе погодную станцию со свистелками и перделками. А можно сделать смыватель унитаза с веб камерой, чтобы знать кто не смыл. Если подключить ещё микрофон и динамик через усилитель, то можно и поругать его за то, что не смыл.
Главное - идея, а не тип процессора/микроконтроллера/системы_на_чипе.
Аноним 27/08/19 Втр 09:41:28 376439838
>>376437
Это всё есть на пистоне и схх с библиотеками. Мне хотелось бы bare metal иминимальную ОСь запилить, например.
Аноним 27/08/19 Втр 09:46:03 376440839
>>376439
Пили. FreeRTOS на то и FREE.
Аноним 27/08/19 Втр 12:29:43 376468840
>>376439
Если тебе хочется пилить ось, ты берешь и пилишь ось. Ну светодиодом поморгаешь разве.

Все. Тебе не нужны крутые процы или еще что то, самый обоссаный контроллер пойдет.

>>376437
>От мигания светодиодом до задания цвета точки на TFT
Увы нет. По гайду можно сделать и за вечер. Многих в ступор не алгоритмы и сам процесс вводит.
А среды и инструменты. И все затыки самые жесткие именно там.
Аноним 28/08/19 Срд 14:21:43 376590841
Аноним 28/08/19 Срд 15:11:41 376596842
Посоветуйте как организовать меню, с возможностью изменения параметров через дисплей с помощью кнопок. Основная проблема что я не понимаю как делать, если на одной строке есть несколько переменых которые можно начать изменять
Аноним 29/08/19 Чтв 14:41:49 376720843
>>376596
Через табуляции ентер плюс минус. Сам использую две кнопки для меню на прерываниях.
Аноним 29/08/19 Чтв 16:33:47 376743844
>>376596
Не понял вопроса. Более подробно опиши.
Аноним 29/08/19 Чтв 16:54:36 376745845
Где бесконечность? Покажи мне бесконечность? Ты сказал. Доказал? Кнопки меню четыре три параметра в строке менять. stm32 покажи мне
Аноним 29/08/19 Чтв 22:34:10 376793846
>>376745
Просто берешь, без задней мысли, подходишь и меняешь. Строка это массив же.
Аноним 30/08/19 Птн 04:50:19 376805847
>>376793
Строка массив, а если скажу тебе, что три участка в строке надо менять и как выбрать , например, второй участок и изменить его? При этом первый и третий участок должны быть неизменными. Как?
Аноним 30/08/19 Птн 05:59:49 376806848
896beade2bfe886[...].jpg 15Кб, 329x254
329x254
Аноним 30/08/19 Птн 12:23:51 376820849
>>376596
Дай больше инфы, сколько у тебя кнопок в наличие и на каком камне ведёшь разработку.
30/08/19 Птн 15:23:01 376827850
>>376596
Что за дисплей, няша? Символьный?
Я недавно такую штуку писал на работе. Правда исходником вряд ли смогу поделиться.

In general, не важно, что за камень и какой тип экрана, последовательность работы мне видится такая:

Где-то создаёшь строку, по таймеру (либо по изменению значения) её обновляешь.
например, это будет выглядеть примерно так с таймером

void display_string(char string_for_display[17]);

uint8_t pipa = 0;
uint8_t popa = 1;
char str_buf[17] ="lolkastring";

void SysTick_Handler()
{
sprintf(str_buf, "pipa=2%d popa=3%d", pipa, popa);
display_string(str_buf);
}


Дальше, в меню (в той части, которая работает с кнопками), изменяешь те значения, которые тебе надо изменить.

typedef enum{
ITEM_PIPA = 0,
ITEM_POPA = 1,
NUM_OF_MENU_ITEMS;
}MENU_ITEM;

MENU_ITEM current_menu_item;
uint8_t p_item = 0;

void menu (void){
while (1)
{
switch(button_pressed)
{
case влево:
p_item = p_item - 1;
break;
case вправо:
p_item = *p_item + 1;
break;
case кнопка_перехода:
increaseCurrentMenuItem;
break;
default:
break;
}
}
}

void increaseCurrentMenuItem(void)
{
current_menu_item++;
if (current_menu_item >= NUM_OF_MENU_ITEMS)
{ current_menu_item = 0; }
}



Тут конечно дохуя чего нет, например, считывания кнопок, или самой процедуры вывода на экран, или "подсветки" изменяемого элемента. Да и писать/форматировать в окошке двача не оч удобно. Но касательно меню ты меня понял в общих чертах, я думаю.
Это, если что, для 2х - 3х кнопочного устройства.
Аноним 30/08/19 Птн 17:24:41 376843851
>>376827
Всегда делал меню:
Список с контентом меню
Номера списка закинуты в массив, повторяющий структуру меню.
Переменная с текущим отображаемым номером списка. В которую функцией навигации помещается номер позиции списка и откуда он считывается функцией дисплея.


Аноним 30/08/19 Птн 17:55:53 376847852
>>376843
Ну в принципе у меня так же запилено. Только в моей рабочей реализации, котнент меню был в массиве, и сразу оттуда вызывались по текущему номеру.
Просто он спросил как менять разные параметры в одной строке если я правильно понял, вот я и родил это нечто.
Аноним 30/08/19 Птн 18:04:50 376849853
>>376847
>котнент меню был в массиве
Жирновато же, да и на пюр-си получается переусложненно.
+ больше операций, если отображается динамический контент (приходится паковать в массив, потом его оттуда брать).
+ не получится "легкого" оверфлоу пунктов меню (если хранить номера, а не контент, можно зарезервировать на пустой\ошибочный\переводящий и пр).
Аноним 30/08/19 Птн 20:10:44 376862854
>>376849
>не получится "легкого" оверфлоу пунктов меню
Вообще я чот подумал посидел, вспомнил что там было я просто не могу сейчас код этот прочитать, он на бывшей работе - у меня скорее действительно то, что ты описал: есть массив с указателями на элементы, а элементы это структурки содержащие контент, указатель на функцию привязанную к элементу и всякие сайдовые параметры

>Жирновато же, да и на пюр-си получается переусложненно.
Ну хз, возможно, у меня так было сделать вполне целесообразно.
Готовых вариантов я не нашёл нихуя почему-то, а то что получилось выглядело вполне лаконично.
У меня просто в самом меню хуева гора подменю и привязанных действий, и экран может одновременно отображать только один пункт меню.
Двухстрочный, 1602, я не придумал чем было бы полезно отображать за раз больше одного пункта меню, и в итоге просто заполняю весь экран согласно текущему пункту. Получилось ок.
Получившийся в итоге код содержит один универсальный обработчик для всех меню/подменю, с возможностью настройки/выбора действий по кнопкам в текущем уровне меню.

Короче не сказал бы, что сильно переусложнено, на плюсах вышло бы не проще (и работало бы не быстрее, хотя это, по большому счету, похуй).

>больше операций, если отображается динамический контент
Не совсем понял о чем ты, у меня "динамический" контент был, и в примере он тоже "динамический" - просто триггеришь по изменению значения (или по таймеру) изменение строки и всё, а по изменению строки триггеришь вывод оной на экран.
Аноним 30/08/19 Птн 21:24:19 376866855

>>376793
если представить строку как массив, то надо в этой строке найти число и представить его еще как число а не как строку. Еще и иметь в виду, что число там может быть не единственное.
>>376827
дисплей графический 128 на 64
>>376820
Камень stm32F407

У меня есть в наличии клавиатура с кнопками вверх/вниз/влево/вправо и кнопки enter и esc. Сами кнопки как мне кажется роли не играют, пусть даже у меня будет энкодер вместо кнопок.
У меня нет особых проблем если мне надо реализовать в меню чисто визуальную информацию или если в одной строке у меня находится только одно число, которое я могу начать изменять нажатием кнопки enter(например). Но если в строке находится несколько параметров которые можно изменять независимо друг от друга, тут уже проблема.
Как банальный пример настройка даты. В одной строке находится три числа (день, месяц и год). И я как бы должен иметь возможность менять каждое число отдельно. При этом еще было бы хорошо изменять по разрядам, иначе дрочить кнопку 30 раз чтобы изменить дату с 1го на 30ое такое себе удовольствие.

Я делал на другом проекте меню с помощью структур и указателей на соседние меню. Но там было мое ограничение на одно число в строке, и то не смотря на это было куча костылей потому что некоторые строки при нажатии должны были выполнять разные действия.
Аноним 30/08/19 Птн 21:25:32 376867856
>>376866
и при всем этом сама структура меню не должна по идее быть монолитной, т.е добавление новых пунктов меню в произвольных местах не должно сопровождать анальной болью
Аноним 30/08/19 Птн 22:57:17 376868857
>>376866
Бля, ну я чот совсем тупею, не могу такие простые вещи на словах объяснить, прости анон. Если я тебе описываю не то что тебе надо, поясни что именно ты хочешь услышать: структуру, реализацию в сях или ещё что. Просто так я буду долго распыляться, но ничем полезным не помогу.

>добавление новых пунктов меню в произвольных местах не должно сопровождать анальной болью
Тут я тебя не понял, какое тогда меню ты считаешь монолитным? СвитчКейс для каждого пункта меню?

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

Алсо:
Думаю, как моргать курсором ты придумаешь сам, правда? Ты уже разобрался как с символьным экраном работать?
Алсо2:
Может пригодиться. https://en.wikipedia.org/wiki/Binary-coded_decimal
Аноним 31/08/19 Суб 05:10:16 376879858
Спасибо! Самый профессиональный тред!
Аноним 31/08/19 Суб 08:29:41 376881859
>>376868
Монолитное меню в моем понимании это когда тебе например надо добавить где нибудь в середине новую строку с вложенным меню, но чтобы это добавить и заставить нормально работать необходимо пройтись по всему коду навигации или отрисовки и в куче мест(или даже в нескольких местах) сделать небольшие изменения
Аноним 31/08/19 Суб 08:53:39 376883860
>>376881
Ну да, это был бы непотребный пиздец.

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

Я, честно говоря, не знаю как объяснить тебе что делать. Начни с малого, напиши что-то простое (сам, чтобы понимать как жто работает), а потом скрести ужа с ежом.
Посмотрю ещё сегодня код с того проекта, может пришлю что-то. Но не факт.
Аноним 31/08/19 Суб 14:18:19 376909861
Аноним 01/09/19 Вск 18:54:37 377036862
>>376596
Делал такое кучей методов, но нашёл-таки идеальный: массив из структур, каждая из которых описывает пункт меню. Для каждого пункта описан его тип и union, в котором для этого типа описаны параметры, например, ссылка на подменю.
Аноним 01/09/19 Вск 19:25:02 377039863
>>377036
А как решается несколько параметров в одной строке? Тоже делал через структуры, но как и описывал проблему выше, когда несколько параметров в строке и которые можно изменять все превращается в Франкенштейна
Аноним 01/09/19 Вск 20:08:23 377042864
>>377039
Рассматриваешь каждый параметр как подпункт меню с особыми свойствами, переключаешься между ними влево-вправо по аналогии, как ты ходишь по меню вверх-вниз.
Аноним 02/09/19 Пнд 04:47:31 377068865
>>377042
В горизонтальных пунктах есть вертикальные субменю и это всё превращается в Ад!
Аноним 02/09/19 Пнд 08:00:30 377072866
>>377042
А куском кода не поделишься для понимания что как?
Аноним 02/09/19 Пнд 18:12:45 377101867
>>339005 (OP)
У меня тут вопросик с претензией на платину. А существуют ли симуляторы для этих ваших стм32? Или под 32 битный камень писать симулятор это уже за гранью?
Блять удобно же, чем по 1000 раз свой говнокод туда сюда перепрошивать изнашивая контроллер.
Аноним 02/09/19 Пнд 18:42:32 377103868
Аноним 02/09/19 Пнд 18:57:26 377104869
15597388654130.png 95Кб, 271x251
271x251
>>377103
Респект и уважуха, бразер!
Аноним 03/09/19 Втр 15:51:02 377173870
>>377042
Поделись куском кода с горизонтальным меню
Аноним 03/09/19 Втр 16:53:03 377180871
>>377173
>>377072
Сорян, я такого не писал, лишь вбросил идею, как подобное реализовывал бы я сам при необходимости. 10 лет эмбедед-макакинга в энтерпрайзе.
Аноним 03/09/19 Втр 18:53:13 377185872
>>339005 (OP)
Лежала у меня stm32f4discovery, я поробовал на ней реализовать простенький проект, с 4 светодиодами, которые должны мигать с разной частотой и шимом регулировать яркость, и что-то охуел мальца. За последние несколько лет сделали либы, чтобы писать код просто как на ардуине, или stm32 все еще для илитных господ, которые могут 1000 страниц мануала прочитать и закончили профильный университет?
Аноним 03/09/19 Втр 18:57:06 377186873
>>377185
Если тебе нужна ардуина, почем не используешь ее?
Аноним 03/09/19 Втр 21:58:08 377192874
>>377185
Это разрабы так облегчают переход на их контроллеры, лол, сам в ахуе с этих дегенераторов.
Хотя асм у них во многом похож на атмеловский всякие мовсы хуевсы, но с углубленным познанием иховской архитектуры.
Аноним 04/09/19 Срд 00:03:00 377196875
>>377186
Ног мало, цап и ацп всратые, мощи недостаточно для чего-то связанного с хоть какими-то вычислениями на контроллере, а стоит ненамного дешевле.
Аноним 04/09/19 Срд 06:08:26 377210876
>>377185
У стм вроде есть линейка камней на которых можно прогать как на Ардуино
Аноним 04/09/19 Срд 07:01:14 377212877
>>377192
Но ведь дегенератор ето тi. Подумай на этим.
Аноним 04/09/19 Срд 07:48:09 377214878
computers-are-r[...].jpg 34Кб, 600x267
600x267
>>377192
>Это разрабы так облегчают переход на их контроллеры, лол, сам в ахуе с этих дегенераторов.
Мне почему-то вспомнился пикрелейтед.
Аноним 04/09/19 Срд 08:43:40 377216879
Аноним 04/09/19 Срд 10:03:19 377219880
>>377214
Нигра прав, именно для этого придумываются всякие жавы и сисярпы.
Аноним 04/09/19 Срд 11:17:52 377223881
>>377219
Может и высшее образование не нужно?
Аноним 04/09/19 Срд 11:23:39 377224882
>>377223
Это интересный вопрос, но он ортогонален обсуждаемой теме.
Аноним 04/09/19 Срд 12:56:05 377229883
>>377223
Нужно чтобы в армию не ходить
Аноним 04/09/19 Срд 12:58:25 377230884
>>377072
Сегодня постараюсь свой закинуть, правда это не совсем то, что ты хочешь.
>>376883-кун
Аноним 06/09/19 Птн 23:38:43 377494885
Аноним 07/09/19 Суб 04:07:58 377500886
>>377494
Подписался на видео от настоящего профи.
Аноним 07/09/19 Суб 09:58:40 377512887
>>377494
>>377500
Не, ну выбирая между ним и долбаебами заполонившими рунет которые показывают как набивать на клавиатуре функции и дефайны из стандартных библиотек, я конечно лучше его позырю.
Аноним 07/09/19 Суб 12:03:39 377522888
>>377494
Да он же долбоеб, и не умеет нихуя.
Курс от дихальта пизже в тысячу раз, он хотя бы не дауном для даунов сделан.
Аноним 07/09/19 Суб 18:28:53 377559889
>>377522
дихальт великий дядька! А где его курс?
Аноним 08/09/19 Вск 14:19:13 377601890
Стикер 575Кб, 380x271
380x271
Аноним 08/09/19 Вск 16:32:07 377615891
>>377559
>>377601
Курс дихальта в том, что уделив буквально 5 уроков ассемблеру и хорошему, компетентному разбору AVR — он позволяет самому легко изучать нужные ядра.

Аноним 16/09/19 Пнд 20:39:04 378217892
Я так понял cubeMx используют в основном для удобства работы с частотами, типа чтоб голову не ебать прописывая, натыкал мышкой и пиздец, или я не прав?
Аноним 17/09/19 Втр 00:53:33 378222893
>>378217
>cubeMx используют для удобства работы
Вот это.
Аноним 17/09/19 Втр 01:09:11 378224894
>>378217
Он столько говна побочного генерит, что лучше уж самому.
Хз куб использую для тяжелой периферии, т.к. там заебешься сам писать.

По поводу всяких АЦП\Таймеров и прочей хуйни - хуй знает их по хорошему один хуй приходится по РМ изучать, после которого уже можешь сам растолкать биты, чем переписывать эти тонны дефайнов.

Spl бывает удобно для периферии подгрузить, но хуй знает не более, нахуя?
Аноним 17/09/19 Втр 13:12:31 378236895
>>376590
Посоны, из ДС2 туда идёт кто-нибудь?
Аноним 17/09/19 Втр 13:24:02 378238896
Аноним 17/09/19 Втр 13:33:01 378240897
>>378238
А я да - давно эти хуйни интересуют.
Аноним 22/09/19 Вск 21:08:15 380821898
>>339005 (OP)
Рожал ЭТО целый вечер. Я тут походу самый успешный
Настройка тактирования через CMSIS

https://ideone.com/QJ72Rw
Аноним 22/09/19 Вск 21:36:27 380824899
>>380821
>ЭТО
С HALа спиздил?
Аноним 22/09/19 Вск 21:52:11 380826900
>>380821
А теперь напиши то же самое на ассемблере.
Аноним 22/09/19 Вск 22:37:26 380830901
>>380824
Чтение RM0008 Reference manua
Аноним 22/09/19 Вск 22:41:45 380831902
Аноним 23/09/19 Пнд 00:05:49 380839903
>>380831
Хорошо написал. У тебя там вообще абсолютные адреса в инструкциях переходов. Хоть бы через gcc -S сделал.
Аноним 23/09/19 Пнд 04:34:20 380844904
image.png 19Кб, 435x250
435x250
Кто-нибудь делал задержку на DWT? Почему она запускается только при хард резете(кнопкой на плате)? И если сделать софт резет снова ложится. Что я упускаю?
Аноним 23/09/19 Пнд 11:54:37 380863905
>>380844
>while
Не надо так с процессором. Лучше считать разницу между текущим и заданным.

Аноним 23/09/19 Пнд 13:50:35 380869906
>>380863
>>while
> Не надо так с процессором.
Хороший способ его нагреть.

> Лучше считать разницу между текущим и заданным.
И? Использовать прерывание по таймеру?

Аноним 23/09/19 Пнд 16:17:13 380891907
>>380863
>Не надо так
Пару сотен микросекунд может и потерпеть. Все равно большинство времени он бездействует в ожидании прерываний от систика.
Аноним 24/09/19 Втр 00:08:56 380948908
Есть что-нибудь легче чем Stm32f407g-disc1 для вокального процессора?
Аноним 24/09/19 Втр 04:53:37 380959909
>>380869
Да, тем более таймеров в STM32 достаточно. Просто считай каждую миллисекунду и складывай. А потом сравнивай, прошло ли время.

>>380891
А потом жаловаться будешь, почему синхронизации добиться не удается.
Аноним 24/09/19 Втр 14:12:09 380996910
>>380948
Ты хочешь прямо в микрофон на плате петь?
Аноним 24/09/19 Втр 16:15:12 381006911
>>380996
выпаять, не? тред отпаялся засмеялся всегда ждет
Аноним 24/09/19 Втр 16:36:41 381009912
>>381006
Да ну, зачем плату портить. Куда ты его потом припаяешь? У него корпус с выводами под пузом
Аноним 24/09/19 Втр 20:16:22 381021913
>>381009
Ну поэтому спрашиваю, что подойдет для такой задачи, попроще чем stm32f4, шобы свой микро, да и без наворотов менять голос риал тайм, пару эффектов, тон эхо.. все дела
хотя куда я замахнулс, сначала на ардуино сделаю фпесду
Аноним 25/09/19 Срд 09:42:22 381052914
>>381021
> менять голос риал тайм, пару эффектов, тон эхо
> на ардуино сделаю
Ты уверен, что ты вообще понимаешь, на что ты замахнулся?
Аноним 25/09/19 Срд 15:15:21 381077915
>>381052
>на ардуино сделаю
Конечно он не понимает, на дуине максимум перделку он получит, с 16МГц.
Аноним 25/09/19 Срд 16:50:55 381081916
>>381052
>>381077
смисол спрашивать у вас если вам пох на вопрос, анон хуле ты тупишь.
Даже если перделку, получу опыт, прежде чем заказывать стмку
Да, понимаю, что ардуины не хватит
https://www.youtube.com/watch?v=3tEHxL_1UYw
Аноним 25/09/19 Срд 17:16:51 381086917
>>380948
Бери эту плату и вперёд изучать цос. Тебе хватит ее более чем. Если решишься, то могу потом более подробно рассказать куда копать.
Аноним 25/09/19 Срд 17:18:28 381087918
>>381081
> смисол спрашивать у вас если вам пох на вопрос
Смысл тебе отвечать, если ты не слушаешь никакие ответы, кроме тех, которые подтверждают твою маняточку зрения?
Это называется confirmation bias, если что
Аноним 25/09/19 Срд 17:38:40 381088919
>>381081
Сделай все для начала на компьютере, тогда будут яснее требования к микроконтроллеру. А потом просто перенесешь код с компа на микроконтроллер. И покупать для изучения цос какие-то платы не нужно. Ну просто совсем не нужно.
Но, как пишет анон выше, ты явно не последуешь совету.
Аноним 25/09/19 Срд 18:09:21 381093920
>>381088
>>381087
Совет приму, начну с матчасти dsp
А когнитивное искажение которое мне приписали, нет
>> Смысл тебе отвечать, если ты не слушаешь никакие ответы
Обратная связь тухлая, вот и сделал выводы, но начну с курения dsp
Аноним 25/09/19 Срд 18:25:20 381095921
>>381093
> 2 ответа на следующий день
> уточняющие вопросы
> дельные советы
> НЕТ У МИНЯ КАГНЕТИВНЫХ ИСКОЖЕНИЙ!!!! ЭТА АБРАТНАЯ СВЯСЬ ТУХЛОЯ!!!
Понятно, нахуй иди даун
Аноним 25/09/19 Срд 18:30:25 381096922
Аноним 25/09/19 Срд 23:17:23 381105923
15637319458670.jpg 39Кб, 480x412
480x412
Как вы относитесь к заимствованию чужого кода?
Например понадобилось работать с картами памяти по SPI. Вместо того чтоб разбираться, как её там инициализировать я тупо спиздил код с гитхаба. Кубом сгенерировал проект тыкнув с поддержкой FatFs. Малость допилил и оно даже работает.
Но чувство своей никчемности остается.
Аноним 25/09/19 Срд 23:31:44 381107924
60724848p0.png 327Кб, 1050x1050
1050x1050
>>381105
Сначала делаю лишь бы работало, из КУБовской зелёнки и библиотек с гитхаба или видеоуроков. Потом уже раскуриваю и переписываю все самостоятельно.
Аноним 26/09/19 Чтв 05:34:21 381117925
>>381105
Не имеет смысл как ты относишься.
Имеет смысл как ты ДОЛЖЕН относится.

А должен полностью положительно. Тут блядь уже больше полувека ебутся над модульностью и если что то встало со свистом и удовлетворяет требованиям - не трож!
Не потому, что сломаешь или еще что-то, просто потрать время на что то более полезное.

О твоем опыте будут судить по реальным устройствам, а не количеству велосипедов внутри.
Аноним 26/09/19 Чтв 05:38:44 381118926
>>381117
>>381105
В догонку, ширина опыта в подавляющем большинстве случаев гораздо более важна.
Если тебе нужно будет завелосипедить FAT - поверь ты завелосипедишь, поебешься может, но результат будет 100%.
Это тривиальная обыкновенная задача. То, что кто то всрал месяцы и ее решил - молодец, но нахуй тебе это повторять, ради чего?
Реально полезных новых знаний ты получишь крохи.

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

Так, что не еби мозги себе, поебаться в глубь ты еще не раз успеешь.
Аноним 26/09/19 Чтв 07:54:28 381119927
>>381107
Тратя хренову тонну времени?
Аноним 26/09/19 Чтв 10:46:55 381131928
>>381118
>ты можешь очень хорошо планировать структуру и архитектуру >решения.
Это под час несколько даже важнее велосипедов.
Ибо убив тучу времени на "ковыряние" , и прокачав скилл. На выходе может получиться монстр.
Аноним 26/09/19 Чтв 12:46:32 381145929
>>381119
>переписываю все самостоятельно
Ну или просто забиваю и оставляю как есть. Но хотя-бы поверхностно знать как оно работает не повредит.
Аноним 26/09/19 Чтв 13:01:54 381146930
где купить комплектующие?
Аноним 26/09/19 Чтв 18:05:14 381164931
Аноним 26/09/19 Чтв 19:32:22 381171932
>>378240
Ну что, как сходил, рассказывай?
Аноним 26/09/19 Чтв 20:57:25 381182933
>>381171
Малаца, хорошо зделали. Сам камень позиционируется, как переходная форма от МК к процессорам, когда у тебя задача с реалтаймом, но ещё хотелось бы иметь и линукс. По софту - заебись, всё, как обычно, опенсорсное, но при этом, в отличие от других вендоров, специфические патчи по-максимуму пушатся в апстрим, так что ты всегда сможешь пользоваться свежими версиями ядра/либ/инструментов и свободно конфигурировать всё, как тебе надо. Из всей полезной информации половина - сам семинар, половина - комментарии из зала. Собственно, на подобные мероприятия ходить и стоит хотя бы ради того, чтобы послушать кулсторей от опытных специалистов.
Аноним 26/09/19 Чтв 21:12:55 381190934
>>381118
А теперь представь что есть области разработки встраиваемых систем,и их достаточно много(думаю ты догадаешься какие), где нельзя иметь ошибки в коде, а ты заимствуешь чужой код и не смотришь под капот. Какие варианты событий могут быть, как думаешь?
Количество проектов не показатель, так как работая с железом ты всегда уходишь в долгосрочную поддержку своих решений.
Аноним 26/09/19 Чтв 21:29:52 381192935
>>380891
Если только для попробовать или демо проекта, а так таймер и только.
Аноним 26/09/19 Чтв 21:42:12 381194936
>>381182
Если ты хочешь работать с мк не на полную нагрузку, то бери РТОС, если тебе прям вообще пиздец реал тайм надо, чтоб подстройка по фазе на высокоскоростной шине была, обработка пакетов на самом низком уровне, всякие CRC, коррекция ошибок и т.д, то только напрямую через регистры надо.
Аноним 26/09/19 Чтв 21:44:34 381195937
>>377214
Высокий порог входа делает профессию более закрытой, и перспективной на длинной дистанции.
А нигра порадовал, очень недалекий поц)
Аноним 26/09/19 Чтв 21:59:40 381205938
>>381190
Эти сферы во первых оплачиваются, а значит вся ебля велосипедов - тоже оплачена, во вторых, разрабатываются группой людей, знающих что они делают.
Аноним 26/09/19 Чтв 22:05:13 381208939
>>381205
Правильный ответ
Аноним 26/09/19 Чтв 22:30:30 381214940
>>381190
>заимствуешь чужой код и не смотришь под капот
Так этого никто и не пропагандирует, особенно в указанных областях. Если уж лезть в высокие материи, то там положено иметь полноценный процесс разработки, который начинается с проектирования и включает в себя тестирование и верификацию, так что там уже не важно твой код или нет. Тем более, что какой-нибудь FatFS прошёл гораздо большую проверку временем и лучше отлажен, чем свой велосипед.
>>381194
Да так и делаю, анон. А конкретно с MP1 в том и прикол, что там в одном корпусе кортекс-м и кортекс-а. На первом крутится всё как ты сказал, а на втором - линукс с вебом, гуями, питонами, машинным зрением, нейронками и прочим. При всём при этом, реалтаймовая часть и линуксовая друг другу не мешают и имеют возможность быстро обмениваться данными через разделяемую память.
>>381195
Я это скорее к потому, что, как мне кажется, куб с халом и так уже достаточно простыми сделаны. Да, надо напрягаться и изучать, потому что ещё проще уже некуда - стм32 в принципе сложнее авр. Если дальше упрощать - то получится совсем примитив, негодный для реального применеия.
Аноним 26/09/19 Чтв 22:54:48 381218941
>>381214
Все так. Тут по ходу сидят либо те, кто все и так понимают с полуслова и им ничего не надо доказывать, либо те, кто понимает очень мало и сами не понимают что говорят. А между ними молчуны, которые осваивают и им некогда болтать)
Аноним 27/09/19 Птн 02:37:33 381227942
>>381218
Так-то да но не критично
Аноним 27/09/19 Птн 13:23:41 381286943
>>381182
А на русском было? Ништяки давали какие?
Аноним 27/09/19 Птн 15:02:19 381297944
>>381286
Маркетинговая часть и теория на русском, практика на английском. Ничего не дали, но дико извинялись.
Аноним 27/09/19 Птн 18:21:45 381316945
>>381182
> так что ты всегда сможешь пользоваться свежими версиями ядра/либ/
угу, новыми суперабстрагированными от старых свежими версиями.
Аноним 27/09/19 Птн 18:34:56 381317946
17736d.jpg 60Кб, 604x436
604x436
Аноним 27/09/19 Птн 19:10:15 381322947
>>381317
То, что иногда на тормоз полезно нажимать, все хорошо в меру.
Аноним 27/09/19 Птн 21:55:26 381359948
image.png 112Кб, 429x247
429x247
>>381218
А хули говорить, на вопросы, что знаю - отвечаю, на те что нет - не отвечаю.

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

Никто не рассказывает тут про свои проекты или кулстори, не обсуждает идеи.
Для сложных вопросов форума лучше.
Аноним 09/10/19 Срд 19:12:29 384938949
>>339005 (OP)
Итак! В будуещем потребуется создать сеть из микродатчиков по всей избе и участку. Смотреть в сторону стм8 не собираюсь ввиду копеечных ценников на младшие стм32. На чем посоветуете планировать сеть? САN? Modbus?
Аноним 09/10/19 Срд 19:36:47 384950950
>>384938
Посмотри в сторону zigbee
Аноним 09/10/19 Срд 19:49:47 384956951
>>384938
Если нужна НАДЕЖНОСТЬ и отсутствие влияния фаз луны, соседей со сварочниками, пердежа от телефонов и прочих радостей радио - то только кабель. Если поиграться и не управляешь ядерным реактором - можешь послушать >>384950
Если надо будет за раз передавать больше 8 байт - то готовься к пердолингу используя MODBUS (over RS485). Если сильно ленив - то CAN твой лучший друг. Аппаратные фильтры 11(29) битного адреса (в modbus их сам делаешь и максимум около 240 устройств), авторазрешение коллизий - твое дерьмо будет ГАРАНТИРОВАННО доставлено единым куском. В самом же STM - у тебя будет прерывание, уйдя в которое читаешь присланное число байт из mailbox и туда же пишешь данные на отправку. Красота. Никакого пердолинга с таймаутами, фильтрами, CRC..
Аноним 10/10/19 Чтв 01:33:37 385021952
>>384938
>На чем посоветуете планировать сеть
Очевидно через AC.
Потому, что нахуй провода!

>>384956
>Если сильно ленив - то CAN твой лучший друг
С модбасом так то поменьше ебли, не? Он банально более любительски освоен.
Аноним 10/10/19 Чтв 04:06:30 385040953
Стикер 575Кб, 306x420
306x420
>>384938
>сеть из микродатчиков по всей избе и участку
>копеечных

Платы Blue Pill
NRF24L01
Ардуино и библиотека MySensors
Аноним 10/10/19 Чтв 04:28:17 385041954
>>385021
>С модбасом так то поменьше ебли, не? Он банально более любительски освоен.
Нет. Самый минимум ебли - это CAN, который умеет передавать за раз до 8 байт. Можно даже 0 байт передавать.
С модбасом или DCON будет намного больше ебли и он не умеет в push режим - у тебя один(два.. как их арбитраж собрался делать?) мастера, которые опрашивают слейвов, а слейвы сами при поступлении какого-то события сами не могут ничего отправить мастеру(ам).
Надо сказать что CAN - это все лишь физический уровень передачи данных, как и RS485. Но отличия очень большие - в RS485 идет побайтовая передача без разрешения коллизий, а в CAN - передача фреймами, внутри которых уже есть и адрес получателя (адреса отправителя нет) и он же приоритет, контрольная сумма фрейма, до 8 байт данных и даже бит получения другими устройствами (в RS485 - срешь в пустоту и не поймешь - принял кто или не принял или есть ли вообще кто-то на шине, в CAN - есть спецбит, который устанавливают все другие устройства, говоря что на шине кто-то есть и этот(эти) распознали и подтверждают прием фрейма с шины. Просто прием, а не то что программой обработан)
Аноним 10/10/19 Чтв 06:19:33 385042955
>>385041
Годно! Посмотрел, драйверы копейки стоят, двухпроводная линия, камни с поддержкой CAN от 70р. Пожалуй самый оптимус.
Аноним 10/10/19 Чтв 07:45:24 385046956
>>385042
Для дебага не поленись собери типа такой хуйни https://full-chip.net/shemy-na-mikrokontrollerah/108-usb-can-interfeys-ili-prosto-can-haker-svoimi-rukami.html . Яростно не гонял, как минимум соединив 2 между собой - получалось отправлять спам с одного на другой. Может зайдет такого плана https://habr.com/ru/post/256493/ (не проверял на практике).
Если внимательно читал прошлый пост - в пустую шину (где ты один) не отправишь данные, кто-то еще должен быть живым и настроенным на шине. Хоть тот же сниффер не в режиме только прослушки, да и тестовые фреймики сможешь покидать-посмотреть при первичной настройке и настройке фильтров адресов.
Аноним 10/10/19 Чтв 19:59:44 385147957
>>385041
>RS485 - срешь в пустоту и не поймешь - принял кто или не принял или есть ли вообще кто-то на шине
На каждый запрос от хозяина раб выдаёт ответ-подтверждение.
Аноним 10/10/19 Чтв 22:17:19 385172958


>>385046
Драверы - не драйверы, это просто PHY, а вот MAC тебе уже потребуется либо софтом реализовывать и я честно его не находил - тыкните, если есть.
Либо покупать МК с ним. В то же время для модбаса нужен уарт который есть везде, а PHY RS-485 стоят то-же копье.

Это не отменяет то, что писал анон выше, но иметь ввиду стоит.

>>385041
Я еще предлагал PLC, что думаешь? Мне кажется очень интересное и прикольное решение.
Аноним 10/10/19 Чтв 22:49:37 385182959
>>385172
>Либо покупать МК с ним
32f072 от 101р у нас. Заказал у китайцы пяток 32f103cbu за 650р, т.е. по 130р/шт У них памяти жирно, по 128кб, периферии дохуя. Даже как-то жалко использовать для таких прозаических целей. Хотя нету смысла изголяться с более дешевыми ибо 100-130р это таки совсем копейки для десятка датчиков.
Аноним 10/10/19 Чтв 22:54:11 385183960
>>385182
Опять вы жопосчетцы.

Покупать обвязку, ебатся с коммутированием 5 и 3.3, разводить и травить заебные схемы?
В плане иногда легче купить не STM32 за 100р, а PIC16 за 200 и иметь удобный корпус,маленькую плату и без ебли с периферией.

Аноним 11/10/19 Птн 04:11:07 385223961
>>385147
>На каждый запрос от хозяина раб выдаёт ответ-подтверждение.
Если он есть на шине и с правильным адресом.
Про таймаут на время ответа не забыл? Будешь бесконечно ждать ответа слейва? Изначально же архитектура модбаса - запрос-ответ. Просто так в произвольный момент времени ответ мастеру не вышлешь - у него же нет адреса и принимает ответы только когда был запрос с его стороны.
В CANе даже если не совпадает фильтр маски - это устройство отвечает и подтверждает прием фрейма. Да, это не ответ устройства и не показатель что нужное устройство живое, но оно хотя бы говорит о том что на шине мы не одни.
Аноним 11/10/19 Птн 07:32:52 385235962
>>385183
>ебатся с коммутированием 5 и 3.3
Зачем?
>Покупать обвязку
Конденсатор штоле?
>PIC16 за 200 и иметь удобный корпус,маленькую плату и без ебли с периферией
Т.е. в него прямо датчики с периферией встроены? Только Крону к двум ногам остается подкинуть?
Аноним 11/10/19 Птн 09:15:24 385247963
>>385223
>Если он есть на шине и с правильным адресом.
Согласен.
>Про таймаут на время ответа не забыл? Будешь бесконечно ждать ответа слейва?
Время на обработку запроса задаётся на стадии проектировки. Прописали, скажем, что время между запросом и ответом 10 мс - тогда ждем 11 мс.
>Изначально же архитектура модбаса - запрос-ответ. Просто так в произвольный момент времени ответ мастеру не вышлешь - у него же нет адреса и принимает ответы только когда был запрос с его стороны.
Мастер постоянно опрашивает все слейвы, и если один слейв пропал(не отвечает) это выяснится - какой именно раб пропал.

Аноним 11/10/19 Птн 09:34:35 385251964
Аноним 11/10/19 Птн 11:06:30 385260965
>>385251
Сразу нахуй. Я не смогу обеспечить стабильное питание дворовых датчиков. Там думаю применять L-серию с микропотреблением и йоба-способностями ко сну, и прочем гибернациям.
Аноним 11/10/19 Птн 11:11:16 385262966
>>385260
> Там думаю применять L-серию с микропотреблением и йоба-способностями ко сну, и прочем гибернациям.
И как это тебе поможет при нестабильном питании? И почему ты считаешь, что нестабильное питание для esp это проблема, а для stm32l серии нет? С чего ты взял?
Аноним 11/10/19 Птн 11:44:49 385266967
>>385262
>С чего ты взял?
C того, что L-серия допускает работу в режиме Range3 при 1.2В, а твоя ЕСП сдохнет при падении ниже 3В
Аноним 11/10/19 Птн 12:07:08 385267968
image.png 164Кб, 728x416
728x416
>>385235
>Зачем?
Потому что многие датчики с алиэкспресса работают от 5В, многая периферия работает от 5В.

>Конденсатор штоле?
>Т.е. в него прямо датчики с периферией встроены? Только Крону к двум ногам остается подкинуть?
Ну если у тебя из обвязки один конденсатор идет - можешь и арм ставить.
А я в рот ебал травить 0.2 платы, просто ради того, что бы мочь срать говнокодом.

>>385251
Пик
Аноним 11/10/19 Птн 12:08:16 385268969
>>385266
А что, твоё нестабильное питание падает ниже 3В, но гарантированно не падает ниже 1.2В?
Аноним 11/10/19 Птн 12:09:22 385269970
>>385267
> Пик
Неплохая самоирония
Аноним 11/10/19 Птн 12:26:15 385270971
>>385269
>сам такой

Как там в 6м классе?
Аноним 11/10/19 Птн 12:58:17 385274972
15703556485680.jpg 64Кб, 768x480
768x480
Аноним 11/10/19 Птн 13:11:55 385276973
05.PNG 35Кб, 836x537
836x537
>>385267
>0.2 платы
Почему 0.2, когда 0.5?
Аноним 11/10/19 Птн 13:36:52 385281974
image.png 12Кб, 302x188
302x188
Аноним 11/10/19 Птн 14:03:22 385284975
>>385270
> Как там в 6м классе?
Нормально, уже научились общаться словами, а не картинками
Аноним 11/10/19 Птн 14:09:08 385285976
>>385281
Хуяришь дороги 0.15 и между ними получается 0.3. Вот если бы 0.1 по осям было, тогда беда.
Аноним 11/10/19 Птн 14:15:11 385286977
>>385285
>Хуяришь дороги 0.15
Лол ну хуярь.
Я хуярил 0.2, раза с 3го получалось, с небольшими исправлениями.

Чем ты 0.15 дороги сделаешь? ЛУТом - сразу на хуй идешь, фоторезистом - при проявки такие тонкие постоянно отрываются.

Есть смысл как раз хуяить дороги 0.3 - 0.4, т.к. в силу свойств домашнего засвета фоторезиста они будут 0.3 или 0.25.

А там где слипниться разрезать.

Но это все равно ебля, на каких DIP\SO таких проблем нет.
Аноним 11/10/19 Птн 14:34:58 385288978
WP2018021312473[...].jpg 530Кб, 1436x1459
1436x1459
>>385286
> ЛУТом - сразу на хуй идешь
БЛЯЯЯЯААААА!!
Вот такой же QFN28
Аноним 11/10/19 Птн 22:21:58 385334979
Привет, форумчане! Хочу вкатиться в эти ваши стм32... Подскажите, плиз, какая библиотека на сегодняшний день я является самой актуальной и популярной? HAL, CMSIS или STDPeriph?
Аноним 12/10/19 Суб 00:48:30 385343980
>>385334
Вкатись для начала, что бы понять, что ты хуйню спрашиваешь.
Аноним 12/10/19 Суб 07:08:51 385352981
почитал тред малеха, увидел что тут диспут по поводу стака утил и решил поделиться своим
долго искал классное иде, но в конечном итоге бросил это гиблое дело и пишу все в текстовом редакторе, компилирую(arm none eabi gcc) все и заливаю(https://github.com/texane/stlink) через терминал
из куба достаю мэйкфайл, правлю его немного, дописываю пути, иногда флаги, убираю баги(куб глупенький и иногда оставляет ненужные символы в мейкфайле)
все делаю под линой, на дебиане и убунту все фурычит
из железа использую ща диско борд, но китайский stm32f103 тоже отлично работает
пысы в цмсисе и по сей день баги(хотя могут быть и в железе), время от времени сталкиваюсь с проблемой, что некоторые юарт\спай\i2c могут читать, но не писать или наоборот, тогда перекидываю все на другой порт и там все работает. Было еще пару космических багов, когда например глобальная переменная, которая была проинициализирована нулем(сейчас то я знаю что это было необязательно) не меняла своего значения(а вторая, которая была рядом меняла) в рантайме, хз в чем была проблема, это я к тому что если что-то не фурычит - эт не всегда ты долбоеб, но это не точно
Аноним 12/10/19 Суб 07:13:17 385353982
у меня такой вопрос, кто-нибудь пытался обновить прошивку на atwinc1500 модуле без приблуд атмеля, а то не хочется брать стак бордов, который мне нахуй не сдался только для того что бы обновить прошивку
Аноним 12/10/19 Суб 13:59:07 385382983
>>385352
>Я долго искал тян мечты, но в конечном бросил это дело и стал пидором.

Не понимаю я людей использующих линь его наиболее слабыми сторонами или ради идеи.
Можно блин просто настроить MVS и не ебать мозги.
Аноним 12/10/19 Суб 14:17:26 385386984
>>339005 (OP)
Какие операционные системы можно накатить на STM32?
С него можно смотреть аниме подключив к монитору или слушать музыку?
Аноним 12/10/19 Суб 17:28:11 385420985
stm32f769idisco[...].jpg 147Кб, 1280x960
1280x960
>>385386
На пикрил можно накатить МС-ДОС 6.22 РУ и поверх Виндовс 98, соответственно все программы будут работать.
Аноним 12/10/19 Суб 17:30:36 385422986
>>385420
Как?

Ты хочешь сказать что W98 имеет компиленные исходники на ARM Mx?
Пахнет пиздежом.
Аноним 12/10/19 Суб 18:50:32 385442987
>>385422
Конечно эмуль х86 изначально накатить
Аноним 12/10/19 Суб 19:06:06 385450988
>>385442
Оно же загрузится к твоим поминкам лол.
Аноним 15/10/19 Втр 01:25:14 385775989
>>385450
В студенческую пору запускал виртуалку вин98 на древнем андроиде с одноядерным ARM6 800 мгц и 512 мб памяти. Считай, что практически виртуалка в виртуалке. Да, тормозило сильно, но в остальном работало без проблем. Грузилось в пределах пары минут, как помнится. На самой виртуалке запускал и гонял самописные СУБД на делфи, лолблядь. Все работало. Препод даже пожал руку, для него были открытием такие возможности у смартфона. Так что производительности современной демоплаты с жирным ARMом должно хватить с лихвой.
мимо
Аноним 20/10/19 Вск 09:46:11 386442990
>>385334
>>385343
Он прав, но CMSIS, остальные это абстракции вокруг CMSIS
Аноним 21/10/19 Пнд 18:55:49 386703991
>>385334
>HAL, CMSIS или STDPeriph

Зачем всё это нужно, когда есть LL?
Аноним 21/10/19 Пнд 22:14:47 386745992
e00j90.jpg 80Кб, 500x375
500x375
>>386703
Я, к примеру, ебал эти регистры запоминать. Написано HAL_UART_Transmit значит передать по юарту, еба. Пили себе сам цикл с регистроебством.
Аноним 21/10/19 Пнд 22:47:29 386752993
>>386745
Лол
Это тот самый в котором ты из переменный перекладываешь в регистр и уходишь?
Охуеть регистроебство.

При этом, что бы настроить через сраный хал, тебе надо знать все тоже кол-во дефайнов и прочей хуйни.
Вас напугали голой жопой и вы хуйней страдаете.
Аноним 21/10/19 Пнд 23:06:40 386758994
>>386752
>Это тот самый
Это цикл, в котором байты из массива перекладываются в DR. Само собой, в этом же цикле имеется ожидание бита TXE в регистре статуса или что-то подобное.
Даже до простых прерываний наш любитель HAL-а похоже не дорос.
Аноним 21/10/19 Пнд 23:14:30 386760995
>>386745
При отладке копаться в коде этого порождения индусов под названием HAL как-то не оче. А при LL или CMSIS сразу видно в ожидании установки какого регистра всё встало колом. Ну и в ЛЛ код не такой мозговыносящий получается, никаких там
УОБА->ДВОЩ &= ~ПРАВАЯ_ПЯТКА_ЛЕВОЙ_НОГИ_66_ИНДУСА
Аноним 22/10/19 Втр 00:51:44 386769996
>>386758
>имеется ожидание бита TXE в регистре статуса или что-то подобное.
Че бля?
Ты че не в прерывании их закидываешь чтоли?
Аноним 22/10/19 Втр 07:39:30 386807997
>>386769
Всего лишь описал содержимое функции HAL_UART_Transmit. Для передачи по прерываниям там есть HAL_UART_Transmit_IT, судя по всему. Если ты про использование HAL_UART_Transmit в прерываниях, то это уже просто бред.
И я ничего не закидываю, потому что использую STM32 очень редко.
Аноним 23/10/19 Срд 12:18:45 386968998
>>339005 (OP)
Cube MX и HAL - это как Arduino IDE для STM32?
Тех, кто ими пользуются, презирают так же, как ардуинщиков?
Аноним 23/10/19 Срд 13:03:05 386971999
>>386968
нет
И ардуинщиков тоже никто не презирает, пока они выебщиками не становятся и\или в про сферу не лезут
Аноним 23/10/19 Срд 13:40:47 3869741000
>>386968
Совсем нет, но последствия иногда бывают аналогичные. Вон чуть выше пример с функцией HAL_UART_Transmit, которая тупо в цикле тратит время на ожидание флага. Конечно и такие функции иногда нужны, но также весьма часто такое не подходит. А любитель HAL, судя по отсутствию аргументов, выучил одну эту функцию, как аналог ардуиновской, и даже не подозревает о других возможностях, которые тоже есть в HAL.
Аноним 24/10/19 Чтв 16:57:31 3871491001
>>386971
>И ардуинщиков тоже никто не презирает, пока они выебщиками не становятся и\или в про сферу не лезут
Сталкивался с дизайнером по профессии, у которого было ардуино головного мозга. Он всерьёз настойчиво советовал юзать вместо STM32 в TQFP-корпусе в серийных изделиях ардуинки-модули, которые вставлялись бы в PLS-разъёмы на платах.
Аноним 24/10/19 Чтв 18:05:38 3871561002
ECerV3WwAAHdf6.jpg 350Кб, 2048x1366
2048x1366
Аноним 25/10/19 Птн 04:07:14 3871901003
>>386974
Ожидание флага в цикле, один из смертельных грехов.
Аноним 25/10/19 Птн 08:01:33 3871971004
>>387190
Не стоит утверждать так категорично. Вполне можно найти случаи, когда это будет ничем не хуже других вариантов. Например, что может быть плохого в том, чтобы таким образом сразу после включения питания выдать в UART номер версии прошивки?
При желании можно даже найти случаи, когда иначе вообще никак. Например, в Cortex-M0/M1 нельзя изменить положение таблицы прерываний через регистр VTOR. А значит, в бутлоадере придется не использовать прерывания. В некоторых микроконтроллерах (кажется всех STM32) это можно обойти, но не везде.
Так что нет ничего плохого в том, что такая функция имеется в HAL.
Аноним 25/10/19 Птн 11:35:58 3872051005
>>387197
Ты слишком взрослый для этого итт треда
Аноним 25/10/19 Птн 22:33:11 3872591006
>>367293
який програматор ??? схему будьласка.
Аноним 26/10/19 Суб 06:15:37 3872991007
>>387259
>який програматор ???
Встроенный. Разобрался уже. В ст-линк надо было экстернал лоадер подключить, тому що малюнки льются в нанд-флеш распаянный на плате
Аноним 27/10/19 Вск 07:24:23 3874601008
maxresdefault.jpg 148Кб, 1280x720
1280x720
Третьего дня нашёл на ютубе супер-канал
Аноним 27/10/19 Вск 12:18:59 3874881009
>>387460
Зачетный дядька. Поддвачиваю. Иногда посматриваю, как и Jack0v.
Аноним 27/10/19 Вск 14:43:13 3875091010
>>367293
У тебя что-то с форматом картинок не так. Если бы была проблема в железе, то тогда бы и надписи поехали
Аноним 27/10/19 Вск 19:18:28 3875611011
>>387460
Дядька иногда несёт ересь, но в большинстве своём - годный материал :-)
Аноним 27/10/19 Вск 19:19:42 3875621012
>>387190
Пардоньте, а что тут плохого?
Как кошегно делать?
Аноним 27/10/19 Вск 19:42:53 3875641013
>>387562
Всего есть три основных способа. Ожидание флага в цикле, передача по прерываниям и ПДП. В зависимости от решаемых задач, целесообразно использовать один из этих способов.
HAL_UART_Transmit и подобные - это блокирующие функции. Все останавливается, за исключением прерываний. Это не плохо, только часто целесообразнее использовать не блокирующие способы.
Аноним 28/10/19 Пнд 06:18:48 3876091014
>>387564
> Ожидание флага в цикле, передача по прерываниям и ПДП.
Ну я в прерывании поднимаю флаг и отрабатываю его в цикле.
Это неправильно?
Аноним 28/10/19 Пнд 13:17:24 3876431015
Сразу говорю - я даун и не шарю. Есть одна плата с алика на STM32F103C8T6. Брал для баловства, не осилил и забросил. Сейчас надо организовать автополив раз в 3 дня, а ардуинки нет под рукой и не скоро придёт из Китая. Подумал - чего добру пропадать и решил сделать автополив на stm32. Написал код в несколько строчек через задержку:

LL_GPIO_SetOutputPin(GPIOC, LL_GPIO_PIN_1);
LL_mDelay(0xF73 0xFFFF);
LL_GPIO_ResetOutputPin(GPIOC, LL_GPIO_PIN_1);
LL_mDelay(20000);


72 часа стоит, 20 секунд включен, и так по циклу. Будет это работать? Именно значение 0xF73
0xFFFF не упрется в максимум в 65535 миллисекунд?
Аноним 28/10/19 Пнд 13:18:44 3876441016
>>387643
> LL_mDelay(0xF73 * 0xFFFF);
фикс
Аноним 28/10/19 Пнд 15:20:17 3876721017
>>387644
Не упрётся, задержка uint32_t
Аноним 28/10/19 Пнд 16:01:10 3876781018
>>387672
То есть максимально 2147483647? А если надо больше? Можно две строчки задержек делать?
Аноним 28/10/19 Пнд 19:30:16 3877061019
>>387678
>А если надо больше?
Там RTC есть, болезный! Хоть годовые задержки делай, только Vbat подключи
Аноним 28/10/19 Пнд 20:06:51 3877101020
>>387678
Нет, максимальное значение 232-1=4294967295.
>больше
4294967295 миллисекунд это 49 дней. Однако, если микроконтроллер должен делать что-то еще кроме мигания светодиодом с таким периодом, то эту функцию нет смысла использовать.
Аноним 29/10/19 Втр 08:04:30 3877431021
народ, кто-нибудь пробовал подключать стм32 компьютеру через microUSB и передавать данные с МК на комп?? Сложно ли такую фигню реализовать?? Просто искал в интернете и нигде ничего не нашел
Аноним 29/10/19 Втр 08:50:46 3877451022
>>387743
Нет, никто это не делал. Ты будешь первым. Как получится - напиши, как это делать.
Аноним 29/10/19 Втр 09:06:25 3877461023
>>387706
> только Vbat подключи
Тупа батарейку или аккум на 3.3В подключить к выводам Vbat и GND?
>>387710
> если микроконтроллер должен делать что-то еще кроме мигания светодиодом с таким периодом, то эту функцию нет смысла использовать
Это я уже понял. Пока что только полив. Если удастся разобраться, то повешу на него и реле светодиодов досветки растений. Пока что я даже чужой код позаимствовать не могу, потому что ничего не понимаю. Но я уже сейчас понял, что даже с обычной задержкой на 72 часа обосрался, потому как запитал контроллер от обычного блока питания. Если вырубят свет, контроллер перезагрузится и начнёт считать заново.
Аноним 29/10/19 Втр 10:53:37 3877591024
>>387743
я делал, без вникания в происходящее - не особо сложно. Не таймер на ордуине запустить конечно.

А вот копать глубже - там уже жарко.

Аноним 29/10/19 Втр 11:29:47 3877631025
>>387743
Компьютер не может быть usb slave девайсом, он всегда хост
Аноним 29/10/19 Втр 11:32:08 3877651026
Аноним 29/10/19 Втр 12:17:10 3877721027
>>387643
Почитай про RTC в референс мануале.
Аноним 29/10/19 Втр 15:34:47 3877871028
Безымянный.png 6Кб, 599x284
599x284
Аноним 29/10/19 Втр 16:29:52 3877901029
image.png 167Кб, 726x443
726x443
>>387787
Никогда не заебусь постить эту пикчу.
Аноним 29/10/19 Втр 16:31:01 3877921030
>>387763
Как это относится к теме вопроса?
Аноним 29/10/19 Втр 18:39:26 3877981031
maxresdefault.jpg 82Кб, 1280x720
1280x720
Хуй знает, спрошу тут.

Хочу шимить 12В вентиляторы на частоте 25 кГц (high frequency pwm). Вентиляторы 4 пиновые: +, -, тахо и шим-вход.

Правильно ил я понимаю, что понадобится: три таймера с CC0, счётчик импульсов PCNT и мультиплексор (для переключения канала тахо с трёх вентилей на вход счётчика импульсов).

Помимо управления вентилями мк сможет выполнять другую работу? Вроде обмена данными по SPI \ ногодрыга.
Аноним 29/10/19 Втр 19:58:24 3878011032
>>387798
Сделай на 1м таймере блядь, будь мужиком.
Если автоматический счетчик хочешь то 2.

Но можно управляющий не в режиме ШИМ, а системного таймера сделать и тогда будет 1 на тахометр + 1 системный мультизадачный.

Аноним 30/10/19 Срд 17:53:21 3879141033
>>387643
>STM32F103C8T6
Там глубоко внутри есть часы с будильником.
Аноним 30/10/19 Срд 18:01:30 3879151034
>>387746
>я даже чужой код позаимствовать не могу
Иди раскуривай уроки дедули с narodstream. Он там как-раз по Си уроки пилить начал.
Аноним 30/10/19 Срд 18:17:45 3879211035
image.png 149Кб, 1387x823
1387x823
>>387743
>подключать стм32 компьютеру через microUSB и передавать данные с МК на комп
Берешь КУБ, включаешь там USB. Затем надо добавить в проект вот это(в соответствующие места)

/ USER CODE BEGIN Includes /
#include "usbd_cdc_if.h"
/ USER CODE END Includes /

/ USER CODE BEGIN 4 /
void SendToUSB(const char text)
{
CDC_Transmit_FS((uint8_t
)text, strlen(text));
}
/ USER CODE END 4 /

И можно в бесконечном цикле отправлять что-нибудь.
SendToUSB("Sup ra\r\n");
Аноним 30/10/19 Срд 19:48:12 3879291036
си.jpg 95Кб, 1280x720
1280x720
>>387915
Благо дарю. Давно не смотрел дядю. А СИ подучить надо.
Аноним 30/10/19 Срд 19:48:26 3879301037
>>387921
Лолблядь!! Неужели так просто свой COM порт на STM32 запустить? Охуенно!! Спасибо, не знал.
Аноним 30/10/19 Срд 20:33:26 3879371038
>>387930
Когда еще не было куба, было не намного сложнее. Достаточно было взять пример и поменять настройку портов под имеющуюся плату.
Аноним 31/10/19 Чтв 15:40:26 3880441039
>>387937
У narodsteam все уроки в кубике
Аноним 31/10/19 Чтв 21:24:28 3880771040
>>388044
В последних по СТМ он там под CMSIS все перепиливал.
Аноним 01/11/19 Птн 14:55:17 3881881041
>>388077
Надо будет пересмотреть.
Аноним 01/11/19 Птн 15:28:12 3881981042
Интересует мнение про интернет вещей. Что это такое в целом, из чего состоит?
Чисто с моего дивана мне это представляется как некая работа с теми же микроконтроллерами, но с достаточной примесью высокоуровневых языков и связанной работой между этими двумя компонентами.
Аноним 01/11/19 Птн 15:41:44 3882011043
>>388198
Интернет вещей это когда ты спроектировал 3D-дилдак новой оптимальной конструкции и не выходя из дома запилил пробную партию из 100 штук на заводике в Китае.
Аноним 01/11/19 Птн 15:49:43 3882041044
>>388198
>>388201
Ебанутые?
Ебанутые.

Это построение взаимодействия между устройствами, сервисами и потребителем. Конкретная реализация в этом контексте не важна.

Это могут быть пакеты молока с автозаказом по опустошении.
Может быть ардуиноунитаз с подсветкой и голосовым управлением и автоматическим нагревом душа по вылезанию какашечки.
Камеры на дорогах - суть тоже IOT.
Защиты всяких коммуникаций с вызовом ликвидаторов и тд и тп.

Короче это дохуя широкое понятие, но ОБЫЧНО его употребляют именно в первых двух вариантах. Т.к. в 3 и 4 работают серьезные дядьки и им не до хипстерского сленга.
А вот в 1 и 2 очень много разводил, выебщиков и мутных фирм, там процветает всякие модный сленг и прочее.
Аноним 05/11/19 Втр 15:42:16 3887911045
Привет, аноны.
Кто сталкивался с POE?
Попросили сделать устройство с доступом по сети, и POE-питанием. Искал готовые решения, нашёл пока только https://robotdyn.com/poe-module-9v.html.
Во всех POE-схемах из гугла, Data-каналы идут через фильтр (Magnetic Interface Circuit).

Вопрос: 1. Как в моём случае должна выглядеть нормальная схема подключения MCU к RJ-45 коннектору (с POE и PHY)?
2. Существуют нормальные, не дорогие решения PHY+POE? (Т.е. либо одна микросхема, совмещающая PHY, POE и устанавливающаяся на плату, либо готовый модуль, желательно с RJ45-разъемом, и выводом питания.)

Спасибо.
Аноним 05/11/19 Втр 15:46:16 3887921046
Алсо, не нашёл готовой отладки STM32 с поддержкой Ethernet и POE. Если есть что-то подобное, было бы замечательно.
05/11/19 Втр 19:15:02 3888021047
Аноним 06/11/19 Срд 12:37:45 3888911048
Аноним 07/11/19 Чтв 08:38:00 3890081049
Запускал вчера SPI на STM32F103, а он не запускается. То амплитуда сигнала 0,2В, то несинхронно с SCK MOSI работает. Пару раз пересобирал в STM32Cube, на разные частоты ставил, в результате запустилось. Вопрос, что ещё не работает нормально в серии F103, кроме I2C и SPI?
Аноним 07/11/19 Чтв 09:36:44 3890091050
>>389008
Ты еррату вообще читал?
Аноним 07/11/19 Чтв 12:53:50 3890221051
>>389008
Криво нажал кнопки в кривом кубе, однозначно в этом виноваты баги микроконтроллера, а не баги куба или нежелание читать документацию.
Аноним 07/11/19 Чтв 13:48:55 3890351052
>>381131
Если чисто для себя то можно, но не более.
Аноним 07/11/19 Чтв 13:56:47 3890401053
Почитал этот тренд и хочу сказать следующее:

Считаю что одна из проблем stm32 это отсутствие аппаратного буфера хотя бы под UART, spi.

Я все сказал
Аноним 07/11/19 Чтв 14:06:47 3890501054
>>389040
Он есть, этот буффер.
Аноним 07/11/19 Чтв 14:33:18 3890561055
>>389022
>Разносит куб и сам камень, как будто это не единый, комплексный продукт
Ты ещё скажи, что я должен под каждый микроконтроллер либы вручную писать.
мимокрок
Аноним 07/11/19 Чтв 19:50:55 3891111056
Аноним 07/11/19 Чтв 19:53:11 3891121057
>>389040
А где он есть? Обычно просто программно берёшь из UDR считываешь по флагу и записываешь в кольцевой буффер.
Аноним 07/11/19 Чтв 19:57:45 3891131058
>>389112
Бывает такое. Например в LPC есть аппаратный FIFO.
Аноним 07/11/19 Чтв 20:00:47 3891141059
буффер.PNG 53Кб, 786x518
786x518
Аноним 07/11/19 Чтв 21:23:13 3891231060
>>389114
Основная проблема этого буфера то, что он имеет фиксированный размер.та если придет чуть меньше или чуть больше, есть большой риск что потеряются необходимые данные
Аноним 08/11/19 Птн 23:27:59 3893021061
>>389123
Дебс, этот буффер можно кольцевать, с прерываниями по заполниению всего/половины буффера.
Аноним 08/11/19 Птн 23:37:13 3893041062
>>389302
Ну и что? Чисто гипотетически представим что ц тебя буфер на 10 символов, а прислали 12. Аппаратно у тебя не никакое прерывание про эти 2 байта не сообщат. Только если ты сам будешь вручную чекать регистры или на крайний случай включить аппаратный захват конца сообщения для modbus rtu(там мк сам отсчитывает время молчания в 3.5 символа и включает прерывания или типо того, не помню точнее)
Аноним 08/11/19 Птн 23:41:36 3893051063
>>389304
1. Иметь буффер на 10 байт когда у тебя можно быть всего пару буфферов — дизилизм, а при буфферах большего размера вероятность таких ситуаций резко падает.
2. Как только буффер заполнится наполовину/полностью, ты получишь прерывание, в котором ты, скорее всего, тупо скопируешь буффер в большой буффер, если данных в текущем недостаточно, при этом вторая половина буффера продолжит писаться, пока ты выполняешь свой код прерывания (или копируешь пол буффера в свой больший буффер, в т.ч. используя mem2mem)
Аноним 09/11/19 Суб 08:28:54 3893301064
>>389305
Мне кажется что ты что-то путаешь. В некоторых микроконтроллерах одновременно есть и ПДП и аппаратный FIFO. Для примера LPC1768.
В чем разница? Зачем так сделали?
Аноним 10/11/19 Вск 17:05:22 3895911065
>>389330
ПДП копирукт данные без участия процессора, а ФИФО позволяет хранить ждущие для чтения или для передачи байты локально. Это уменьшает количество прерываний и/или активации ПДП во время работы периферии.
Аноним 10/11/19 Вск 19:12:24 3896101066
Подскажите с STM32F103C8T6 я смогу побаловаться со звуком? 16 ацп на нём.
Аноним 10/11/19 Вск 19:48:25 3896211067
>>389610
>STM32F103C8T6
Но нахуя? Есть жы 4 серия с I2S
Аноним 10/11/19 Вск 20:01:55 3896231068
>>389621
разница 2к со 100 рублями значительна, учитывая шо мне для ознакомления, знаю шо f4 и f7 имеют dsp, но хотелось бы бюджетнее
Аноним 10/11/19 Вск 20:07:20 3896261069
>>389610
Зачем для этого микроконтроллер? Почему на компьютере нельзя сделать то же самое?
>16 ацп на нём.
АЦП там все же один, с мультиплексором.
Аноним 10/11/19 Вск 20:07:47 3896271070
f4.PNG 39Кб, 821x701
821x701
Аноним 10/11/19 Вск 20:09:58 3896281071
Аноним 10/11/19 Вск 20:15:10 3896311072
>>389628
Если ты делаешь какую-то обработку звука, то советую для начала отладить на компьютере. Вот серьезно, чем код для компа будет отличаться от кода для микроконтроллера? Если нормально напишешь, то будет отличаться только ввод/вывод.
Аноним 10/11/19 Вск 21:26:11 3896401073
Сап STMаны, нужно выбрать малопотреблящий камень, обязательные требования 1 ЦАП, 2 SPI на 4 Мбит/с (прием от внешних АЦП), UART должен выдавать не менее 4 Мбит/с. Первый взгляд был на STM32L451, но потом оказалось, что там много ненужного фарша, сейчас смотрю на STM32L412. Может есть еще что попроще да подешевле? Бывают у STM датчики температуры?
Аноним 10/11/19 Вск 21:26:42 3896411074
>>389640
> Бывают у STM датчики температуры?
Встроенные в смысле
Аноним 10/11/19 Вск 21:44:07 3896431075
>>389641
У ацп на одном канале встроенный висит
Аноним 10/11/19 Вск 22:24:14 3896471076
>>389643
Только им не рекомендуется мерить температуру внешней среды или типо того.
Аноним 11/11/19 Пнд 12:27:02 3897101077
А бывают STM32 с возможностью подключения внешней SRAM? Чтобы не портовый обмен, а чисто вывести системную шину наружу?
Аноним 11/11/19 Пнд 12:33:12 3897121078
>>389710
Да почти все в больших корпусах. И СДРАМ, и НАНД, и СРАМ, и т.п.
Аноним 11/11/19 Пнд 12:35:54 3897141079
>>389712
Я насколько понял это у них называется FSMC?
Аноним 11/11/19 Пнд 13:47:32 3897171080
>>389714
>это у них называется FSMC?
Da
Аноним 14/11/19 Чтв 11:05:16 3901861081
>>387921
Анон, возникла проблема...
Когда я первый раз подключаю мк к компу, то всё происходит прекрасно, данные передаются правильно. Но затем, когда я отключаю USB и подключаюсь снова, то комп выдает ошибку код 43 (сбой запроса дескриптора устройства). Если же отключить питание микроконтроллера и потом подключить снова, то первый раз все пройдет успешно, а после вытаскивания юсб и подключения будет опять возникать эта ошибка... в чем может быть проблема? Пробовал обновлять драйвера, ничего не помогло
Аноним 14/11/19 Чтв 15:28:41 3902261082
>>390186
Чини код в контроллере, там где-то баг(и).
Аноним 15/11/19 Птн 11:47:39 3903891083
>>390186
Если плата Blue Pill то придется возится с выпаиванием подтягивающего резистора на USB. Я бы забил и оставил как есть.
Аноним 15/11/19 Птн 12:08:00 3904031084
Аноним 15/11/19 Птн 12:48:18 3904151085
>>390403
Тогда придется раскуривать работу USB, чтобы он умел определять что был отключен и перезапускался.
Аноним 15/11/19 Птн 14:12:58 3904431086
>>390415
У меня ф4 дисковери с 407 контроллером, которая без дисплея и с аудио-выходом. ЮСБ работает норм. В примерах были баги, например в примере с ЮСБ звуковой карточкой кривые настройки ПЛЛ были и что-то ещё. Давно игрался.
Аноним 16/11/19 Суб 20:00:37 3905961087
Screenshot2019-[...].png 483Кб, 1080x2248
1080x2248
Аноним 16/11/19 Суб 22:51:06 3906141088
>>390596
Да я уже заказал, только stm32f411ceu6, помощнее чем ccu6, но спасибо шо ответил.
Аноним 16/11/19 Суб 23:14:28 3906161089
stm32 hid.jpg 24Кб, 726x269
726x269
Здесь какой-то не очевидный момент или да?

В библиотеке от st такую строку (или отсылок к ней) не нахожу. Соответственно и изменить не могу, а хочется.

Есть подсказки?
Аноним 17/11/19 Вск 00:40:31 3906231090
>>390616
Насколько я помню, она в файле с дескрипторами в классе hid в библиотеке hal
Аноним 18/11/19 Пнд 16:12:32 3908101091
Чот говно какое-то. Анончики, поясните пожалуйста.
Нужно быстро сделать устройство, которое будет иметь Web интерфейс с 2 страницами (1 - периодически изменяющиеся результаты измерений, 2 - настройки устройства).
Есть отладка STM3210C, но нашёл на неё только слегка запутанный пример, где не до конца понятно, как формируются вэб-страницы.
Думал взять что-нибудь из примеров в кубе, какой-нибудь WebServer на FreeRTOS, но на мою плату ничего нет.
Есть пример который предоставляет сама FreeRTOS, но под IDE Rowley CrossWorks, которая у меня отказывается работать.
Есть какой-нибудь совет, анонче?
Аноним 18/11/19 Пнд 19:33:42 3908271092
>>390810
> Думал взять что-нибудь из примеров в кубе, какой-нибудь WebServer на FreeRTOS, но на мою плату ничего нет.
Если на твою плату есть LwIP, то веб-сервер уже не зависит от модели платы, и любой сервер, работающий поверх LwIP будет работать
На твою плату встаёт LwIP?
Аноним 19/11/19 Втр 08:46:15 3908711093
Кто нибудь прикручивал fatfs с помощью sdio на stm? Поделитесь кодом, пожалуйста
Аноним 19/11/19 Втр 08:47:06 3908721094
>>390871
Желательно конечно без куба и hal драйверов
Аноним 19/11/19 Втр 09:59:49 3908741095
>>390827
Есть LwIP пример с сайта STM, но я чот не понял, как в нём работает сервер.
Аноним 19/11/19 Втр 14:39:51 3909331096
>>390874
попробуй сгенерировать проект из КубМХ по мотивам этой статьи
Аноним 19/11/19 Втр 14:40:13 3909341097
Аноним 20/11/19 Срд 15:31:04 3910581098
Screenshot30.png 46Кб, 941x659
941x659
Помогите разобраться какие ноги нужно вывести для прошивки и дебага через st link с дискавери платы. Таких как на пике хватит?
Аноним 20/11/19 Срд 17:21:03 3910691099
>>391058
Имеет смысл добавить еще VTref (VDD Target). В принципе по минимуму хватит SWCLK, SWDIO и GND.
Если не нужно экономить место на плате, то ставь 20-контактный разъем, как на нормальном ST-Link, а не китайском поделии. Тогда можно будет втыкать в плату простой шлейф от отладчика, а не возиться с отдельными проводками.
Аноним 20/11/19 Срд 19:46:03 3910801100
>>391058
>дебага через st link
>дискавери платы
В дискавери встроенный ST-Link, зачем что-то еще? И как соотносится дискавери с тем что у тебя на картинке?
А еще у тебя к выводам OSC32 подключен кварц на 25 МГц. Выводы, которые называются подобным образом, обычно предназначается для низкочастотных кварцев под RTC. Там обычно ограничение по частоте.
Аноним 20/11/19 Срд 19:59:15 3910821101
>>391080
Я хочу ст линком с платы дискавери запрограммировать отдельную плату, вроде так можно.
За кварц спасибо, не доглядел
Аноним 21/11/19 Чтв 01:44:35 3911141102
>>391058
А чё у тебя цепь сброса из одного кондёра без резистора?
Аноним 21/11/19 Чтв 11:58:12 3911431103
>>391114
Ааааа, у них же там внутри подтяжка к питанию стоит
Аноним 21/11/19 Чтв 13:46:07 3911511104
>>391143
конденсатор тоже не особо нужен, там встроенная задержка
Аноним 21/11/19 Чтв 17:20:08 3911731105
>>391082
St-Link легко делается из Blue pill.
Аноним 21/11/19 Чтв 17:29:47 3911741106
Аноним 22/11/19 Птн 13:08:39 3912681107
hJSqA1l63GA.jpg 572Кб, 2064x1161
2064x1161
>>391173
Когда и меня вела дорога приключений, а потом китайцы стали продавать готовые в металлическом корпусе за доллар
радиотехника 27/11/19 Срд 00:22:49 3918071108
амиигос ,
кто нибудь использовал DWT таймер?
32l152
в дебуге считает а сам-нет
не пойму,как пнуть
где найти инфу как разлочить в realase,
Аноним 27/11/19 Срд 07:45:47 3918211109
Аноним 27/11/19 Срд 09:38:19 3918291110
>>391268
Джва чая, беру готовые и ДОВОЛЕН КАК КОТ.
Аноним 27/11/19 Срд 10:05:06 3918301111
>>390872
Лол, обычный код на SD карту бери тогда и всё. Серьёзно, в сети fatfs как минимум джве библиотеки.
Аноним 27/11/19 Срд 16:13:05 3919221112
>>390933
Спс, но у меня на плате не заработало. Почему - разбираться не стал.
>>390827
А вот это заработало. Взял LwIP, накатил на него httpd как в примере, идущем с STM32F4xxG.

Только не могу понять одну вещь, как мне в LwIP в рантайме сменить IP и MAC адреса?
Чтобы не костыльно (костыльно и так могу).
Аноним 27/11/19 Срд 19:01:42 3919651113
>>391922
> как мне в LwIP в рантайме сменить IP и MAC адреса?
Мак-адреса с айпишниками никто на лету не меняет, или ты хакер кокойто?
Мак адрес по-хорошему должен быть уникальным и привязанным к конкретному устройству.
IP адрес можно получить динамически по DHCP от роутера при включении в сеть, dhcp_start() в lwip
Аноним 27/11/19 Срд 21:35:10 3919921114
>>391965
Не, нужно статический Мак и Айпи, без дхцп.
Я уже передумал на лету менять, придумал что просто настройка мака и айпишника будет в отдельном режиме, всех устроит я думаю. Мне лично так нравится даже больше.
Аноним 29/11/19 Птн 00:54:52 3922151115
Ааа
Аноним 01/12/19 Вск 15:42:55 3927681116
>>339689
>А по среде разработки советую связку STM32CubeMX + Keil + STMStudio. Сгенерил проект в кубе и пишешь себе код в лучшей IDE для ARM
>в лучшей IDE для ARM
А при чём здесь Eclipse?
Аноним 01/12/19 Вск 16:36:07 3927741117
>>339847
>1) Без книг по Си по любому не обойтись.
Справочника Шилдта хватит с головой. А через год уже полностью выучиваешь язык и книга становится не нужна.
Аноним 01/12/19 Вск 16:37:12 3927751118
>>391965
> Мак адрес по-хорошему должен быть уникальным и привязанным к конкретному устройству.
Мак-адрес может быть почти любым, даже ты на своей сетевухе скорее всего можешь поменять его в любой момент в настройках драйвера. А еще можно поменять два младших битика в старшем октете и получить locally administered address. В этом случае главное - отследить уникальность адреса в пределах твоей сети, и все.
>>391992
> придумал что просто настройка мака и айпишника будет в отдельном режиме
Двачаю, тоже так сделал, зависимости нет, брат жив.
Аноним 01/12/19 Вск 16:40:59 3927761119
Аноним 02/12/19 Пнд 02:12:16 3928621120
>>392774
Ну в зависимости на сколько ты ебанутый. Некоторые считают хорошим тоном идеально знать приоритеты операторов и всякие понты типо запятых в условиях.
Но что бы писать хороший, код это вообще противопоказано.
Нет ничего хуже долбоеба понтующегося знанием приоритета операторов, просто хуже червя пидора.

Железо + указатели + знакомство с высокоуровневым языком, пару месяцев плотных упражнений и ок.

Аноним 02/12/19 Пнд 07:43:09 3928771121
>>392862
Еще в хорошем коде нужно по возможности избегать UB. А чтобы это делать...
Аноним 02/12/19 Пнд 12:11:25 3929051122
>>392877
... нужно дохуя практики, ок?

Никакие книги и выдрочка теории не спасет.
Аноним 02/12/19 Пнд 13:23:08 3929141123
>>392905
Ага, сменив компилятор и/или процессор, внезапно узнавать на практике, что у тебя UB. И даже не понимать после этого, что словил UB.
Аноним 02/12/19 Пнд 15:07:12 3929371124
>>392775
> Мак-адрес может быть почти любым, даже ты на своей сетевухе скорее всего можешь поменять его в любой момент в настройках драйвера
Я не говорил, что его невозможно поменять. Мой пост был не про то, как можно, а про то, как надо. Да, на сетевухе его возможно поменять, но зачем? Она точно так же перезапустит DHCP и получит айпишник от роутера, привязанный к новому мак-адресу. Меняют его, например, когда человек поменял сетевуху на новую, а в роутере жестко прописан мак адрес от старой, и нужно, чтобы новая тоже заработала со старым мак-адресом. Но это довольно специфическая ситуация, и таким в 2019 редко кто занимается
Аноним 02/12/19 Пнд 17:37:29 3929991125
Аноним 02/12/19 Пнд 21:07:24 3930381126
Аноним 02/12/19 Пнд 21:44:37 3930451127
>>392937
Про то, как надо, говорит 1 разряд старшего октета Мак-адреса, а он говорит о том, что если твоя железка не предназначена для выхода в глобальную сеть, ты вправе ставить ей любой адрес и не платить деньги дядям из IEEE за диапазон абсолютно уникальных адресов.
Аноним 02/12/19 Пнд 21:48:47 3930461128
>>393038
>example1
Если мы говорим о какой то переносимости - какой нафиг int?
Неявное приведение туда же.
Тернарник в аргументе - туда же.

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

Все эти примеры вглядят компактно и пиздато, только когда это примеры, как только они переезжают во что-то прикладное - это превращается в лютейший пиздец.

Тебе жалко строк текста? Мне жалко например времени, даже сраных 500мс, которые я буду вчитываться в ебучий тернарник в аргументе.
В примере, он очевидный, но ты сам знаешь (должен) во что это превращается в прикладной программе. Я вообще это дерьмо использую только что бы явно обозначить, что я куда-либо BOOL загружаю, а не 159 или 0.


https://ideone.com/R8ejI7
ЖИРНО, зато ребенок после 3х статей с гугла прочитает и сам будешь просто пробегать глазами и понимать.
За исключением доп функционала компилируется в тоже самое. Вопрос тогда нахуя все эти выебоны?
Аноним 02/12/19 Пнд 22:10:23 3930501129
>>393046
>>393038
Что бы совсем ебанутся можно еще iso646 использовать, но то совсем для поехавших уже. Хотя я вот все задумываюсь, но как раз не начинаю с оглядкой на то, что следующий человек обплюется с непривычки.
Аноним 02/12/19 Пнд 22:11:40 3930511130
>>393046
Так вот и я о том же.
>Железо + указатели + знакомство с высокоуровневым языком
К этому нужно добавить хотя бы осознание о существовании неявного приведения типов. А откуда оно возьмется без чтения хоть чего-то? А потом добавить еще кучу всего, только чтобы не стрелять себе в ногу.
Аноним 02/12/19 Пнд 22:16:51 3930521131
>>393051
Оно же как раз возьмется от знания железа и машинного представления данных.

Ну я черт знает, если у тебя в голове укладывается представление о UINT в железе, при этом ты используешь SINT и не пробовал задуматься а как оно выглядит - считай уже без колена.

И к слову, при сравнение знакового с безнаковым, оно разве не должно ворнинг выписывать?
Аноним 02/12/19 Пнд 22:31:14 3930561132
>>393052
>Оно же как раз возьмется от знания железа и машинного представления данных.
Нифига. Что мешало неявно привести к типу большего размера, раз уж программист вдруг захотел такое написать? Ну да, в железе это будет куча операций с битом переноса, но что с того?

>Ну я черт знает, если у тебя в голове укладывается представление о UINT в железе, при этом ты используешь SINT и не пробовал задуматься а как оно выглядит - считай уже без колена.
Свои фантазии постарайся держать при себе. Я не то что на ассемблере хелловорлды писал, но и самодельный процессор на ПЛИС делал.
Аноним 02/12/19 Пнд 22:35:29 3930591133
>>393056
>Что мешало неявно привести к типу большего размера
То, что через месяц будешь сидеть и думать, нахуя я тут к болшему типу привел.
Си не самый читаемый язык и все очень хотят его на кой то хуй усложнить и добавить побольше труднопредсказуемой хуйни.
Аноним 02/12/19 Пнд 22:58:11 3930621134
>>393059
>добавить побольше труднопредсказуемой хуйни.
Поэтому давайте разрешим сравнивать знаковые числа с беззнаковыми, а предупреждения будем выдавать только при каком-то флаге компилятора, который попробуй еще найди.
>И к слову, при сравнение знакового с безнаковым, оно разве не должно ворнинг выписывать?
В gcc эти предупреждения включаются через -Wsign-compare -Wconversion, но -Wall -Wextra это не делают.
Аноним 03/12/19 Втр 09:08:47 3931271135
>>393045
Что ты мне пытаешься доказать, поехавший? Мой изначальный пост не противоречит твоему утверждению
Аноним 03/12/19 Втр 17:54:09 3932741136
И снова я в треде.
Может анон пояснить, как выглядит GET-запрос JSON, и как мне на него отвечать при помощи httpd-сервера встроенного в LwIP?

Я думал это обычная текстовая страница, в JSON-формате, но оказывается думал неправильно.
>>391922-кун
Аноним 03/12/19 Втр 19:05:23 3933041137
>>393274
>как выглядит GET-запрос
>Я думал это обычная текстовая страница
Запрос это явно не страница, по любому.
В заголовок HTTP нужно "Content-Type: application/json". Где это в LwIP я без понятия.
Аноним 03/12/19 Втр 20:27:11 3933201138
>>393274
Поставь wireshark, открой любую страницу и увидишь
Аноним 03/12/19 Втр 20:38:32 3933211139
>>393320
>Поставь wireshark, открой любую страницу и увидишь
Раньше канало, сейчас во времена httpS - хуй. Надо искать незащищенный сайт или через отладчик в браузере смотреть запросы и ответы.
Аноним 03/12/19 Втр 21:03:10 3933271140
>>393321
Например, в хроме F12 -> Network
Там все запросы можно увидеть
Аноним 03/12/19 Втр 21:11:16 3933311141
>>393304
> Где это в LwIP я без понятия
А там и не будет, это же слой TCP/IP
Аноним 03/12/19 Втр 22:40:51 3933591142
Аноним 03/12/19 Втр 23:24:24 3933711143
>>393359
Это apps, приложения, работающие поверх tcp/ip
Ну окей, под lwip я имел в виду сам стек
Аноним 03/12/19 Втр 23:26:29 3933741144
изображение.png 23Кб, 1028x257
1028x257
>>393304
Ок, я понял.
>В заголовок HTTP нужно "Content-Type: application/json". Где это в LwIP я без понятия.
Если правильно понимаю, можно подставить это в файлах в fsdata
А возможно я понимаю неправильно. Хуй знает.
>>393331
Ну и в пакете с самим LwIP идёт овер дохуя всего. Например тот httpd (в котором есть службы cgi и ssi).
>>393327
Ок, открыл пикрил в лисе. А запостить этот запрос как?
Аноним 03/12/19 Втр 23:27:55 3933771145
>А запостить этот запрос как?
В смысле вручную отправить то, что мне надо. Не очень понимаю механику процесса.
Аноним 03/12/19 Втр 23:28:18 3933781146
>>393374
> А запостить этот запрос как?
Ну вставь в строку браузера просто и нажми enter. Он отправит GET запрос
Аноним 03/12/19 Втр 23:29:20 3933791147
>>393377
Эмм если я не ошибаюсь GET\POST это текстовые запросы по TCP (в частности)
Т.е. так текстом и шлешь. Ну может заголовок отличается и какой двоичный. И за кодировку не скажу.
Аноним 03/12/19 Втр 23:46:10 3933831148
>>393378
>>393379
Ну сейчас у меня получается, так и происходит. Или нет?
Я просто по GET запросу возвращаю текст в json-формате (ну это который { x: nn}), без <html> в заголовке и каких-то ещё тегов.
Аноним 03/12/19 Втр 23:55:16 3933841149
>>393383
Да, всё так.
Можешь для примера посмотреть макакин json
2ch.hk/makaba/mobile.fcgi?task=get_boards
Аноним 06/12/19 Птн 12:43:42 3939011150
Цирк с конями продолжается.

Решил накатить http-netconn. В примерах для F4xG есть LwIP+FreeRTOS+NetConn.
Ну прикрутил я к своему проекту FreeRTOS, вчера полдня ебся чтобы запустить на нём LwIP и NetConn.
Закончилось тем, что я пососал писос:
- LwIP инициализируется, всё нормально, винда STMку видит если вбиваешь arp -a.
- Тред с netconn создаётся. Микроконтроллер регулярно приходит в это тред.
- В процессе исполнения netconn приходит в "sys_timeouts_mbox_fetch" и остаётся там навсегда..

LwIP не передаёт какие-то сообщения операционке?
Не пойму, что за херня и куда смотреть.

>>393374-кун
Аноним 06/12/19 Птн 13:43:21 3939051151
>>393882
Сразу через интернет заливать данные не?
Аноним 06/12/19 Птн 14:15:03 3939121152
>>393901
> В примерах для F4xG
Где ты вообще их берёшь?
Аноним 06/12/19 Птн 14:25:28 3939131153
>>393912
В Кубе. В папке куба есть разные примеры и аппликейшоны для твоей платформы.
Аноним 06/12/19 Птн 14:45:11 3939141154
Аноним 06/12/19 Птн 14:53:44 3939151155
>>393914
Да, только на каталог глубже - /LwIP_HTTP_Server_Netconn_RTOS/
Аноним 07/12/19 Суб 08:41:32 3940601156
>>393901
У меня вообще нет такой функции. В комментах предлагается ее реализовать самому при LWIP_TIMERS_CUSTOM==1
Аноним 07/12/19 Суб 09:07:31 3940631157
>>394060
LWIP_TIMERS_CUSTOM=1
самофикс
Аноним 07/12/19 Суб 11:05:19 3940731158
2019-12-07.png 489Кб, 3840x2160
3840x2160
Аноним 07/12/19 Суб 17:11:43 3941261159
>>394073
Ну у тебя F7, может у тебя версия LwIP посвежее.
В F1 и в F4 она есть.
Аноним 07/12/19 Суб 17:20:09 3941301160
>>394126
Как-то странно ты пишешь. lwIP кроссплатформенный. Код, непосредственно взаимодействующий с периферией микроконтроллера не входит в состав lwIP. Так что ничего не должно мешать использовать любую версию.
Аноним 07/12/19 Суб 17:48:05 3941341161
>>394130
Ты не понял о чем я. Я пишу, что у меня в примерах может быть версия самого LwIP иная, чем у тебя (или не у тебя, а у более раннего анона, если вы не одно лицо).
Потому у тебя и отличается реализация "sys_timeouts_mbox_fetch".
Аноним 07/12/19 Суб 19:13:42 3941571162
>>394073
Походу ты используешь ветку STABLE-2_0_0, а у меня STABLE-2_1_0 , поэтому у меня такой функции нет. Кто ее вызывает?
Аноним 07/12/19 Суб 19:27:17 3941621163
Попробуй проверить приоритеты задач tcpip_thread и software_timer из freertos, и еще какие там у тебя есть. Может из-за неверных приоритетов нужная задача блокируется этим таймером.
Аноним 08/12/19 Вск 13:27:20 3942401164
2019-12-08.png 479Кб, 3840x2160
3840x2160
Аноним 08/12/19 Вск 14:27:07 3942531165
изображение.png 116Кб, 1600x860
1600x860
>>394240
И? См пикрил
>>394157
У меня 2.0.3, если правильно понимаю. В ридми от ST это последний упомянутый апдейт.
Аноним 08/12/19 Вск 18:30:03 3942851166
изображение.png 154Кб, 1600x860
1600x860
Я кончил
Как оказалось - я просто провафлил несколько важных моментов -
1. Я оставил NetIF config от "RAW" версии. В ней не был установлен указатель на неправильную функцию (ethernet_input вместо tcpip_input, но это я заметил и поправил раньше), и в конце я каким-то образом не заметил, что в FreeRTOS версии создаётся симафор и тред с "ethernetif_set_link".
2. Когда пофиксил это, Keil ругнулся ворнингом на макрос инициализирующий тред. Оказалось, что функции в ethernetif должны учитывать, что они работают с осью. Функции из RAW примера, ясен хуй, не подошли. Скопипастил в проект функции из примера F4, подправил под свой мк, и оно заработало.
Не совсем понял, почему не работает режим RX_POLLING, только RX_INTERRUPT.
3. Забыл, что надо добавить обработчик прерываний на Ethernet, и не мог понять, хули МК зависает. В отладку даже не заходил, потому что я хуй пойми, как отлаживаться с FreeRTOS'ом.
А ещё, как оказалось, MII_INT выход PHY не имеет никакого отношения к ETH_RX_INTERRUPT, да.


Теперь осталось сообразить, как перейти в режим RMII. В тупую поменять ETH_MEDIA_INTERFACE_MII в "low_level_init" не прокатывает.

>>393901-кун
Аноним 09/12/19 Пнд 08:20:14 3943191167
>>394285
>Активация выньдовс
Лул. Радиогубитель не может найти автокмс?
Аноним 09/12/19 Пнд 10:11:46 3943241168
>>394319
Я винду буду переустанавливать через какое-то время или комп поменяю.
И зачем он мне? Просто чтобы снять табличку "Активация шиндошс"? Лично мне не мешает, а больше и некому.
Аноним 10/12/19 Втр 11:36:54 3944081169
Анон, поясни за АЦП-шку в f10x серии.
Мне нужно ~16к раз в секунду снять и записать значение с 2 микрофонов. Что стоит использовать, 2 АЦП или 2 канала одной АЦП? Какие настройки должны быть у АЦПшки?
Снимать собираюсь по таймеру.
Аноним 10/12/19 Втр 17:03:10 3945121170
>>394408
>~16к раз в секунду снять и записать значение с 2 микрофонов
Я хуй его знаю. Купил дискавери-746, на ней 2 микрофона присутствует. Примеры использования должны быть в кубе
Аноним 10/12/19 Втр 17:49:13 3945161171
>>394512
Ты про MP34DT01? Так это ж MEMSы, для них АЦП не нужен, за то нужен кодек.
А кодеков, да и самих МЕМсов - в рашке в наличии я не нашёл.
Аноним 10/12/19 Втр 19:43:42 3945391172
>>394285
> я хуй пойми, как отлаживаться с FreeRTOS'ом
Навешать себе rtos и lwip и пытаться починить это все без отладчика - так себе идея. Да хоть бы просто в отладчик зашел, просто при этом ты не увидишь, в каком потоке находишься. Да хоть бы и сделать отладочный вывод через UART/ITM_Trace, включив в freertos и lwip опции отладки и трассировки, и выводя в отладочную консоль Кейла. Да хоть бы и поставить TrueStudio, в котором все готовое из коробки бесплатно без мокрых писечек и смс, еще и редактор кода в 100 раз пизже, потому что eclipse.
Аноним 10/12/19 Втр 19:43:44 3945401173
>>394516
>MP34DT01
Как ни странно, но есть в электронщике.
Для речи вполне хватит встроенного АЦП. Даже 8 бит хватило бы. Если тебя это устраивает, то какие проблемы? Усиливаешь, к примеру, на операционнике и на микроконтроллер.
Аноним 10/12/19 Втр 20:32:05 3945461174
>>339005 (OP)
Собрался рисовать UI на 746-дискавери, вдохновившись Экспансией и Прометеем, и ожидаемо соснул. Для подобных интерфейсов необходимы разрешения минимум 3840х2160. Со посоветуете почитать про UI на мелких дисплеях, типа 480х272?
Аноним 10/12/19 Втр 20:51:19 3945511175
>>394546
Мне вот непонятно зачем брать для такого не одноплатник с линуксом, а микроконтроллер?
Аноним 11/12/19 Срд 03:24:54 3945821176
>>394551
>одноплатник с линуксом
Это банальное красноглазие. Удовольствия не доставит.
Аноним 11/12/19 Срд 12:10:27 3946231177
>>394539
>Да хоть бы просто в отладчик зашел
Ну так я захожу в отладчик, только т.к. не понятно какой поток в каком состоянии - сосу бибу.
>Да хоть бы и поставить TrueStudio, в котором все готовое из коробки бесплатно без мокрых писечек и смс,
Да, я его первым накатил. Только почему-то начал работать в кейле, хз почему. Может потому что надо было начать с готового примера, а под TrueStudio он не заработал. И ещё потому что у меня отладчик - древний jLink V6, и мне было лень его настраивать.
>редактор кода в 100 раз пизже
Чот мало, я бы сказал что разница в редакторах как между кейлом и ардуино - небо и земля просто.
>>394540
>Как ни странно, но есть в электронщике.
Мне нужен MP34DT05 (у него нужные мне характеристики). И для него, как и для MP34DT01, нужен кодек. Их я найти не смог. Если пояснишь, как искать такое - буду признателен.
Мне нужно, чтобы было в наличии в рашке.
>Для речи вполне хватит встроенного АЦП.
Вопроса в том что встроенный АЦП подойдёт - у меня не возникает. У меня возникает вопрос, какие настройки нужно выставлять ему для моей задачи (включить измерение в непрерывном режиме или по запросу, какое время сэмплирования, частота тактирования, постоянный использовать 2 отдельных АЦП на каждый микро, или просто можно использовать 2 канала одного ацп).
Ну и ещё вопрос, в том можно ли охватить диапазон 30-130дб одним микро и этим 12-битным АЦП.
Аноним 11/12/19 Срд 12:12:48 3946241178
>>394546
>вдохновившись Экспансией и Прометеем
Что за интерфейсы такие? Чем лучше стандартных UI от STM'а?
Аноним 11/12/19 Срд 13:09:01 3946341179
>>394624
>Что за интерфейсы такие?
Да, блядь, киношно-космические. С кучей интерактивных графиков от которых контроллер жидко пернет и сдохнет.
Аноним 11/12/19 Срд 13:26:05 3946361180
>>339005 (OP)
На работе в конторе сказали, что avr и pic это старое говно и теперь переходим на stm32, вот уже с месяц его изучаю.
Я правильно понял: в AVR хардварные настройки(частота тактирования, сторожевая собака, напряжение питания и т.д.) задаются прошивкой фьюзов, а в stm32 их прописывают в начале программы?
Аноним 11/12/19 Срд 13:43:40 3946431181
>>392862
>приоритета операторов
В каждом компиляторе может быть разный.
Тот же MISRA C указывает задавать приоритет скобками, чтобы не было двусмысленности трактования приоритета.
Аноним 11/12/19 Срд 13:47:33 3946471182
>>393056
>но и самодельный процессор на ПЛИС делал.
Нашёл чем хвастаться, это делает чуть ли не каждый, кто вкатывается в ПЛИС.
Аноним 11/12/19 Срд 15:04:45 3946811183
>>394636
Относительно частоты и срабатывания сторожевого пса все делается программно. По счёт питания сказать не могу
Аноним 11/12/19 Срд 15:05:09 3946821184
>>394636
>фьюзов
Там обычный епром а не фьюзы, емнип.
Но в остальном да, тут вся хуйня выставляется в начале проги. Даже небо, даже Аллах. Как происходит работа с DSP в моделях где он встроен - не знаю, вероятно тоже так же.
В начале, у тебя МК заводится на встроенном генераторе, дальше ты идёшь его конфигурировать, потом работаешь как тебе надо.
Сакральный смысл в том, что ты можешь менять частоту в процессе работы, и снижать потребление устройства.
Аноним 11/12/19 Срд 15:07:08 3946831185
Про питание не заметил - тут тоже не подскажу, но кажется на STM32 оно не выставляется, в отличие от AVR'ок.
Аноним 11/12/19 Срд 17:07:52 3947381186
>>394623
>30-130дб
Как-то все странно. Что это означает? дБ - это просто логарифм отношения одного числа к другому. Может ты имел в виду дБа?
Но даже если так, то 100 дБ это изменение по мощности в миллиард раз, а по напряжению в 100 тысяч раз. А у тебя АЦП 12 разрядов.
Может тебе нужно использовать АРУ?
Аноним 11/12/19 Срд 18:38:20 3947481187
изображение.png 16Кб, 682x261
682x261
>>394738
>АРУ
Нет, мне нужно без АРУ, мне всегда нужно знать точный уровень.
>по напряжению в 100 тысяч раз
Это тоже правда, что посоветуешь?

Читаю мануал, там есть такая табличка (пикрил).
Но не могу понять 2 вещи:
1. Почему Vdda сделан отдельным выводом, если он должен быть равен Vdd обычному? Точно так же с Vssa и Vss.
2. Примерно то же самое с Vref- почему от должен быть равен Vssa?
Аноним 11/12/19 Срд 19:10:19 3947511188
>>394738
>в миллиард раз
10^10 - это 10 миллиардов, тут я написал не правильно, а про 100 тысяч тем не менее правильно.

>>394748
>Это тоже правда, что посоветуешь?
Знать бы еще что тебе нужно. Может ты из ардуиновского треда с дурацким шумомером?
>Но не могу понять 2 вещи:
Электромагнитная совместимость, разделение земель и все такое. У ST наверняка есть что-то с названием вроде "EMC design techniques", где написано про все такое применительно к их микроконтроллерам.
Аноним 11/12/19 Срд 20:06:08 3947621189
>>394748
> Нет, мне нужно без АРУ, мне всегда нужно знать точный уровень.
100 дБ это слишком дохуя для 12 разрядов без АРУ. Тут уже скорее 24 надо, и то еще не хватит, т.к. эффективная разрядность меньше окажется.
Аноним 11/12/19 Срд 20:33:42 3947651190
>>394751
Про 100к раз я тоже посчитал, иначе бы подправил
>Может ты из ардуиновского треда с дурацким шумомером?
Йап
Есть предложения? Можно, конечно, сделать как у Gravity, с их Decibel Level Meter'ом (один микрофон, несколько операционников, аналоглвый мультиплексор и мк, мне так же, только без мультиплексора), но если можно на двух каналах - то лучше на двух каналах.
Аноним 11/12/19 Срд 20:50:46 3947671191
>>394765
Почему без мультиплексора?
Аноним 11/12/19 Срд 20:57:11 3947681192
>>394765
Зачем тогда тебе микроконтроллер? Не проще ли обойтись одним логарифмическим усилителем?

>аналоглвый мультиплексор
>на двух каналах
По твоему, что такое каналы АЦП в микроконтроллере? Это аналоговый мультиплексор и есть.
Аноним 11/12/19 Срд 22:30:02 3947891193
изображение.png 686Кб, 600x600
600x600
изображение.png 483Кб, 500x423
500x423
>>394767
Потому что у меня есть овердохуя каналов АЦП в МК.
>>394768
>Зачем тогда тебе микроконтроллер? Не проще ли обойтись одним логарифмическим усилителем?
Потому что мне нужно получить данные о уровне звука в микроконтроллер, а потом делать с ними одному мне известные дела.
>По твоему, что такое каналы АЦП в микроконтроллере? Это аналоговый мультиплексор и есть.
Ну тоже правда, но это не снимает моего вопроса о настройках АЦП и необходимости использовать два АЦП вместо двух каналов.
Так понимаю, нужно поставить режим непрерывного измерения, выбрать нужные каналы, по таймеру ~16к раз в секунду снять данные с 2 (или больше) каналов?


Не мог прикрепить к прошлому сообщению
https://blog.yavilevich.com/2016/08/arduino-sound-level-meter-and-spectrum-analyzer/
Вот такую няшу надо, только с нужным мне диапазоном.

А пикрил - то что упомянул в прошлом посте, Gravity Decibel Level Meter. Если правильно понимаю, сигнал подаётся с микрофона на 4? операционника с разным КУ, через мультиплексор, на микроконтроллер C8051F330, дальше преобразует это в какую-то линейную шкалу и выводит на ЦАП, судя по всему. Только мне не до конца понятно, как работает параллельное подключение к 4 ОУ одновременно (как избавляются от негативных эффектов) и для чего 2 сборки по 4 усилителя.
Если я хуйню где-то несу, я прошу чтобы анон меня поправил, если что.
Аноним 12/12/19 Чтв 07:34:33 3948261194
>>394789
>в какую-то линейную шкалу
Не понимаю такого. Микрофоны и так более-менее линейные. Может ты имел в виду логарифмическую шкалу?
>Потому что мне нужно получить данные о уровне звука в микроконтроллер
Как раз для этого можешь взять логарифмический усилитель, например AD8310.
Аноним 12/12/19 Чтв 08:45:48 3948351195
>>394789
> 4? операционника с разным КУ
Ты понимаешь, что требуешь решение без АРУ, приводя в пример схему с АРУ?
Аноним 12/12/19 Чтв 10:26:17 3948551196
>>394835
>Ты понимаешь, что требуешь решение без АРУ, приводя в пример схему с АРУ?
Ну, во-первых, я ничего не требую, лол. Я тут вроде как не в позиции, чтобы что-то требовать. Я спрашиваю совет.
Во-вторых пример - это просто датчик уровня звука, который измеряет шум в помещении, и в зависимости от КОЛИЧЕСТВА ДЕЦИБЕЛ устанавливает напряжение на выходе.
"АРУ" там выполняется микроконтроллером. Пример тут от того, что мне нужно получить данные в микроконтроллер, примерно так же, как получает он. Дальше как с ними работать, и как исполнить собственную "АРУ" - я вроде как знаю.
>>394826
>Может ты имел в виду логарифмическую шкалу?
Simple Conversion: linear analog output, 0.6~2.6V linear correspondence 30~130dBA, no complex algorithm is required
>Как раз для этого можешь взять логарифмический усилитель, например AD8310.
Вот всё в нем заебись, даже в чипдипе есть, только не могу найти готовую плату с ним в наличии.
Аноним 12/12/19 Чтв 19:07:57 3950041197
>>394789
> Так понимаю, нужно поставить режим непрерывного измерения, выбрать нужные каналы, по таймеру ~16к раз в секунду снять данные с 2 (или больше) каналов?
Ну видимо да, раз так стоит задача. А зачем два АЦП или два канала? Если для двух разных диапазонов, то видимо придется делать автоматическое переключение диапазонов, т.е. переключение между каналами.
Аноним 12/12/19 Чтв 19:28:50 3950061198
>>394855
>correspondence 30~130dBA
Это означает, что напряжение на выходе этой платы пропорционально логарифму от интеграла входной мощности (или квадрата входного напряжения). В этом контексте, шкала это то же что и масштаб. Тут даже не понятно к чему относится масштаб, но про линейность это странно.
>только не могу найти готовую плату с ним в наличии.
Какая нафиг плата? Это SOIC-8, ты еще отладочную плату для простого резистора запроси.

>>395004
>А зачем два АЦП или два канала?
Из-за того что он хочет обеспечить 100 дБ перекрытие.
Аноним 13/12/19 Птн 11:14:05 3951231199
>>395006
>Из-за того что он хочет обеспечить 100 дБ перекрытие.
this.
К стати, есть какие-то советы/мысли на этот счет?
>Какая нафиг плата? Это SOIC-8.
Ну я хотел какой-то референс дизайн, чтобы не паять и не настраивать сейчас самому это вот всё.

>>395004
>Если для двух разных диапазонов, то видимо придется делать автоматическое переключение диапазонов, т.е. переключение между каналами.
Ну я буду смотреть, если превышено значение на мелком усилении - читать, что происходит на втором.
Аноним 13/12/19 Птн 11:21:28 3951241200
>Ну видимо да, раз так стоит задача.
Вопрос в выборе именно настроек АЦП. Я не очень понимаю, что мне даст выбор континьюс мода, и что мне даст выбор определенной продолжительности семплирования (например 13.5 циклов АЦП, или 71.5 цикл АЦП, или вообще 1.5 цикла).
И ещё, как континьюс мод будет работать с аналоговым мультиплексором - не внесёт ли это доп помеху.
Аноним 18/12/19 Срд 18:53:31 3958431201
>>339005 (OP)
>Хочу вкатится в разработку на stm32.
Зачем? Лучше в веб вкатываться и делать сайтики, стабильный спрос хоть в офисе, хоть на фрилансе и нормальный доход.
На микроконтроллерах и плисах работы кот наплакал и платят за неё копейки - ненужное говно.
Аноним 20/12/19 Птн 10:24:47 3959671202
>>395843
Для сайтиков нужен один комп, а для электроники кучу инструментов, приспособлений, приборов и девборд. Материализм, сука.
Аноним 20/12/19 Птн 12:54:04 3959741203
>>395843
где пруф, что ты уже вкатился в сайтики и получаешь нормальный доход?
Аноним 20/12/19 Птн 18:06:13 3959931204
изображение.png 512Кб, 1446x837
1446x837
Привет анон.
Я ранее (месяц назад) спрашивал про POE-модули.
Подумав, поковырявшись и поняв что времени ждать посылку с алика нет, я решил собрать POE самостоятельно. Кто-нибудь из местных анонов, собирал POE-модуль самостоятельно?
В процессе гугления понял, что понадобится: RJ45 разъем (простой 8-контактный, без встроенного трансформатора), сигнальный трансформатор (вроде H2019), диодный мост, POE интерфейс, DC-DC преобразователь.
Вопросы такие:
1. Напомните, где искать? Нужно из наличия. И желательно, чтобы было овер дохуя. Смотрел на ЧипДипе, там нет нихуя - ни разъемов нормальных с трудом подбирается SMT разъем без трансформатора, но и без светодиодов, к сожалению, ни H2019 в наличии, ни ху я.
2. Какой RJ45 посоветует анон? Если со встроенной индикацией - то вообще заебись было бы.
3. Нужен DC-DC преобразователь с 48 на примерно 7.5V (можно чуть больше, можно чуть меньше). Мощность хотелось бы соответствующее возможностям схемы на пикрил. Что посоветуешь, анонче?
Аноним 20/12/19 Птн 21:00:10 3960011205
>>395993
Купить сетевуху за 100ри спаять все нужное с нее, запитать от 12в бп
Аноним 21/12/19 Суб 10:25:27 3960351206
>>396001
Не, бро, мне нужно POE запилить. Иначе питал бы просто от БП и не выёбывался.
Аноним 21/12/19 Суб 18:31:35 3961111207
>>396035
Тебе инжектить надо питание или принимать
Аноним 22/12/19 Вск 09:23:10 3961701208
>>396111
Принимать, у меня на пикче PoE PD.
Аноним 22/12/19 Вск 11:45:30 3961781209
>>395974
Открой hh и посмотри количество вакансий и зарплату и будешь плакать.
Аноним 22/12/19 Вск 15:29:52 3962001210
>>396178
Это понятно, а ты почему еще не вебмакака?
Аноним 24/12/19 Втр 17:24:50 3964541211
LcDaAEl1rE.jpg 130Кб, 776x584
776x584
Привет анон, это снова шумомер-кун.
Подскажи, пожалуйста, что улучшить.

У меня источник питания - стабилизированные 5.0В(IN_5V), они же пойдут через делитель 1/2 на AVCC микроконтроллера.
Оттуда же, планирую взять питание для стабилизатора 3.3, с которого питается микроконтроллер.

Насколько правильно использовать такую конструкцию? Сделал как в микрофоне Adafruit'а (AVCC, AGND через феррит), но не знаю, насколько это годно.
Аноним 24/12/19 Втр 18:37:50 3964581212
>>396200
Так я успешная веб-макака 4к$, фрилансю на берегу Тайваня и зашёл сюда попроигрывать с вас.
Аноним 25/12/19 Срд 07:16:53 3964781213
>>396458
У тебя шаблон вордпресса поехал, иди переверстывай
Аноним 25/12/19 Срд 07:51:38 3964791214
Объясните на пальцах что такое полуслово, слово, двойное слово? Я так понимаю это некий объем данных (байт, два байта, 4 байта), но его размер зависит от разрядности ядра? Одинаково ли слово в 8 битных AVR и 32 битных STM? Какой размер слова, полуслова будет для обоих платформ?
Аноним 25/12/19 Срд 08:21:06 3964801215
Аноним 25/12/19 Срд 11:12:37 3964851216
>>396479
Из Википедии:
Машинное слово — машинно-зависимая и платформозависимая величина, измеряемая в битах или байтах (тритах или трайтах), равная разрядности регистров процессора и/или разрядности шины данных (обычно некоторая степень двойки).
Аноним 28/12/19 Суб 10:41:13 3967101217
В чём сакральный смысл существования и использования R огрызков везде и всюду >>396588, если есть V с FSMC + 30 ног с ценой вопроса на половину доллара?
28/12/19 Суб 11:14:12 3967151218
Аноним 28/12/19 Суб 12:20:16 3967211219
>>396715
С существованием прояснилось, а с использованием - не особо. Если это отладка типа Nucleo или какой-то open source multi-tool, а не стиральная машина или паяльник, то от MVP-экономиста и его огрызка будет страдать юзер девайса. Хотя, если ты не лох юзер, а индиец из ST, то можно и 767 выпустить в трёхногом корпусе, справедливо откусив у него всю периферию. Всё равно за нормальным чипом чуть позже придут и ещё шекели принесут.
Аноним 28/12/19 Суб 19:02:45 3967541220
679574.jpg 1035Кб, 1600x919
1600x919
539122.jpg 1031Кб, 1600x1086
1600x1086
>>396721
>можно и 767 выпустить
А мне нравится фирма Боинг и ее старичек старушка Королева Небес 747. Подгонишь пару-тройку пассажирских Боингов 747-400?
Аноним 28/12/19 Суб 20:21:24 3967631221
56356235.jpg 83Кб, 550x540
550x540
>>396754
Молодой человек, это не для вас Боинг. Для вас автобус по маршруту 030
Аноним 29/12/19 Вск 00:09:12 3967791222
>>396485
Добавлю, что если нет привязки к архитектуре или ранее не объявлено обратное, скорее всего имеется ввиду 16бит
Аноним 29/12/19 Вск 13:12:50 3968291223
>>396779
>Добавлю, что если нет привязки к архитектуре или ранее не объявлено обратное, скорее всего имеется ввиду 16бит
Только на интелах и на винде, короче на всём, что имело корни в те времена. АРМы, МИПС, Альфы и прочее - слово 32 бита.
Аноним 29/12/19 Вск 13:44:16 3968311224
>>396829
Я анон полный долбоеб, я почему то ответил в контексте - полуслово.
Аноним 29/12/19 Вск 14:54:48 3968441225
Аноним 29/12/19 Вск 16:17:15 3968561226
почему в ебучем эклипсе открыт файл одного проекта а билдится другой проект? я уже не человек, я зверь нахуй.
Аноним 29/12/19 Вск 16:43:13 3968631227
Аноним 29/12/19 Вск 17:49:58 3968711228
>>396856
Эклипс не для тебя, возьми clion
Аноним 30/12/19 Пнд 13:02:33 3969141229
net ti poslushai.jpg 20Кб, 472x403
472x403
Аноним 31/12/19 Втр 13:11:43 3969961230
>>396914
Потому что проект, который будет компилиться, выбирается слева в Project Explorer.
Аноним 31/12/19 Втр 13:18:40 3969981231
>>396996
ебать ты няша! спасибо. а вообще эклипс хорошо знаешь?
Аноним 31/12/19 Втр 13:25:58 3970001232
>>396998
Нет, не очень, недавно вот первый проект в нем сделал.
Аноним 31/12/19 Втр 15:34:49 3970271233
>>396856
>>396914
>>396998
рукожопый хуй репортинг ин. у меня тут куча глюков внезапно возникла с эклипсом, переустановка не помогала. Он даже перестал компилировать свежесгенеренный кубом проект и срал дикими ашибками. Оказалось, у меня тут ембитц был установлен. снес его, переустановил эклипс и всё снова работает.
Аноним 31/12/19 Втр 16:39:23 3970361234
>>397027
Может тогда имеет смысл освоить make и, возможно, CMake?
Аноним 31/12/19 Втр 17:52:02 3970391235
>>397036
Че их там осваивать? Куб же сам под мейк генерит проекты. Алсо, эклипс можно использовать чисто как текстовый редактор
Аноним 31/12/19 Втр 18:14:45 3970411236
>>397027
Возможно это переменные среды. На сайте плагина GNU MCU Eclipse есть статейка, как сделать все без них.
Аноним 01/01/20 Срд 10:19:08 3970691237
>>397036
а мне пох что осваивать, проблема в том что я в этом обезьяна. не хватает знаний пока.
Аноним 01/01/20 Срд 22:41:28 3970941238
ребзя, у меня какая-то херня, захотел сделать элементаруню штуку сделать 103 стмка + экранчик, и вот иничу массив для пикселей на ~1000 байт(uint16_t). Перед этим в кубе выделил норм размер кучи/стека. И вот почему-то в определенных участках(примерно от 300 элемента до 500 байтов) какая-та хуйня, мусором забито(в других участках все по нулям), и пытаясь взаимодействовать с этими элементами появляется HardFault.
Ну изначально там(в скачанной либе) юзался мемсет на весь массив, после которого сразу hardfault уходило. Потом уже тупо циклом я попытался пройтись, где на каком-то элементе такая же херня происходит. Хз, что делать, помогите
Аноним 02/01/20 Чтв 15:51:27 3971321239
здесь все мои друзья, поэтому спрошу.
в этой строке
(unsigned long)(0x40023830) |= 0x8;
нахера нужны вторые скобки? и без них компилируется. Нахера нужна вторая звездочка?
Аноним 02/01/20 Чтв 15:52:21 3971331240
х(unsigned longх)(0x40023830) |= 0x8;
ебаная макака. сожрала звездочки. я х туда поставил
Аноним 02/01/20 Чтв 16:50:36 3971391241
>>397133
Ты приводишь к типу указателя на лонг, потом производишь логическое или с данными по адресу
Аноним 02/01/20 Чтв 16:52:18 3971401242
>>397139
З.ы. (unsigned longх)скорее всего нинужен
Аноним 02/01/20 Чтв 17:06:18 3971411243
>>397139
короче надо просто принять это
>>397140
нужон, без него не компилируется
Аноним 02/01/20 Чтв 17:11:20 3971421244
>>397141
>нужон
Ну да, это же число, конпелятор хз какой ты там тип имел ввиду вот и кастуй.
Аноним 02/01/20 Чтв 17:14:41 3971431245
>>397141
>короче надо просто принять это
х((unsigned long х)0x40023830) |= 0x8;
Воттаквот скорее будет привильней записать
Аноним 02/01/20 Чтв 17:24:18 3971461246
>>397143
так тоже компилируется
Аноним 03/01/20 Птн 17:29:02 3972711247
Clang с сабжем кто-то использовал?
Аноним 04/01/20 Суб 03:14:51 3973421248
Хочу поковырять ентот ваш стм32. Можно ли брать f103c8t6 самое популярное предложение на алике сейчас +st-link для ознакомления, или лучше не жмотиться, и взять чего по-дороже? Задач, кроме посмотреть из любопытства, никаких нет.
Аноним 04/01/20 Суб 09:31:06 3973581249
>>397342
>Можно ли брать f103c8t6 самое популярное предложение на алике сейчас +st-link
Можно
Аноним 07/01/20 Втр 12:41:42 3977831250
двощ, как прошить вообще голый новый проц стм32? каков порядок действий?
Аноним 07/01/20 Втр 13:16:44 3977851251
>>397783
В смысле не припаянный вообще ни к чему? По ряду причин такое обычно не целесообразно.
Программируется либо через JTAG или SWD, либо через бутлоадер. Для первого варианта потребуется ST-Link или какой-нибудь другой -Link. Для второго варианта в зависимости от микроконтроллера, более старые и те что попроще можно через переходник USB-UART, а в тех что поновее есть DFU бутлоадер, с которым достаточно воткнуть микроконтроллер напрямую в USB.
Аноним 07/01/20 Втр 13:22:22 3977861252
15742200468190.png 2465Кб, 946x1080
946x1080
Аноним 12/01/20 Вск 14:27:29 3984761253
register.jpg 198Кб, 834x689
834x689
двощ, почему у трех регистров самых верхних в таблице одинаковый оффсет? как считать их адреса?
Аноним 12/01/20 Вск 14:35:40 3984791254
>>398476
Референс мануал не открывал
Тут нет ошибки. У регистра хххх_MODER адрес(смещение) 0х00.
Тут показывают что порты А и В особенные из-за JTAG-а и у них отличающиеся начальные значения в регистрах MODER.
Конкретно адреса начала блоков регистров под конкретный банк регистров ищи выше в размеле memory map.
Аноним 12/01/20 Вск 15:03:07 3984921255
15787737910800.jpg 128Кб, 1080x1350
1080x1350
Аноним 14/01/20 Втр 15:55:49 3987641256
двощ, почему, чисто теоретически, может не работать кусок кода, заключенный в цикл for? там вывод в порт через odr. без цикла фор высирается в порт, с ним - нет.
Аноним 14/01/20 Втр 16:00:34 3987651257
>>398764
Проебаная точка с запятой или присвоение вместо сравнения
Аноним 14/01/20 Втр 16:33:26 3987681258
while(1){ for(j=256; j==32768; j=j2){
((unsigned long)0x40021814)=0xffff;
вот этот кусок. в таком виде он в порт единицы не пишет. а в таком

while(1){ /
for(j=256; j==32768; j=j2)/{
((unsigned long)0x40021814)=0xffff;
пишет. чо хуйня, двощ?
Аноним 14/01/20 Втр 16:33:55 3987691259
блядь я в ахуе. сраная макака.
Аноним 14/01/20 Втр 16:42:21 3987711260
while(1){for(j=256; j==32768; j=j2){((unsigned long*)0x40021814)=0xffff;}}
Аноним 14/01/20 Втр 16:42:59 3987721261
с закоменченым циклом выводит 1 в порт, иначе - нет
Аноним 14/01/20 Втр 17:01:31 3987781262
>>398768
Да сходу не вникая в бред - это твой косяк в "j=j2".
Условие изменения задай нормальные, хотя бы j++ и посмотри что будет.
Аноним 15/01/20 Срд 12:27:01 3988581263
>>398778
нене, хуйня. с "нормальными" типа j=0; j>8; j++ тоже не работает. а в приведенном выше говнокоде макака сожрала знак умножения между j и 2. я там хочу последовательно ноги перебирать.
Аноним 15/01/20 Срд 12:27:44 3988591264
>>398858
с while тоже не работает, кста
Аноним 15/01/20 Срд 12:36:32 3988601265
>>398858
Может перестанешь упарываться?
>типа j=0; j>8; j++
Что у тебя на первом шаге? j=0. "0>8" ? Нет, цикл окончен, пошел нахуй.
Аноним 15/01/20 Срд 12:38:06 3988621266
>>398860
ой блять. тупанул. пойду проверять. спасибо мил человек!
Аноним 15/01/20 Срд 13:16:58 3988681267
govnokod.jpg 70Кб, 722x378
722x378
не, двощ, ты не прав
пикрелейтед не работает, на всех ногах единицы тупо. предельное значение переменных менял до миллионов - тупо 1 на всех ногах (все диоды горят)
Аноним 15/01/20 Срд 13:18:47 3988691268
>>398868
с двумя плюсами тож не работает
Аноним 15/01/20 Срд 13:25:08 3988701269
>>398868
Блятьпиздос. Где ты был, когда весь класс циклы учил? Хуи сосал?
На, вот, просвещайся, https://prog-cpp.ru/c-cycles/
Аноним 15/01/20 Срд 13:32:28 3988721270
>>398870
вот хуле ты такой грубый? тут пустые циклы гоняются ради задержек между подачей 0 и 1 на ноги порта. в чем косяк?
Аноним 15/01/20 Срд 13:36:47 3988761271
>>398872
Стрелку разверни. ">" замени на "<" и перестань задавать тупые вопросы.
Аноним 15/01/20 Срд 13:47:51 3988781272
govnokod.jpg 79Кб, 687x378
687x378
>>398876
оно и со стрелками во всех направлениях и бес стрелок с == не работает. хотя у меня есть подозрение что частота слишком высокая. потому что при заливке прошивки индикаторы горят ярче чем при работе программы. думал что компилятор оптимизирует пустые циклы и пробовал их нагружать - нихуя. если закомментить выделенный кусок говногода - индикаторы горят ярче.

Аноним 15/01/20 Срд 13:48:53 3988791273
это законно вообще?
Аноним 15/01/20 Срд 13:55:40 3988811274
если никто ничего не подскажет - придется осциллограф распаковать
Аноним 15/01/20 Срд 13:56:39 3988821275
>>398878
>>398878
Вообще ебануться. Цикл в цикле, где у верхнего цикла переполнение переменной при сравнении будет...
Похуй на переполнение, сам прочти что за хуйню написал:
Для каждого i от нуля ебашить (содержие цикла), до .. сука, счетчик переполнилняется и никогда не достигнет нужного значения.
Содержимое цикла - бесконечное увеличение а, которое как и i будет каждые 4м проходов переполняться.
Верни старый вариант >>398868, стрелки "<" и допиши volatile перед объявлением i j.
Аноним 15/01/20 Срд 14:01:11 3988851276
govnokod.jpg 75Кб, 689x380
689x380
крч заработало. но именно с <=. не стрелка и не == а именно <=.
переполнение - фигня, с малым конечным значением переменных тоже не работало. volatile уже давно пробовал - тоже не помогло.
Аноним 15/01/20 Срд 14:02:06 3988861277
с пустыми циклами тоже работает, без а и б
Аноним 15/01/20 Срд 14:02:22 3988871278
Это законно вообще?
Аноним 15/01/20 Срд 14:03:46 3988881279
а не будет переполняться, ведь оно к нулю приравнивается периодически, не?
Аноним 15/01/20 Срд 14:05:13 3988891280
понял в чем косяк. при сравнении цикл не работает, надо стрелки.
Аноним 15/01/20 Срд 14:05:51 3988901281
Двощ образовательный и здесь все мои друзья :3
Аноним 15/01/20 Срд 14:09:01 3988911282
c < тоже работает. чёт трава забористая была
Аноним 15/01/20 Срд 14:09:41 3988921283
>>398885
>но именно с <=. не стрелка и не == а именно <=.
Хорош пиздеть. Разницу увидишь? А если глазки протереть и получше?
#include "stdio.h"
int main (void) {
int i;
for (i = 0; i<5; i++)
printf ("%d ",i);
printf ("\n");
for (i = 0; i<=5; i++)
printf ("%d ",i);
printf ("\n"); }

gcc48 test.c -o test
./test
0 1 2 3 4
0 1 2 3 4 5
Аноним 15/01/20 Срд 14:14:09 3988941284
>>398885
Что за говнокод? У тебя IDE при попытке написать
GPIOG->ODR |= 0x000055AA; вываливается в ошибку? Что за ебаная магия с адресами?
Аноним 15/01/20 Срд 15:48:24 3989171285
>>398894
а в чем принципиальное отличие? магия с адресами имхо понятнее
Аноним 15/01/20 Срд 15:49:19 3989181286
>>398917
да и вроде всякие хедеры подключать надо
Аноним 16/01/20 Чтв 21:57:10 3990861287
кто-нибудь обрабатывал кнопки по короткому и по длительному нажатию? Можете в двух словах объяснить алгоритм?
у меня кнопки могут выполнять разные действия по разному нажатию, хз как организовать это граммотно

Аноним 21/01/20 Втр 02:15:57 3996831288
image.png 295Кб, 776x584
776x584
image.png 251Кб, 1005x557
1005x557
Посоны, подскажите, пожалуйста как проги называются, в которых подобные схемы рисуют? В шараге учили компас и сплан, но там выглядит совсем по колхозному, хочу чертить как на пикриле
Аноним 21/01/20 Втр 02:57:37 3996871289
Аноним 21/01/20 Втр 06:06:14 3997001290
>>399683
Первая на Altium похожа, он платный и только под вину, но, вроде как навороченный.
Вторая - KiCad, бесплатный, открытый и кроссплатформенный. Говорят, что в последние годы прогресс у него идёт семимильными шагами и на него очень много народу переходит, особенно в среде открытого железа.
Думаю в будущем на него перейти, а сейчас использую DipTrace, у него есть бесплатная версия на 1000 пинов и 4 слоя для СНГ. А ещё в DipTrace есть некоторые фичи, сочетания которых больше нет нигде, и которые сильно облегчают реверс-инжиниринг железа.
Аноним 21/01/20 Втр 06:22:16 3997021291
>>399700
> А ещё в DipTrace есть некоторые фичи, сочетания которых больше нет нигде, и которые сильно облегчают реверс-инжиниринг железа.
Например?
Аноним 21/01/20 Втр 12:30:12 3997331292
Аноним 21/01/20 Втр 14:28:14 3997481293
>>399702
Ну, может, насчёт "нигде" и неправда, но в опровобанных мной не было либо возможности подложить картинку и подогнать её в нужный размер без ебли, либо нетлист не модифицируется при проведении дорожек, либо нельзя однной командой убрать все дорожки, оставив соединения в нетлисте, чтобы компоненты были соединены только ретлайнами.
Аноним 21/01/20 Втр 15:34:05 3997611294
>>387460
А что у него с сайтом? Писал комментарий и чот всем наплевать. Там на втором уроке сразу какая-то дичь с регистром.
http://narodstream.ru/stm-urok-2-begushhie-ogni/
Он записывает число 0x55000000 включая пины 12,13,14,15, а на картинке отмечены пины 4, 5, 6, 7. Я полчаса тупил почему у меня число 0х5500 получилось.
Аноним 21/01/20 Втр 16:17:57 3997741295
Дратути. Нюфаня в треде. Подскажите, насколько полезный профит можно извелчь от просмотраданной серии видеофайлов, чтобы вкатиться чуть дальше, чем помигать светодиодом и копировать готовые прошивки?

О себе: бородат, могу в айти, с МК на "Вы". Спасибо.

https://www.youtube.com/watch?v=finP05FFTv8

и

https://www.youtube.com/watch?v=qiSjLxeyNv4
Аноним 22/01/20 Срд 14:53:40 3999361296
двощ, как работать с прерываниями без использования cmsis? вот есть вектор прерывания (адрес). как связать его с обработчиком прерывания?
Аноним 22/01/20 Срд 14:56:09 3999381297
>>399936
вангую что надо использовать указатель на функцию но как?
Аноним 22/01/20 Срд 16:21:05 3999461298
>>399938
Что то вроде:
segment byte at 8080 'rom'
isr_no:
...
iret
Аноним 22/01/20 Срд 16:47:49 3999491299
>>399946
>>399938

Нужно открыть стартам файл на асме, там будут weak символы для ай-эс-ар. Вот их определяешь и радуешься
Аноним 22/01/20 Срд 20:25:30 3999781300
>>399936
При чем тут вообще cmsis? Стартап ты взял из cmsis или как? Стартап, с таблицей векторов прерываний в любом случае должен быть. Странный у тебя вопрос. Программа вообще начинает выполняться практически с такого же прерывания, как и все остальные. Т.е. в функцию main оно попадает из ресет хандлера, адрес которого должен лежать в таблице в начале флешки вместе с другими векторами прерываний.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/BABIFJFG.html
Аноним 23/01/20 Чтв 21:01:49 4001571301
Аноны, стоит у меня задача резво запилить на stm32f401c-disco управление ПЗС линейкой TCD1304. В теме не рублю совсем. Просмотрел на ютьюбе дядю в красной кепке, сделал по его инструкциям управление двухстрочным дисплеем. Понял что к изначальной цели приблизился слабо. Что читать/смотреть что бы быстрее реализовать проект? алсо нашел подобное на нуклео https://hackaday.io/project/9829-linear-ccd-module но я на столько в этом тупой что даже готовый их нуклео-код понять не в силах
Аноним 23/01/20 Чтв 22:17:40 4001691302
>>400157
>понять не в силах
Ничего, весной у тебя целый год для понимания возникнет. Кекус.
Аноним 23/01/20 Чтв 22:19:26 4001701303
>>400169
Почему возникнет?
Аноним 23/01/20 Чтв 22:26:26 4001711304
>>400170
>Почему возникнет?
Сессию завалишь и дяди из военкомата тебе объяснят.
Аноним 23/01/20 Чтв 22:27:46 4001721305
>>400171
бро, все еще хуже. Я препод и мне надо это студентам показать готовое, не спрашивай почему.
Аноним 24/01/20 Птн 02:17:01 4001971306
Аноним 24/01/20 Птн 07:28:23 4002241307
Аноним 25/01/20 Суб 23:16:33 4004241308
>>399774
>с МК на "Вы"
Я смотрел начало этих лекций, он годно стелит, но для совсем новичка слишком подзаморочено, для начала я советую мелкие вводные курсы (тот же дихальт)
+ практику, а теорию подбирать когда будешь упираться в что то.

- Цель
- Нахождение путей реализации
- Изучение пути
- Реализация

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

Короче, просто бери и делай, то, что тебе хочется.
Аноним 28/01/20 Втр 21:00:44 4007761309
>>400424
> Короче, просто бери и делай, то, что тебе хочется.
Тупо без задней мысли?
Аноним 31/01/20 Птн 03:10:41 4009761310
Зацените господа, как этот немного волнующийся битард, годно поясняет за самые-самые основы STM32. Хочу отметить исключительную подробность разжевывания поясняемых тем.
https://www.youtube.com/playlist?list=PLhtMaaf_npBzsEQ94eGn5RnuE-VdGVObR
31/01/20 Птн 10:57:11 4009961311
>>400976
Репорт. Пиарь свой канал в другом месте.
Аноним 31/01/20 Птн 14:25:22 4010131312
>>400976
Эдгар жирнюйщий лайк!
31/01/20 Птн 19:48:16 4010371313
Аноним 31/01/20 Птн 19:52:44 4010381314
31/01/20 Птн 20:22:41 4010461315
Аноним 31/01/20 Птн 21:08:21 4010531316
>>401046
Обтек тебе за щеку, проверяй
Аноним 02/02/20 Вск 21:01:58 4012261317
s.jpg 219Кб, 900x900
900x900
Недавно получил с али странную плату "blue pill". Вот такая была фотография товара у продавца, собственно с такой же маркировкой и получил. Читается IDCODE 0x2BA01477, при том что должно быть 0x1BA01477 вроде как.
Что за ерунда? Китайцы скопировали STM32F103C8T6 со всей периферией?
Аноним 02/02/20 Вск 22:12:29 4012321318
>>401226
>Китайцы скопировали
Давно уже
Аноним 03/02/20 Пнд 19:46:36 4013231319
Аноним 03/02/20 Пнд 21:21:11 4013321320
>>401323
Уже нашел по коду, весьма похоже на это. Теперь вопрос только в том что с этим делать, они ведь похоже не содрали топологию, а сделали какой-то аналог. Наверное в мусорку.
Аноним 03/02/20 Пнд 21:37:45 4013371321
>>401323
>CS32F103C8T6
Ещё GD32 может быть.
>>401332
Насколько я знаю, GD очень даже годный, у него флеш вроде как в два раза быстрее оригинала, фирма, которая их делает, самостоятельно разработала технологию быстрой флеш-памяти и их основная продукция - это чипы памяти.
Насчёт CS не знаю.
Аноним 03/02/20 Пнд 22:14:35 4013401322
>>401337
>Ещё GD32 может быть.
Не похоже. В GD32F10x User Manual написано, что
>The BSD JTAG IDCODE is 0x790007A3.

>Насколько я знаю, GD очень даже годный
Все равно нет смысла их использовать.
Аноним 03/02/20 Пнд 23:03:58 4013481323
>>401340
>Все равно нет смысла их использовать.
В продакшене - понятно. А в махарайках - чому нет?
Аноним 08/02/20 Суб 22:47:49 4018651324
>>339005 (OP)
Хочу писать на ассемблере под PIC и 8051 КАК ДИДЫ!! А все конторки и фирмы предлагают только писать на С/С++ под модные зумерские STM и AVR. Что делать?
Аноним 08/02/20 Суб 23:17:15 4018681325
>>401865
Открой свою конторку и пиши под 8051
Аноним 09/02/20 Вск 03:17:11 4018851326
>>339005 (OP)
Анон, у меня бида-бида.
На nucleo-f446re в stlink был зашит jlink, я захотел его откатить обратно на stlink.
Запустил сеггеровский stm32reflash, выбрал restore stlink, и в процессе прошивки комп ребутнулся.
Теперь в диспетчере устройств виден stlink, но не st utility, ни stm32reflash к нему подключиться не могут, чтоб накатить целую прошивку. Суля по работающему usb, бутлоадер жив же?
Как ему восстановить прошивку? Подпаиваться к swdck/swdio и шить дамп?
Есть какие-нибудь другие способы?
Аноним 09/02/20 Вск 04:18:08 4018911327
that-feel-when-[...].jpg 38Кб, 644x730
644x730
>>401865
>8051 КАК ДИДЫ!!
Ох уж эти интеломаньки с маленьким концом.
Аноним 09/02/20 Вск 05:00:54 4018921328
13409320.jpg 58Кб, 600x600
600x600
>>401891
Это жертвы маркетинга с органическим поражением головного мозга.
До 6502 и 68hcxx c пиздатым BDM им как до луны раком
Аноним 09/02/20 Вск 06:40:22 4018931329
>>401865
Пиши на ассемблере под зумерские STM, что тебе мешает?
Аноним 09/02/20 Вск 06:57:08 4018941330
>>401893
>под зумерские STM
Какие конкретно? Их много разных. Есть 8-ми, 16-ти, 32-ти битные.
Аноним 09/02/20 Вск 08:08:35 4018991331
>>401894
Да под любые. Или ты просто попиздеть зашёл и не собираешься ассемблерить?
Аноним 09/02/20 Вск 10:12:38 4019031332
>>401891
I8051 уже как пару десятилетий не производится.
Я имел ввиду архитектуру 8051 (MCS-51), микроконтроллеры на основе которой до сих пор тысячами выпускают всякие Silicon Lab, Atmel, NXP, Texas Instuments и т.д.
Аноним 09/02/20 Вск 10:16:19 4019051333
>>401893
Система команд. В RISC процессорах она искаропки заточена под Си, а на CISC удобно писать на ассемблере.
Аноним 09/02/20 Вск 10:16:43 4019061334
>>401868
>Открой свою конторку
На это нужно много бабок.
Аноним 09/02/20 Вск 10:20:00 4019081335
>>401892
>6502
Он уже не производится.
К тому же, это микропроцессор, а не микроконтроллер.
Аноним 09/02/20 Вск 10:30:02 4019111336
>>401899
Это другой анон за меня ответил.
Собираюсь. Последний раз ассемблерил 8051 и AVR на лабах в вузе, и долго не мог бросить, пока препод не заставил перейти на Си. Сейчас на работе мне хватает Си, я довольно быстро справляюсь с заданиями. Но вот коллеги-диды пишут на асме и говорят, что (познать кунг-фу) познать устройство микроконтроллеров и использовать их на все 100 можно только на асме, вот и мне захотелось этому научиться.
Аноним 09/02/20 Вск 15:14:07 4019531337
>>401903
Да я просто прикалываюсь, пародируя манеру общения в /hw. Если уже не можем писАть как диды, то хоть посрёмся, как диды.
>>401911
>познать устройство микроконтроллеров
А оно тебе так надо?
>использовать их на все 100 можно только на асме
Да нет, на сишечке то же самое всё. Она, по сути, и есть ассемблер, только машинонезависимый и без необходимости изобретать свою инфраструктуру для различных низкоуровневых идиом, типа функций или циклов. Если ты имеешь в виду, что на асме можно писать программы так, чтобы они с точностью до такта что-то делали, то да, это вполне применение для асма, но такое редко требуется.
Аноним 09/02/20 Вск 16:28:59 4019861338
>>401885
Победил.
Снял джамперы на cn2, и оно определилось обновлялкой.
Аноним 09/02/20 Вск 21:56:46 4020171339
>>401986
Держи нас в курсе
Аноним 10/02/20 Пнд 10:18:08 4020481340
>>401953
>А оно тебе так надо?
Это необходимо, если хочешь стать настоящим специалистом(я хочу). А зачем? Чтобы получать чуть больше бабок, чем в каком-нибудь нии на окладе. Если погуглить требования на хедхантере на эту профессию - там пишут "знание архитектур MISP, AVR, STM, 8051". Что под этим подразумевается? Очевидно же, знание устройства микроконтроллера и особенности ассемблера. К тому же мне нужно будет и в плис вкатываться и там это пригодится.
Аноним 10/02/20 Пнд 21:13:52 4021131341
Может и глупый вопрос, но почему никто не производит плат с STM32WB?
А то если хочешь подключить Wi-Fi к своему поделию, то приходится брать ESP.
Аноним 10/02/20 Пнд 22:17:48 4021251342
Аноним 10/02/20 Пнд 22:23:41 4021261343
>>402125
Угу, ещё есть официальная NUCLEO.
Но хотелось бы чего-нибудь такого же бюджетного от китайцев, как esp32.
Аноним 11/02/20 Втр 07:15:37 4021611344
>>402126
>бюджетного от китайцев, как esp32
Ты цену голого чипа видел? Как оно может быть ценой как есп?
Аноним 11/02/20 Втр 14:46:34 4022181345
>>402161
STM32WB55CCU6 стоит 3.3 евро при заказе от 500+ штук
Аноним 11/02/20 Втр 14:51:33 4022201346
>>402218
>3.3 евро
>250р чип + печатка, обвес, экран, работа за рис, небо и Аллах.
Да даже у китайцы себестоимость будет 500р+. Нихуя не потягается с копеечной есп-шкой.
Аноним 11/02/20 Втр 15:02:49 4022211347
>>402220
Ну а если без экрана?
Как blue pill: только чип, два кварца. два светодиода и раъем microusb
Аноним 11/02/20 Втр 17:32:09 4022451348
>>402218
>STM32WB55CCU6
Нихуя не WiFi!! Это в основном BLE-чип с элементами эротики ZigBee.
Аноним 11/02/20 Втр 20:37:44 4022731349
>>402245
А ведь действительно, почему-то казалось, что у них есть WiFi.
Получается, что у ST совсем нет никаких аналогов ESP? Чтобы и с Bluetooth, и с WiFi было.
Аноним 11/02/20 Втр 23:30:16 4022931350
>>398868
На хуй ты макроопределениями не пользуешься?
Аноним 12/02/20 Срд 07:33:44 4023181351
Аноним 12/02/20 Срд 08:09:52 4023241352
820473a3531466d[...].jpg 15Кб, 300x300
300x300
Аноним 12/02/20 Срд 09:52:51 4023341353
image.png 309Кб, 376x309
376x309
Аноним 12/02/20 Срд 09:55:24 4023361354
>>398917

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

Если твою простейшую функцию из 5 строк, не возможно понять без комментариев - говно этот способ.
Аноним 15/02/20 Суб 08:18:56 4027161355
425354205575475[...].png 1127Кб, 895x1500
895x1500
Есть один мк на Кортексе М4 и древняя отладка с J-Link на борту.
Какого-то хера не могу подключиться к камню: жи-линк пишет Couldn't connect to device.

Как вытащить с жи-линка более развёрнутый лог, чтобы понять что именно ему не нравится?

Или куда копать, чтобы нарыть причину отказа в коннекте?

Схему перепроверил. Камень припаян хорошо.
Аноним 15/02/20 Суб 16:11:53 4028391356
>>402336
Кста, а есть вообще большие проекты целиком на асме?
Аноним 15/02/20 Суб 17:40:20 4028501357
image.png 573Кб, 661x298
661x298
Аноним 15/02/20 Суб 17:41:12 4028511358
>>402839
И да, исходники на асме гораздо понятнее того высера выше. Там макро во всю используются.
Аноним 15/02/20 Суб 19:38:26 4028731359
>>402839
>а есть вообще большие проекты целиком на асме?
Какая-то операционка, насколько помню, на АСМе писана.
ПС. Даже джве: KolibriOS und BareMetal x64(!), весом 16 кБ
Аноним 16/02/20 Вск 11:07:41 4029051360
>>401905
Может и заточена, но писать на ассемблере система команд кортексов не мешает. Только не нужно на ассемблере ничего такого писать, только потому что так хочется.
Аноним 16/02/20 Вск 15:28:18 4029351361
Сап радач. Имею желание вкатиться в STM. Насколько я понимаю лучше всего для начала подойдет отладочная плата, на которой уже имеется программатор и переходник USB-UART. Вроде как подойдет плата NUCLEO. Собственно вопрос: Какую из этих плат лучше выбрать, чтобы иметь минимум проблем в будущем? Или хотя бы на что обращать внимание при покупке? Плата нужна пока для обучения, буду пробовать работать с различной периферией, подключать дисплеи и тд. Стоимость не критична. Заранее спасибо
Аноним 16/02/20 Вск 15:51:13 4029381362
>>402935
>на которой уже имеется программатор
Это без разницы. Хотя отдельный удобнее, проще с разными микроконтроллерами (разных производителей) использовать один и тот же.
>переходник USB-UART
Ну такое себе требование. Ничего не мешает подключить отдельно, если потребуется.

Так что blue pill вполне достаточно, но можно и самостоятельно припаять микроконтроллер к макетке.
>буду пробовать работать с различной периферией, подключать дисплеи и тд.
Либо выбирай плату по наличию этих дисплеев и всего такого, а не программаторов-отладчиков и USB-UART.
Аноним 16/02/20 Вск 16:06:53 4029391363
>>402938
Понятно, а с какого тогда контроллера лучше начинать? (blue pill посмотрел, там STM32F103C8T6, он подходит?)
Просто хотелось взять контроллер, с которого проще всего было бы перейти на другой STM, уже под конкретные задачи в будущем
Аноним 16/02/20 Вск 16:26:54 4029431364
>>402935
>работать с различной периферией, подключать дисплеи и тд.
Я себе взял STM32F429I-DISCO. Гора периферии: гиро, память, USB, EEPROM и хуевенький дисплей с тачскрином. Правда я пока дальше ШИМа и чтения сырых данных с гироскопа, нихуя с ней не делал. Раз 500 уже порывался жестко засесть и все никак вот.
Аноним 16/02/20 Вск 16:45:36 4029491365
>>402939
>с какого тогда контроллера лучше начинать?
Если возникает такой вопрос, то с того, у которого более простая периферия.
>STM32F103C8T6, он подходит?
Вполне подходит, в нем есть проблемы с I2C и вообще errata длинная, но не всем же нужен I2C, тем более для того чтобы только вкатиться.
Аноним 17/02/20 Пнд 17:34:02 4030311366
Как прочитать IDCODE, у меня в 0xE0042000 какая-то финя, а не 0x1BA01477. В качестве программатора использую BMP.
Аноним 17/02/20 Пнд 21:36:43 4030451367
изображение.png 37Кб, 1074x174
1074x174
>>403031
Отбой. Поправил исходники BMP, лол. Интересно, почему они не сделали вывод этой инфы.
что такое PIDR?
Аноним 18/02/20 Втр 00:46:19 4030531368
>>403045
>что такое PIDR?
Это когда мужчина с мужчиной сексом трахаются
Аноним 18/02/20 Втр 17:59:30 4030971369
изображение.png 11Кб, 1025x129
1025x129
>>403053
Я про этих ребят.
Аноним 18/02/20 Втр 18:57:02 4031161370
>>403053
Это Port Input Data Register, RTFM.
Аноним 18/02/20 Втр 19:35:19 4031241371
pidr.png 15Кб, 1047x128
1047x128
Аноним 19/02/20 Срд 22:40:02 4032531372
>>339005 (OP)
>Какую среду разработки лучше использовать?

Пиши в любом редакторе кода, компилируй Meson

Всё остальное это костыли красиво замаскированные
Аноним 19/02/20 Срд 22:42:37 4032541373
1541573472-a09d[...].jpeg 91Кб, 700x933
700x933

Подскажите ОПЕНСОРСНУЮ гуёвую библиотеку чтобы рисовать окошки и кнопки на маленьком тачскрине?
Аноним 20/02/20 Чтв 07:21:00 4032771374
>>403254
>ОПЕНСОРСНУЮ
Сам и напиши. Чем StemWin und TouchGFX не угодил?
Аноним 21/02/20 Птн 13:10:52 4034211375
>>403253
>Meson
Для асма можно заюзать?
Аноним 21/02/20 Птн 21:49:34 4035021376
timers1.png 60Кб, 960x560
960x560
Аноним 21/02/20 Птн 22:05:10 4035051377
15822334489520.jpg 45Кб, 1280x720
1280x720
>>403502
Чё? Таймер? Дженерик стафф же. Рид зэ f мануал
Аноним 21/02/20 Птн 22:06:47 4035061378
>>403505
>Рид зэ f мануал
Да я вот рид-рид унд крыша потекла
Аноним 21/02/20 Птн 22:33:37 4035131379
15779968148510.webm 202Кб, 1920x1080, 00:00:01
1920x1080
>>403506
Переходи к другим компонентам, потом вернёшься. Или найди другую мурзилку с описанием таймеров
Аноним 22/02/20 Суб 10:54:41 4035741380
>>403502
Ты не пытайся сразу вникнуть в весь функционал. Делай по немного.
1) настроил таймер. щелкает? Заебись
2) настроил прерывание по переполнению. Прерывается? Заебись
3) сделал самодельную шимку. Переключается? Заебись
4) настроил аппаратную шимку. Ну ты понял короче.
Сразу все функции понять тяжело.

Аноним 22/02/20 Суб 12:56:18 4035951381
>>403505
Не он прав. У ST (не только STM32) таймеры в край ебанутые, они сами по себе тянуть на даташит как к отдельной микре.
Аноним 01/03/20 Вск 15:58:12 4045291382
Annotation 2020[...].png 105Кб, 1920x1037
1920x1037
Гайсы, не исполняется ебаный код. В отладке t1 всегда стоит на нуле, код не исполняется до той строчки куда я поставил курсор.
Использую Keil uVision5, чип STM32F042F6P6, через STM32 ST-LINK Utility чип читается нормально. Пробовал 3 разных платы на этом чипе, один хуй не работает (платы хуярил сам через easyEDA, до этого на stm32f103 хуярил платы, они работали)
Копать в сторону софта или разводки платы?
Аноним 01/03/20 Вск 16:08:55 4045361383
>>404529
Проверь волатильность и оптимизацию компилятора.
Аноним 01/03/20 Вск 17:03:48 4045471384
>>404536
с этим все ок, оптимизация установлена на 0
Аноним 01/03/20 Вск 17:06:35 4045481385
>>404547
ну и кстати, практически такой же код, с таким же компилятором, с такими же настройками компилятора, выполняется и работает на stm32f103cbt6
Аноним 01/03/20 Вск 17:17:41 4045491386
>>404529
>код не исполняется до той строчки куда я поставил курсор.
А что должно исполниться между main() и HAL_Init()?
Аноним 01/03/20 Вск 17:23:40 4045501387
11.png 4Кб, 254x76
254x76
>>404549
ну должен же выполнится HAL_Init() ?
по крайней мере на другой плате так и происходит
Аноним 01/03/20 Вск 18:26:56 4045571388
>>404550
А ты там хидеры ХАЛовские не забыл подключить?
Аноним 01/03/20 Вск 19:08:33 4045631389
Annotation 2020[...].png 131Кб, 1920x1004
1920x1004
Annotation 2020[...].png 104Кб, 1920x1037
1920x1037
>>404557
та нет, проект собирал через stm32cubeMX, он же сам все собирает.
Создал тестовый проект, токо с включенными пинами для внешнего тактирования (хотя по clock configuration тактирование я сделал через внутренний кварц) и с пинами для стлинка, ну и для светодиода, в итоге все равно нихуя не пашет.
Может ли быть такое шо чипы левые? Или разводка платы кривая? заказывал чипы с алика, попробовал уже 3 штуки, нихуя не пашет.
Аноним 01/03/20 Вск 19:26:51 4045671390
042.PNG 25Кб, 902x303
902x303
>>404563
>Или разводка платы кривая?
Хуй его знает. Попробуй залить код с ХАЛовских примеров для этого чипа.
<--Например
Аноним 01/03/20 Вск 19:57:10 4045791391
Annotation 2020[...].png 140Кб, 1920x1061
1920x1061
>>404567
не, все равно та же хуйня, походу я где-то проебался с разводкой платы. Или же чипы поддельная хуета
Аноним 01/03/20 Вск 20:16:10 4045911392
>>404579
>я где-то проебался с разводкой платы
Но прошивка заливается? Посмотрел схему Nucleo с 042К камнем, там и ошибиться негде. Я раз ебся c STM8S003, там есть вывод с конденсатором и по даташиту кондер должен быть что-то вроде от 1 до 4мкф. Я въебенил первый попавшийся на 1мкф и предсказуемо соснул. Заработала ента хуета только когда прилудил 2.2мкф. Но у твоего камня такой хуйни нет.
Аноним 01/03/20 Вск 20:22:45 4045921393
>>404579
>чипы поддельная хуета
Нахуя их то покупать на Али? Они и у нас стоят копейки. И шанс нарваться на подъебку меньше на порядок
Аноним 01/03/20 Вск 20:57:38 4046031394
>>404591
>Но прошивка заливается? Посмотрел схему Nucleo с 042К камнем, там и ошибиться негде
Так вот реально, хуй его знает. Прошивка заливается, через ST-Link utility чип опрашивается, все ок, но нихуя при этом не работает.
>>404592
>Нахуя их то покупать на Али? Они и у нас стоят копейки. И шанс нарваться на подъебку меньше на порядок
Ну хуй знает, я всегда брал чипы на Али, все было ок, главное шоб у продавана были норм отзывы. А тут такая хуйня.
Аноним 01/03/20 Вск 21:40:05 4046081395
>>404603
Короче хуй его знает че произошло, но в итоге все платы начали работать и мигают светодиодом. Но отладка один хуй не работает, хоть код и исполняется (светодиод мигает) но в отладке t1 стоит на нуле, run to cursor line тоже не работает, ебаные приколы какие-то.
Аноним 01/03/20 Вск 21:43:28 4046091396
>>404608
>Но отладка один хуй не работает
Может у тебя Keil кривой? Или погромматор?
Аноним 01/03/20 Вск 21:45:50 4046111397
>>404609
та вроде нет, из чипов под рукой есть токо stm32f103cbt6, и stm32f407vet6, у них все ок с отладкой, и переменные читаются, и память.
Аноним 05/03/20 Чтв 23:22:24 4051271398
15407441830440.png 1786Кб, 1500x600
1500x600
Аноним 06/03/20 Птн 01:06:38 4051301399
Аноним 08/03/20 Вск 18:43:56 4054571400
Annotation 2020[...].png 22Кб, 646x278
646x278
Аноны, в чем может быть подвох, FreeRTOS выполняет задачу (DefaultTask, дефолтная хуйня настроенная через куб) всего один раз, и дальше нихуя, просто крутит while.
Ебусь с этой блядской дрысней весь день, то в hardfault выпадала из-за либы на дисплей, то между задачами не переключалась.
Аноним 08/03/20 Вск 18:59:25 4054621401
>>405457
Или хуйню несешь или проверяй настройки lwip. Сам напарывался и лечилось уменьшением размера кеша или еще чего связанного с занимаемой памятью во вкладке lwip.
Аноним 08/03/20 Вск 19:10:08 4054631402
>>405462
Ебать, анон, спасибо. Действительно дело было в lwip, оффнул ее нахуй и задачи нормально выполняются, придется с памятью разбираться.
Аноним 13/03/20 Птн 15:35:08 4061131403
изображение.png 32Кб, 956x316
956x316
изображение.png 51Кб, 475x651
475x651
изображение.png 13Кб, 271x459
271x459
изображение.png 11Кб, 397x392
397x392
Привет Анон.

STM32F107, распаял на плату (свою), пытаюсь запустить, но не выходит.
Подключаю к JLINK по SWD, подаю питание на плату. Вне зависимости от напрежения на NRST, потребление регулярно скачет от 0 до 0.02А, а JLINK немного думает и ничего не находит. Если плата без питания, жлинк сразу видит что ничего нет. По осциллографу вижу, что JLINK что-то отправляет (периодические короткие импульсы на TMS и TCK).
Boot0 и TCK подтянуты к земле через 10К, TDO и TMS подтянуты к 3.3V так же через 10K.

Референс, при аналогичном подключении, видится.

Подскажите в чем может быть проблема и куда копать?
Аноним 13/03/20 Птн 17:00:16 4061181404
>>406113
Это твоя схема? Больше инфы, включая фото пациента, герберы, как и от чего питаешь. У тебя точно JLink? Что он говорит в строке VCC Target, которое питает его буферы?
Аноним 13/03/20 Птн 17:41:38 4061221405
изображение.png 10039Кб, 3264x1836
3264x1836
изображение.png 10426Кб, 3264x1836
3264x1836
изображение.png 161Кб, 743x617
743x617
изображение.png 155Кб, 738x611
738x611
>>406118
Моя. Сейчас гуглил, написано что нужно добавить тантал на 10мкФ - добавил, не помогло.
Герберы итд неудобно же будет с картинки читать. Или как ты его выложить предлагаешь?
VCC Target это в J-Link Utility, или где?
Питаю от стабилизатора 3.3, к нему же подключается VRef Жлинка. У меня древний J-Linkn из IAR-кита, пользуюсь тем что нашёл, но в общем то на таком же МК в EVAL-плате работает.
Аноним 13/03/20 Птн 18:15:20 4061241406
изображение.png 36Кб, 581x684
581x684
>>406118
Цепь стабилизации 3.3, если имеет значение.
На приложеных скринах, по сути всё, что сейчас распаяно на плату.
Аноним 13/03/20 Птн 18:22:14 4061251407
>>406122
Визуально ничего стремного не нашел как и явных отклонений. Не сразу нашел где переходное питания на широкую петляющую дорогу. Могу только попросить проверить напряжение на каждом конденсаторе (на самом) а потом относительно одной точки (входной разъем питания) и на каждом выводе конденсатора. Может где разрыв земли или питания?

Сам кристалл новый или снял откуда? Может стартует программа, которая отключает возможность отладки? Попробуй еще вывод RESET подключить.

В папке куда устанавливался софт от segger есть файл jlink.exe , который в консольном окошке пишет (часть вывода убрана):
Firmware: J-Link Ultra Rev.1 compiled Dec 3 2013 14:27:53
VTarget = 4.821V <- что тут у тебя пишется?
Info: TotalIRLen = ?, IRPrint = 0x..000000000000000000000000
Info: TotalIRLen = ?, IRPrint = 0x..000000000000000000000000
No devices found on JTAG chain. Trying to find device on SWD.
Info: Found SWD-DP with ID 0x0BB11477
Info: Found Cortex-M0 r0p0, Little endian.
Аноним 13/03/20 Птн 18:34:02 4061261408
>>406122
Еще попробуй 77 ногу (JTAG_TDI) через резистор на землю посадить.
Аноним 13/03/20 Птн 18:38:44 4061271409
>>406126
Жопой читаю. К питанию (+3.3), а не к земле.
Аноним 13/03/20 Птн 18:55:56 4061291410
>>406122
Лол. А чего ты и монтаж сразу не заказал. Макетирование для слюнтяев?
Аноним 13/03/20 Птн 19:49:46 4061361411
изображение.png 37Кб, 914x703
914x703
>>406125
Промерял напряжения по твоему совету, везде симметрично. Земли звонятся, ни единого разрыва.
Контроллер новый.
Подключил Reset, подтянул TDI к 3.3 - результат один (аттачед).
>>406129
Ты, конечно, можешь иронизировать, но это и есть, сорт оф, макет. Или прототип, если так угодно. Я пытался сделать более "универсальный" макет, где у каждой ноги есть своё VIA (чтобы удобно было паяться), но понял, что получается хуита, которая, к тому же, не заработает (и это будет не поправить в рамках макета). Так как мне всё равно пришлось бы заказывать изготовление, я решил не ебать мозг, и сделать "один раз, но хорошо" Утрирую, конечно. Понимал что будут косяки и придётся переделывать, но пока ничего непоправимого не вижу.
А так да, макетирование охуенно.
Аноним 13/03/20 Птн 20:22:58 4061441412
>>406136
На последок покажи детально кабель которым подключаешься.
Питание как организовано? С внешнего БП подаешь 5В?
Странно все. По питанию говоришь косяков нет, по схеме косяков не видно. Если сумел подпаяться к 77 выводу - значит уже можешь добавить 1 проводок и подключиться по JTAG-у вместо SWD. Если и это не катит - попробуй на PB2(BOOT1) подать 0, на BOOT0 - 1 и через утилитку Flash Loader Demonstrator попробовать достучаться через UART до загрузчика через выводы A9 и A10 через. Если и это не поможет - тогда не знаю, наверное замена кристалла на точно рабочий/из проверенных источников.
Аноним 14/03/20 Суб 09:38:08 4061791413
>>406144
Питание от ЛБП, провод медный многожильный, относительно толстый.
Знакомый так же посоветовал попробовать подтянуть Boot0 к питанию.
Обрати внимание, пожалуйста, на то как установлен чип >>406122
Правильно или я не угадал, где у микросхемы ключ?
Ещё грешу на флюс. С ним у меня уже возникали проблемы.
Аноним 14/03/20 Суб 10:29:15 4061821414
>>406179
>где у микросхемы ключ?
Возле ST
Аноним 14/03/20 Суб 10:31:53 4061831415
>>406179
>Правильно или я не угадал, где у микросхемы ключ?
Это была вторая мысль, но заглянув в даташит и соотнеся маркировку и положение ключа - верно поставлен.
страница 84 https://www.st.com/resource/en/datasheet/stm32f107vc.pdf
Аноним 14/03/20 Суб 18:40:04 4062461416
парни я вот это
хочу тоже вкотиться в stm32
блю пиллсы мне пришли а программатор
потерялся по дороге я дешевый брал
ст линк китайский. деньги отдали конечно
я вот думаю а не замахнуться ли мне сразу
на программатор v2 как мыльница который?
им вроде и стм 8 можно шить
или нахуй? пока простой свисток пойдет?
или сразу v3 но там цена...
Аноним 14/03/20 Суб 20:16:03 4062571417
>>406246
Разницу между мыльницей v2 и свистком v2 ты не заметишь.
V3mini есть за 1.5к, но зачем? Ты ведь не собираешься двухядерные h7 отлаживать?
Если синих таблеток у тебя две и есть usb-uart, можешь одну из них прошить в st-link или blackmagic probe.
Аноним 14/03/20 Суб 21:22:04 4062691418
>>406257
бро я пробовал так через ардуину
ее reset замкнул с массой
не захотела моя пилюля так щиться
хотя некстион дисплей щьется
то есть сам юсб-ттл рабочий
rx и tx менять местами пробовал конечно
Аноним 14/03/20 Суб 23:50:42 4062871419
>>406269
Джамперы boot0 и boot1 выставлял как положено?
Ну и можт 5вольт ардуины не понравились трехвольтовой пилюле.
Аноним 15/03/20 Вск 06:02:29 4063071420
023BFA2E-36B2-4[...].jpeg 212Кб, 1224x736
1224x736
>>406287
Джамперы остались стоять как я и пробовал прошивать (фото). Rx и Tx были ардуиновские, сегодня по новой попробую, поставлю резисторы 390 Ом (подсмотрел номинал на ESP8266 schematic). Питание брал с пина 3.3 На ардуинке, сегодня запитаю от отдельной платки китайской которая умеет 5 и 3.3 вольт.
Аноним 15/03/20 Вск 12:05:06 4063201421
5C28CE22-CC24-4[...].jpeg 201Кб, 850x694
850x694
16BA03F9-2457-4[...].jpeg 248Кб, 2048x1152
2048x1152
60C72A2D-0216-4[...].jpeg 396Кб, 2048x1152
2048x1152
7EFFAF27-BA1D-4[...].jpeg 358Кб, 2048x1152
2048x1152
>>406307
Не получается((. Полдня сегодня бился с прошанием Blue Pill (перешивка ее в ST Link программатор). Пробовал и в Linux, там тоже печально. На Blue Pill постоянно мигает светодиод PC13. Гаснет только при нажатой кнопке Reset. Положения джамперов boot0, boot1 на него никак не влияют. Ответа от платы нет при прошивке. В среде Ардуино тоже нет ответа. Куда копать не знаю. Сама Ардуинка, которая используется как USB-TTL шьется штатно, проверил еще раз. Буду заказывать ST link и USB-ТTL до кучи.
Аноним 20/03/20 Птн 00:04:57 4068251422
>>402048
>Очевидно же, знание устройства микроконтроллера и особенности ассемблера.
Это скорее про особенности пайплайнов, стэков и особенностей архитектуры. Ассемблер для этого конечно неплохо знать, но не обязательно на нем кодить.
Да и под ПЛИСы сейчас код тоже на высокоуровневых языках пишется - тот же VHDL и даже C и C++
Аноним 20/03/20 Птн 00:24:30 4068261423
image.png 2831Кб, 1600x998
1600x998
>>339005 (OP)
Сап, аноны, хочу заебенить себе W-mouse, но на STM а не пердуине (ну а хуле и нет, да и дешевле так). Из вариантов мозгов рассматривал STM32F730R8 - типа ебать он мощный дохуя, но вот с другой стороны, а нужна ли мне такая йоба?
Ну или взять попроще какой-нибудь STM32F103C8T6.

Но в электронике я мало что понимаю, я так понимаю если я возьму один только чип - то мне придется делать к нему отдельно обвязку (разве что знаю что нужно будет ставить регулятор напряжения чтобы понижать с 5 до 3.3 вольт). А всякие кристаллы-осцилляторы, какие-то дополнительные конденсаторы и резисторы мне нужно будет ставить на плату? А то так некоторые готовые платы посмотришь, и там дохуя всего стоит, вот как здесь >>339689

И еще, из программатора у меня есть только C232HM, мне нужно будет какой-то другой покупать, или можно будет и им прошить?
Аноним 20/03/20 Птн 01:16:38 4068321424
Аноним 20/03/20 Птн 02:04:06 4068361425
>>406832
Я не хочу брать с готовой обвязкой, потому что я хочу запиливать плату специально под мышь. Для того чтобы просто поиграться у меня и так уже есть готовая ESP32. Но мне нужно знать какая обвязка мне нужна будет на плате.

>Но где ты возьмёшь прошивку под стм?
Если ты про W-mouse, то просто перепилю регистры с ардуиновских на стмовские, может ещё чего поправлю и перекомпилирую. Или там ещё какие-то прошивки есть на СТМ, которые загружать нужно? Вот как сам СТМ изначально прошивать по одному только 232 я не знаю.
Аноним 20/03/20 Птн 08:21:16 4068451426
>>406836
У стм принципиально иная архитектура, так не прокатит
Аноним 20/03/20 Птн 08:58:24 4068491427
>>406832
>Но где ты возьмёшь прошивку под стм?
Найду в интернете. Удивительно, бумер?
Аноним 20/03/20 Птн 09:03:39 4068511428
>>406849
А с тобой никто не разговаривает, ты всех достал уже
Аноним 20/03/20 Птн 12:44:44 4068651429
>>406845
>У стм принципиально иная архитектура, так не прокатит

Что не прокатит? Алгоритмы которые написаны на С от другой архитектуры не поменяются, а поменять всякие инициализации и считывания пинов - это вопрос изучения мана.
Аноним 20/03/20 Птн 13:16:00 4068661430
изображение.png 3065Кб, 2500x1407
2500x1407
>>406849
>Удивительно, бумер?
Дневную дозу тайд-пода захавал? Не забудь, это важно
Аноним 20/03/20 Птн 15:10:46 4068871431
>>406826
>W-mouse
Что за зверь?
Аноним 20/03/20 Птн 15:32:05 4068951432
Аноним 23/03/20 Пнд 17:48:30 4073171433
>>339689
>> STM32CubeMX + Keil + STMStudio
Сейчас stm32cubeIDE заменяет cubeMX и кейл? Что актуально счас?
Аноним 24/03/20 Втр 12:11:59 4074101434
изображение.png 7Кб, 253x285
253x285
Сап анон.
Для чего нужен режим GPIO_Analog в кубе?
Я думал, что это АЦП, но он идёт отдельным режимом, и есть не на всех пинах. А этот режим есть на всех пинах.
Что это, и как с этим работать?
Аноним 24/03/20 Втр 12:20:25 4074131435
image.png 54Кб, 839x379
839x379
Аноним 24/03/20 Втр 12:22:25 4074141436
>>407410
>режим GPIO_Analog в кубе?
DAC ты как выводить собрался? ШИМом?
Аноним 24/03/20 Втр 12:28:43 4074151437
>>407414
Я искал, но ясного ответа о том, только для DAC'а нужен этот режим или нет - не нагуглил.
>>407413
Тоже не добавляет ясности.
МК серии stm32f10x, если что.
Аноним 24/03/20 Втр 14:19:06 4074331438
>>407415
это режим работы ноги, когда от нее отключены все выходные буферы
Аноним 24/03/20 Втр 14:33:05 4074361439
изображение.png 25Кб, 664x391
664x391
>>407433
Отлично. А куда она дальше идёт?
Аноним 24/03/20 Втр 14:42:16 4074391440
Аноним 24/03/20 Втр 14:56:19 4074451441
изображение.png 16Кб, 416x210
416x210
>>407439
А если нет на пине АЦП?
Для PB0 и PB1, например, доступен АЦП, и доступен выбор "GPIO_Analog". У PB2 доступен только "GPIO_Analog". Какую функцию у него, например, реализует "GPIO_Analog", учитывая что альтернативные функции для него не доступны?
Аноним 24/03/20 Втр 15:24:37 4074551442
>>407445
просто висящий в воздухе пин. Если я правильно помню, это дефолтное состояние для не-jtag-овых пинов
Аноним 24/03/20 Втр 15:47:35 4074581443
>>407455
А на кой тогда он доступен для всех пинов? В том числе в кубе.
Просто ради совместимости кода?
Алсо, я проверил, на жтаг пианх он тоже доступен.
Аноним 24/03/20 Втр 18:56:48 4075091444
>>407458
Думаю, чтобы можно было тупо отключить неиспользуемую ногу от всего и не париться.
Если висящую в воздухе ногу сделать входом - она ловит пердёж и помехи, входной буфер быстро переключается и жрет ток, выходом - может замкнуть, если подключена к выходу/питанию, входом с подтяжкой - в предыдущем случае будет небольшой дополнительный ток.

Кстати, кто работал с пикрелейтед дисплеями (1602, 5110) - подскажите, какую библиотеку лучше всего использовать для текста настраиваемого размера с кириллицей?
Аноним 24/03/20 Втр 18:57:31 4075111445
158829665150618[...].jpg 227Кб, 960x960
960x960
-21281171739613[...].jpg 138Кб, 960x770
960x770
Аноним 25/03/20 Срд 13:15:57 4075871446
Аноним 25/03/20 Срд 13:26:20 4075891447
1585131975612.jpg 7Кб, 236x236
236x236
Пиздец посолены, объясните мне, покажите хоть одну либу с поддержкой ебучего OTM8009A.
Настроил дисплей через FSMC, могу пиксели рисовать, а ебаться с отрисовкой не хочу. Хочу библиотеку GUI чтобы красиво было. Поставил Segger EmWin — говно не работает, какой только драйвер не выбери. Не знаю где ошибка, всё инициализируется нормально.
Может есть другие либы хорошие, где не надо руками пиксели трахать?
Смотрю сейчас всякие uGUI, littlegv, понять не могу. С какими либами вы работаете? Йоба TouchGFX не предлагайте, в моём проекте только Stm32F205 есть, заказчик менять компоненты не собирается, плата уже готовая и не факт, что просто замена дисплея поможет.
Аноним 25/03/20 Срд 15:25:13 4076081448
>>407589
здесь тебе не фронтэнд, чтобы на каждый чих была готовая либа. Адаптируй, пиши сам
Аноним 25/03/20 Срд 15:28:13 4076091449
>>407458
вот эти восемь состояний >>407413 доступны для всех пинов, ибо никто не будет подгонять выходы под наличие конкретной периферии.
На джтагах он доступен, но сразу после перезагрузки там по-моему инпут с подтяжкой вверх, когда на других аналог инпут
Аноним 25/03/20 Срд 15:32:54 4076101450
>>407608
Теперь понятно почему весь тред байтоёбов, плюющихся на куб.
Аноним 25/03/20 Срд 16:21:39 4076151451
>>407589
>Segger EmWin — говно не работает, какой только драйвер не выбери
Свой пиши или с параллельным интерфейсом ставь
Аноним 25/03/20 Срд 16:33:45 4076191452
>>407615
Накатил LittlevGL и все работает. Писать ничего не нужно практически, считай как qt можно интерфейсы писать. Жаль только билдера нету.
Аноним 27/03/20 Птн 14:09:59 4078431453
изображение.png 18Кб, 660x643
660x643
изображение.png 8Кб, 627x179
627x179
изображение.png 16Кб, 977x346
977x346
И снова здравствуйте, аноны.
Пытаюсь настроить встроенный АЦП в интересующем режиме, но почему-то результат выходит не рабочий.
Камушек STM32F107.
Следуя гайдам из интернетов, выбрал параметры в кьюбе, и там где у людей всё работает, у меня - залупа.
Прикрепленные скрины - настройки ADC и DMA в кьюбе.

Запускаю АЦП командой, HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buf, ADC_BUF_LEN) больше ничего не дописываю.
В обработчик DMA прихожу всего 2 раза, и всего 1 раз прихожу в коллбэк HAL_ADC_ConvCpltCallback().
Первый байт указанного буфера, единожды устанавливается в какую-то рандомную величину, остальной буфер - нули.
Пробовал настроить без континьюс мода, по таймеру (TIM3_Out, так в итоге и собираюсь использовать), но там вообще, какая-то хуита - буфер всегда пустой, прерывания на DMA никогда не приходят.

При всём описанном - в режиме "ручного опроса" АЦП работает на последнем скрине видно, что DR не пустой, занчение в DR меняется. Алсо само значение DR какое-то рандомное, пока не подключу его к земле или питанию вручную - тогда показывает 0 или 0xFFFFF соответственно.
Аноним 28/03/20 Суб 22:31:02 4080221454
>>407843
Чекни настройки NVIC (векторов прерываний), может ты прерывание по АЦП не включил.
Еще посмотри как это всё работает на других контроллерах, из других серий. Все примеры по АЦП можешь найти в репозиториях куба. Наиболее богатая примерами линейка — f400, топай от дискавери.
Аноним 28/03/20 Суб 22:34:57 4080241455
>>407843
>Камушек STM32F107
Ты таки запустил свою макетку?
Аноним 29/03/20 Вск 02:28:07 4080331456
>>403421
>Для асма можно заюзать?
Теоретически

Там слишком много трансляторов чтобы на данный момент они могли их добавить, как я понимаю. Хотя если в gcc встроен твой асм то взлетит скорее всего.
Аноним 30/03/20 Пнд 12:27:55 4081521457
>>408024
Да няш, запустил. 2 недели по эту пятницу с ней игрался, радовался, а потом, похоже, случайно сжег. В целом не смертельно, есть второй комплект на всё что мог сжечь, но сейчас карантин, так что пока не починю/проверю. Буду пока писать на отладке.
>>408022
Ну в мануалах не пишут что нужно врубать прерывание по АЦП. В STM-воском мануале к HAL-у написана рекомендация, поставить в прерывание DMA обработчик для АЦП, я пробовал - не помогает.
По поводу других серий - в F4 отличаются АЦП немного, в F1 для моего юзкейса примера нет.
Странно, что я делаю всё как в гайдах для F103, по описанию - АЦП у нас одинаковые, но всё равно, получаю какую-то херню.
Очень странная фигня.
Аноним 01/04/20 Срд 06:21:19 4083111458
>>408152
Пили прохладную - что было? Как запустил?
Аноним 01/04/20 Срд 15:58:17 4083481459
>>408311
Да хуй его знает, что это было. Валю на флюс.
Искал кого-нибудь знакомого с УЗ-ванной, но все меня послали нахуй, предложив использовать дегризер. Дегризера у меня не было, но был очиститель карбюратора. После него всё заработало.
Аноним 03/04/20 Птн 13:47:12 4086951460
15803357551910.png 523Кб, 936x936
936x936
Приветик, анчоусы~
По необходимости в скором времени придется перекатиться с STM32 на STM8 и вот возник вопрос. Если кто-то работал с этим, может подскажите хороший компилятор и следовательно IDE? Уже попробовал IAR Embedded workbench и слегка поел говна. Компилятор ужасный. Си преобразует в ASM ужасно. А при включенных оптимизациях часть кода вообще не работает/работает не так как надо. В общем, помойка говна.

Что-нибудь посоветуете, няши? С меня кусь~
Аноним 03/04/20 Птн 17:55:00 4087631461
>>408695
родной компилятор ужасный, а из сторонних только sdcc, сыровато допиленный под stm8. Это бич всей линейки, ничего не поделать
Аноним 03/04/20 Птн 18:22:51 4087691462
>>408763
>родной компилятор ужасный
Я с ентими вашими компиляторами на ВЫ, просто помалу типа погроммирую и кампилирую. Вроде работает все. Поясни в чем ужасность родного с космиком в качестве компилятора?
Аноним 04/04/20 Суб 09:39:29 4088851463
IMG201911150909[...].jpg 84Кб, 972x1280
972x1280
>>408763
Ну вот я тоже сразу приглядывался к SDCC Попробую а результат отпишу
>>408769
Грубо говоря, у тебя компилятор преобразует твой исходный код в исполняемый файл. Который ты можешь посмотреть через дебаггер. Так вот. По сравнению с ассемблер ом, код на си более абстрактен и может быть преобразован разными способами. С учётом оптимизацией, опять же. Компилятор - это программа. И некоторые компиляторы преобразуют исходники в исполняемый лучше, а некоторые хуже. Иаровский компилятор делает это убого. Когда обращение к регистру может быть выполнено 1 инструкцией на ассемблере, он это обращение представляет как 4 команды с call-ом внутри. То есть, штампует больше кода чем нужно. От этого код на си работает медленнее и занимает больше памяти
Аноним 04/04/20 Суб 11:38:09 4088861464
>>408885
А компилятор от Cosmic чем плох?
Аноним 04/04/20 Суб 12:09:39 4088931465
>>408886
Не знаю, не пробовал. Просто слышал что SDCC лучше
Аноним 04/04/20 Суб 13:17:54 4089011466
>>408886
версия языка там древновата
Аноним 06/04/20 Пнд 17:48:04 4092881467
>>408901
>древновата
Так и 8-битки тоже нихуя не новшество. Сдается мне, что их скоро и выпускать перестанут.
Аноним 07/04/20 Втр 00:56:23 4094331468
1586210162741.png 22Кб, 899x497
899x497
1586210162860.png 8Кб, 1020x229
1020x229
>>408152
Смотри мои настройки для измерения АЦП по ДМА. Весит на этой штуке 8 датчиков.
Все что мне нужно, чтобы запустить бесконечный цикл измерения по всем каналам сразу это HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_sensors, 8);
Больше никаких настроек не нужно. Работает искоропки как часы. Прерывания по АЦП и ДМА каналу включены.
Аноним 07/04/20 Втр 20:55:03 4096551469
14305060457620.jpg 30Кб, 456x469
456x469
Делюсь своими впечатлениями от использования БЕШПЛАТНО-ШВОБОДНОГО sdcc. Все началось с того, что я не нашел нормальной IDE. Их просто нет. Напомню, что eclipse нормальной IDE считаться не может.

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

Но на этом я не остановился. Скачав сам по себе компилятор и написав make-файл я попытался скомпилировать код. Как можете понять, ничего не вышло.

Поддержки божественных макросов вроде #pragma vector для прерываний, __interrupt, #pragma location наряду с __no_init для простого доступа к EEPROM-у и многого-многого другого. Этот компилятор в принципе не предназначен для STM8. Мне даже не удалось найти нормальный готовый хидер-файл для проекта. В сети есть лишь недописанный кусок хидера с ошибками от какого-то васька. В общем-то, охуенные впечатления остались. Боже благослави ШВОБОДНОЕ по
Аноним 08/04/20 Срд 08:23:03 4096871470
>>409655
>Боже благослави ШВОБОДНОЕ по
Меня больше прикалывает когда в тред населенный нубами на 146% врывается тип ПОЗНАВШИЙ ЖИЗНЬ и начинает затирать про линух на его машине, сборку окружения из сорцев, написание make-файлов... Хочется просто харкнуть в еблище.
Аноним 08/04/20 Срд 14:45:18 4098021471
image.png 615Кб, 710x400
710x400
>>409655
>Этот компилятор в принципе не предназначен для STM8.
А зачем ты его взял, если можно было погуглить и почитать, что он умеет и решить, пойдёт ли он для твоих задач или нет?
Аноним 08/04/20 Срд 14:52:16 4098081472
>>339005 (OP)
>отладочной платы.
Отладочные платы - это путь ардуино-детей.
Нормальные люди сами разводят себе платы под нужные цели.
Аноним 08/04/20 Срд 14:53:45 4098091473
>>406825
>ПЛИСы
>C и C++
Каво?
Аноним 08/04/20 Срд 16:03:10 4098201474
>>409808
>Нормальные люди сами разводят себе платы под нужные цели.
Вот же ебанат. Я развожу когда код и аппаратную часть отлажу на ОТЛАДОЧНОЙ ПЛАТЕ. Если ты готов лутить/ждать от китайцы месяцами плату после каждого косяка, а они у тебя будут с вероятностью 101%, то флаг тебе в руки.
Аноним 08/04/20 Срд 16:38:14 4098241475
>>409808
За сколько наносекунд разведешь тян на сиськи и спаяешь на коленке платку расширения под PCI-e слот с парой трансиверов 40G Ethernet, легкая FPGA на полмиллиона LE, пару ЦАП-АЦП на пару гигасемплов, аналоговую часть под них, массив NAND и DDR3 памяти и незабыв про SSRAM мегабита на 72 и например рядом несколько работающих по себе i.mx8 у которых так же своя DDR3, NAND и NOR память? Ой, совсем забыл еще Ethernet свич дописать.
По частям это есть, одним куском - нету. Не выебывайся, а ответь конкретно - за сколько наносекунд соберешь себе такую макетку в единичном экземпляре? Разведешь все это с первого раза включая DDR3 и SERDES на десяток гигабит по каждой паре? А то мне завтра курсовик сдавать надо, а еще нихуя нет.
Дай угадаю - твой уровень - мигалка светодиодом или мигалка на мультивибраторе? Похвально. А теперь пиздуй обратно в свой загон-пердуино тред.
stm32f103c8t6 Аноним 09/04/20 Чтв 11:14:18 4100031476
image.png 74Кб, 1125x826
1125x826
image.png 56Кб, 533x546
533x546
image.png 7Кб, 406x187
406x187
NewFile0.png 4Кб, 320x234
320x234
1,333 МГц хули так мало получается?
Аноним 09/04/20 Чтв 11:35:27 4100041477
>>410003
Ты бы вообще одну строчку кода прикрепил, чтобы понятнее было.
Аноним 09/04/20 Чтв 11:39:58 4100051478
>>410003
Дохуя умный? Думаешь этот высер HAL-а дает одну команду?
Хуй там. Если основательно ебанешься - пиши на ассемблере команды записи в регистр BSSR (bit ser reset register) и глядишь в 4 команду уложиться - установить, nop, сбросить, переход в начало.
Используй выход таймера
Аноним 09/04/20 Чтв 11:42:14 4100061479
А что там показывать? Пустой проект сгенерированный кубом. Там только настройка тактирования и двух пинов порта C и B на выход ну и дерганья пином в цикле.
Аноним 09/04/20 Чтв 11:42:58 4100081480
Аноним 09/04/20 Чтв 12:04:06 4100101481
image.png 7Кб, 373x172
373x172
NewFile1.png 5Кб, 320x234
320x234
Аноним 09/04/20 Чтв 12:05:11 4100121482
>>410006
>проект сгенерированный кубом
Как ты постоянно пробираешься из ардуино-треда, сука?
Аноним 09/04/20 Чтв 12:12:17 4100131483
>>410012
А чем тебе куб не угодил? Или ты из ЭТИХ?
Аноним 09/04/20 Чтв 12:18:02 4100141484
>>410012
Ты любитель вот так дрочить на адреса >>398885
Аноним 09/04/20 Чтв 12:19:46 4100151485
>>410010
>мало
Ёбу дал? Правильно сделал что хал в помойку и перешел на CMSIS. В 6 раз поднял скорость!
Сказал же - используй таймер если надо быстро надрачивать или рассказывай нахуя тебе такая (нужную не назвал)скорость.
Почитай https://habr.com/ru/post/161617/ . Некоторые то же думают что ох сейчас раскочегарим.. и сосут хуй в итоге.
Аноним 09/04/20 Чтв 15:43:11 4101051486
IMG202004091528[...].jpg 776Кб, 2048x1152
2048x1152
IMG202004091537[...].jpg 740Кб, 2048x1152
2048x1152
>>410015
>В 6 раз поднял скорость!
Внатуре в 6 раз повышается
Аноним 09/04/20 Чтв 18:03:58 4101521487
Аноним 09/04/20 Чтв 18:15:03 4101551488
>>410152
Попробовал, как писал Анон выше, разницу в ногодрыге между HAL_GPIO_Toggle и прямой записью в регистр. Тоже частота увеличилась в 6 раз
Аноним 09/04/20 Чтв 18:18:11 4101581489
NewFile2.png 5Кб, 320x234
320x234
>>410155
Прикинь я тоже так могу.

Кому ты пиздишь мальчик? Включил master clock output и радуется.
Аноним 09/04/20 Чтв 18:18:55 4101591490
>>410155
Давай код до и после
Аноним 09/04/20 Чтв 18:32:57 4101631491
>>410158
>master clock output и радуется
Дурашка, у меня просто 429zit с 90МГц на шине
Аноним 09/04/20 Чтв 18:34:24 4101651492
>>410159
>Давай
Да так же как и у анона выше: HAL_Toggle до и GPIOE->BSRR после
Аноним 09/04/20 Чтв 18:38:47 4101671493
>>410163
Давай фото 36 МГц с амплитудой сигнала.
429zit это STM32F429?
Аноним 09/04/20 Чтв 18:51:04 4101681494
IMG202004091848[...].jpg 1359Кб, 3277x1844
3277x1844
Аноним 09/04/20 Чтв 18:59:42 4101701495
>>410168
100% MCO
Маленькая амплитуда
Аноним 09/04/20 Чтв 19:12:53 4101711496
IMG202004091910[...].jpg 723Кб, 1152x2048
1152x2048
GPIO.PNG 27Кб, 1012x414
1012x414
GPIOE.PNG 18Кб, 775x312
775x312
MCO.PNG 24Кб, 589x439
589x439
>>410170
Ты заебал. МСО на пине РА8 если чо.
Аноним 09/04/20 Чтв 19:22:42 4101741497
>>410171
А херли тогда у меня так мало?
Аноним 09/04/20 Чтв 19:30:18 4101751498
>>410174
>так мало?
Max out speed - very hight поставил?
Аноним 09/04/20 Чтв 19:30:52 4101761499
>>410175
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
?
Аноним 09/04/20 Чтв 19:50:29 4101781500
>>410176

GPIO_InitStruct.Pin = GPIO_PIN_12;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
Аноним 09/04/20 Чтв 19:53:30 4101791501
Аноним 09/04/20 Чтв 19:56:39 4101801502
image.png 64Кб, 1521x475
1521x475
Аноним 09/04/20 Чтв 19:59:26 4101811503
>>410179
Ну, тады не знаю чего у тебя так медленно.
Аноним 10/04/20 Птн 05:37:24 4102321504
>>410181
Покурил даташиты. У 103 серии
I/Os on APB2 with up to 18 MHz toggling speed.
У 429
Fast I/O handling allowing maximum I/O toggling up to 90 MHz
То есть теоретически и у тебя и у меня есть еще куда расти
Аноним 11/04/20 Суб 07:45:37 4106451505
>>409808
Двачую, нужна была небольшая плата для прототипа на stm32f4, за три дня нарисовал, развел, вытравил и припаял.
>>409824
Именно в таких случаях отладки сильно выручают.
Если разработка не для курсача, потом несколько месяцев делать свою плату со всем этим добром.
Речь о том, что Дискавери в шапке очень проста, и во многих случаях проще и дешевле сразу сделать плату для прототипа с нужной обвязкой, чем специально покупать оверпрайснутые платы расширения или делать колхоз на макетке. Конечно, есть и исключения, когда обвязки мало/нет, совсем нет времени и есть всё готовое, или для обучения.
>>409809
Nios
>>410232
Возьмите лучше таймер
Аноним 24/04/20 Птн 23:24:21 4129631506
изображение.png 2049Кб, 1280x1294
1280x1294
изображение.png 25Кб, 786x583
786x583
Всем ку. Есть одна bluepill. Я пытаюсь подключить к ней по I2c плату с mpu6050. Пытаюсь сделать через прерывания, но получается какая-то залупа. Вот код обработчика прерывания Эвента:

void I2C2_EV_IRQHandler(void)
{
/ USER CODE BEGIN I2C2_EV_IRQn 0 /
uint32_t sr1=I2C2->SR1;
uint32_t sr2=I2C2->SR2;
if (sr1 & I2C_SR1_SB)
{
I2C2->DR = ((0x68<<1)|rw);
}
if (sr1 & I2C_SR1_ADDR)
{
if (!rw)
{
I2C2->DR = i2cTx;
}
}
if (sr1 & I2C_SR1_TXE & (!rw))
{
I2C2->CR1 |= I2C_CR1_START;
rw=1;
}
if (sr1 & I2C_SR1_RXNE & rw)
{
rw=0;
buff[0]=I2C2->DR;
I2C2->CR1 |= I2C_CR1_STOP;
uartTransmit(buff, 1);
}
}

Смысол в том, что мне надо передать последовательность, описанную вторым скриншотом.

На пикреле отладка осциллографом. Вопросы такие:

1) Почему первый ACK такой всратый? Я имею в виду непонятную иголку, которой теоретически быть не должно.
2) Что за затык в 1 пустой такт после первого ACK?
3) Почему после второго ACK контроллер затыкается, тактирование останавливается и он тупо прижимает SCL к нулю пока я не ребутну контроллер? (Прижимает именно stm32, а не mpu6050).
Аноним 24/04/20 Птн 23:33:15 4129661507
>>412963
Есть подозрение, что МК ожидает байт для передачи и поэтому останавливает тактирование, пока я не дам ему байт. Но я не хочу давать байт, как ему объяснить что все, не надо больше передавать?
Аноним 25/04/20 Суб 00:09:09 4129711508
>>412966
>>412963
Б Л Я Д Ь !
Как же всё просто то оказывается. Всё, теперь я разобрался сам.
Аноним 25/04/20 Суб 06:06:43 4129831509
>>412971
>Всё, теперь я разобрался сам.
Так расскажи другим.
Аноним 25/04/20 Суб 06:25:11 4129841510
>>412971
Не совсем понятно про rw - это глобальная переменная? Инициализируешь явно или надежда на cumпилятор и еге инициализацию переменной 0?

sr1 & I2C_SR1_TXE & (!rw) - мутно.
То что пишешь - верно, но это для случая когда с буферизацией пишешь. Тебе же надо выслать один байт и ловить его окончание передачи через флаг BTF! После установки флага BTF (когда байт уже реально передался) тогда давай команду на повторный старт.

Читаешь 1 байт? Тебе картинка 277 на странице 764:
EV6_3: ADDR = 1, program ACK = 0, clear ADDR by reading SR1 register followed by reading SR2 register, program
STOP =1 just after ADDR is cleared

sr1 & I2C_SR1_ADDR - этот участок надо переписать. Тебе при чтении надо сразу подготовиться к тому что ты НЕ будешь подтверждать прочитанный байт(EV6_3) со слейва, говоря что больше не будешь читать.

Осциллограмма - это хорошо, только маленький недочет - значение бита считывается по восходящему фронту, а не нисходящему как нарисовано.
Аноним 25/04/20 Суб 06:34:36 4129851511
>>412963
>Я имею в виду непонятную иголку, которой теоретически быть не должно.
Тебе не похуй? Данные читаются по восходящему фронту, то что между фронтами - поебать. Сам включи логику - мастер высрал 8 бит адреса и освобождает шину, от чего SDA уходит в 1 и дальше уже слейв если уснал себя - прижмет к 0, если нет - то на свободной шине так и останется 1. Никакой магии и глюков тут нет, разве что слейс не особо быстрый. Не совсем. Можно напороться на состояния СТАРТ и СТОП

>Что за затык в 1 пустой такт после первого ACK?
Затыка нет, неправильно фронты считаешь.

>тактирование останавливается и он тупо прижимает SCL к нулю
Он сделал что надо и ждет от тебя данных, но у тебя флаг BTF не проверяется и в теории "виснет" на строке (sr1 & I2C_SR1_TXE & (!rw)) которая уже никогда не выполнится и у тебя бесконечный заход в прерывание, так как контроллер не в состоянии выдать сигнал (повторный)старт во время передачи байта.
Аноним 25/04/20 Суб 10:43:32 4129981512
>>412983
Весь прикол в том, что старт или стоп команду нужно передавать ДО того, как передался или принялся последний байт, а не после. Тогда все корректно выполнится.
Аноним 25/04/20 Суб 10:46:31 4129991513
>>412985
>Затыка нет, неправильно фронты считаешь.
Есть, приглядись внимательно. Там SDA = 0 на возрастающем фронте SCL, хотя должно быть 1. Впрочем похуй, на работу оно не влияет.
Аноним 26/04/20 Вск 11:13:27 4131031514
объясните, что за чудище этот ваш errata и где его искать? везде пишут "читай errata, читай errata", а где его найти хуй кто напишет
Аноним 26/04/20 Вск 11:19:04 4131041515
Аноним 27/04/20 Пнд 22:26:07 4135381516
Короче ебал я, так и не смог по-нормальному запустить аппаратный i2c, забил хуй на это говно и за пол дня написал функции чтения и записи на ногодрыге. Вроде работает без проблем, хоть и всрато по сути своей и тайминги не точные.
Аноним 28/04/20 Втр 07:49:33 4135811517
>>413538
Еррату выше читал? Меня больше всего заебывал BUSY на пустом месте. Остальные баги описаны и обходные решения.
Аноним 28/04/20 Втр 08:16:32 4135881518
>>413581
Читал, но не очень понял.
У меня флаг txe выскакивает без причин
Аноним 28/04/20 Втр 08:46:02 4135941519
>>413588
Напиши говнокод - может кто-то проверит или я на днях на bluepill прогоню например на термодатчике LM75.
TxE: Data register empty (transmitters)
- Set when DR is empty in transmission. TxE is not set during address phase
- Cleared by software writing to the DR register or by hardware after a start or a stop condition or when PE=0.
Пишут что очищается стартом или стопом, во время отсылки адреса неактивен (0). Как вариант все что связано с TXE - делай после проверки бита MSL в I2C_SR2 - когда мастер, тогда и спамишь
Аноним 28/04/20 Втр 09:48:45 4135971520
>>413594
Да в пизду. Мне уже не охота в этих дебрях копаться. Пусть работает программно.
Аноним 28/04/20 Втр 09:51:38 4135991521
>>413594
Кстати, написано После старт или стоп кондишна. А он занимает некоторое время. Вот за это время флаг может выскочить сотню раз
Аноним 28/04/20 Втр 10:03:51 4136011522
>>413599
Напиши "логгер" - не пожлобись например на килобайт ОЗУ куда будешь писать SR1+SR2 на каждом входе в прерывание и поставь брякпоит например на 450 записей или сколько хочешь и смотри как флаги седут себя. Отладка - это же творческий процесс. Когда-то так дебажил и глюков с TXE на 32F103ZC не наблюдал. Только BUSY на каждом шагу.
Аноним 30/04/20 Чтв 08:55:26 4139941523
15881223448720.png 55Кб, 3444x1125
3444x1125
>>413987 →
Сейчас у меня нет компа, поэтому только словами могу описать
Для начала возьмём пример с одним таймером, у которого есть 4 канала. То есть будет 4 выхода. Пусть это будет general purpose таймер. Ну общие регистры, типа делителя счетчика, периода таймера, one pulse mode настраиваешь как обычно.

Теперь настраиваем каналы. В TIMx_DIER включаешь все биты CCxDE, чтобы разрешить запросы к дма контроллеру от СС-каналов. В TIMx_EGR врубаешь биты CCxG, чтобы включить эвенты о каналов (чтобы они генерировали запросы дма). Затем в регистрах CCMRx нас интересуют поля OCxM, нам нужен режим, когда выход при наступлении события переключается, записываешь туда 011: Toggle - OC1REF toggles when TIMx_CNT=TIMx_CCR1. Дальше в CCER включаешь все выходы каналов установкой бита CCxE.

Теперь DMA. Я просто скопипащу
In this example the timer DMA burst feature is used to update the contents of the CCRx registers (x = 1, 2, 3, 4) with the DMA transferring half words into the CCRx registers. This is done in the following steps:
1. Configure the corresponding DMA channel as follows: –DMA channel peripheral address is the DMAR register address –DMA channel memory address is the address of the buffer in the RAM containing the data to be transferred by DMA into CCRx registers. –Number of data to transfer = 4 (See note below). –Circular mode disabled.
2. Configure the DCR register by configuring the DBA and DBL bit fields as follows: DBL = 4 transfers, DBA = 0xD.

Теперь время импульсов. В каждый CCRx записываешь время фронта имульса соответствующего канала. В тиках таймера, разумеется. Далее настраиваешь буфер DMA. Тут вот какое дело: на каждый передний/задний фронт импульса из любого канала формируется DMA запрос, который прогружает все четыре CCRx регистра. Мы так настроили, потому что каналов таймера у нас 4, а канал дма всего 1. Поэтому настраивай времена соответственно так, чтобы во все каналы попадало правильное значение. Например, первые четыре значения буфера ДМА
tf1 tr2 tr3 tr4, вторые: 0 tr2 tr3 tr4, третья четверка: 0 tf2 tr3 tr4, четвертая: 0 0 tr3 tr4, и так далее, где tr, tf - время переднего и заднего фронта соответственно.

Теперь включаешь таймер. Поначалу все выходы у него по нулям, до тех пор, пока счётчик не добежит до значения в регистре CCR 1 канала, который мы загрузили заранее. Когда CNT == CCR, наступает событие первого канала. Он переключает свой выход из 0 в 1 ( мы настроили toggle) и генерирует запрос к дма. Дма прогружает все четыре регистра, но у первого таймера теперь загружено время заднего фронта импульса. Далее точно так же, счётчик досчитывает до значения CCR1, первый канал делает toggle своего выхода обратно из 1 в 0, запрашивает дма. Но теперь в его регистр загружается значение 0, а значит, CNT таймера уже никогда с ним не сравняется и первый канал больше не сработает, если стоит one pulse mode. Дальше всё повторяется, только для следующих каналов.
Как-то так
Аноним 30/04/20 Чтв 09:23:42 4139981524
>>413994
Это можно реализовать на самых младших stm32, типа блупила?
Аноним 30/04/20 Чтв 09:35:02 4139991525
>>413998
Я не он, но -да, можно.
Аноним 30/04/20 Чтв 10:06:12 4140031526
>>413998
Ага, там только частота поменьше, чем в старших камнях, соответственно и разрешение таймера
Аноним 02/05/20 Суб 21:04:01 4143021527
>>409820
>Если ты готов лутить/ждать от китайцы месяцами плату после каждого косяка, а они у тебя будут с вероятностью 101%, то флаг тебе в руки.
Лол, всё необходимое для пленочного фоторезиста можно найти за копейки.
Аноним 02/05/20 Суб 22:01:36 4143091528
>>414302
А чем фоторезист на коленке лучше того же лута?
Аноним 02/05/20 Суб 22:51:47 4143141529
image.png 14Кб, 320x306
320x306
image.png 17Кб, 314x353
314x353
>>375183
>Установочная цель устроится байтоёбом за жрат. Что бы хоть как то вкотиться в ойти ололо.
Не советую, микроконтроллеры, плис, электроника и прочее говно очень плохая идея, работы почти нет, платят копейки. Как хобби это интересно, но как способ заработка и социальный лифт - нет (хватит только на хуйцы с гречкой).
Лучше сразу вкатывайся в айти, работы полно, платят много, а также есть возможность последующей удалёнки, фриланса или трактора, на выбор.
Аноним 02/05/20 Суб 23:10:34 4143161530
>>414309
обычно позволяет делать более тонкие дорожки (0.2 вместо 0.4), но это все дико зависит от принтера и кривизны рук
Аноним 02/05/20 Суб 23:25:52 4143181531
1588451150367.jpg 40Кб, 1080x313
1080x313
>>414314
Лол. Это под какие-такие МК на 1C пишут?
Аноним 03/05/20 Вск 07:19:12 4143321532
камни.JPG 87Кб, 850x496
850x496
>>414318
>Это под какие-такие МК
Аноним 03/05/20 Вск 07:20:50 4143331533
>>414316
> вместо 0.4
Я и ЛУТом нихуёво 0.2 делаю. Если прямо вдумчиво и небольшая плата, то и 0.15 получаются
Аноним 03/05/20 Вск 18:43:29 4143941534
>>414318
Технически, С это 1 С. А С++ это минимум 2 С
Аноним 03/05/20 Вск 18:54:59 4143981535
Аноним 04/05/20 Пнд 07:44:05 4144581536
>>414394
Технически, С98, С99, С++11, С++14, С++17
Аноним 04/05/20 Пнд 09:02:34 4144611537
>>414458

>С++
Смешались в кучу, кони, люди...
Аноним 04/05/20 Пнд 13:31:03 4144861538
>>414461
Главное progmem не взбалтывать. А не то kernel panic.
Аноним 05/05/20 Втр 22:40:05 4147591539
Аноним 13/05/20 Срд 07:39:57 4161531540
Аноним 13/05/20 Срд 11:57:46 4161931541
SUP котики. Сейчас будет история одного долбоеба и реквест помощи.
Сразу скажу. К программированию, IT, электронике и прочему я не имею никакого отношения. Начинал возится с ардуинкой в качестве хобби. И ни на что большее не претендую. Сам максимально гуманитарий, гордый оператор офисного стула и дипломированный перекладыватель бумажек.
Так вот. Пару лет назад от скуки и безысходности купил себе стартовый набор ардуинки с кучей датчиков и стал в нее тыкать. И постепенно втянулся. Начал делать разную хуйню из головы для удовлетворения своих больных фантазий. В какой то момент меня перестало устраивать распаивание поеботы на всяких нано и я решил сделать свою плату с блекджеком и шлюхами. Нагуглил EasyEDA и нарисовал нужную мне поеботу. И когда получил ее она даже заработала хотя наебался я знатно. Постепенно амбиции привели меня к STM32. Взял разных Дискавери плат и начал говнокодить на MBED поверх PlatfomIO. То что я пишу я не покажу никому потому что даже я сам понимаю насколько это убого. Плюс по прежнему рисую свои платы и заказываю у китайцев. Вроде все норм. На уровне самоделок долбоеба даже успешно. Оно по крайней мере почти всегда работает. Такая вот история.
А теперь реквест помощи. Я устал от ощущения что делаю говно. Как исправится? Задачи у меня простейшие и не требуют высокой надежности оборудования или безотказности когда. Но все таки хочется что бы за них не было стыдно хотя бы самому. По этому.
Первое. Как научится нормально разводить платы? Ролики на ютубе меня чему то научили, но эти обрывочные знания крайне убоги. Я знаю что этому учат. Может есть какой то учебник или курс для даунов лол. За два года я самостоятельно кое как научился понимать схемы и через абзац даташиты к электронным компонентам. Но в большинстве случаев это какой то непонятный для меня пиздец. То же касается разводки плат. То что я сейчас делаю наверняка работает лишь чудом. Потому что очень слабо понимаю что я вообще делаю. Опять же. Подскажите среду в которой стоит работать. Мне не нравится то что тот же EasyEDA привязан к конкретному производителю плат. Может есть что то настолько же доступное и простое но более универсальное.
Второе. Хочу уйти от MBED во что то более вменяемое. Пока что склоняюсь к CUBEIDE потому что она вроде как от самой STM и использовать соответственно HAL. Но опять же. Ту инфу что я могу нагуглить я практически не способен понять. Если проект под MBED у меня в базовой форме соедржит две строчки с main и while то куб генерит ебаное огромное (для меня) полотно не читаемого (опять же для меня) кода в котором я не способен разобраться. Лучшее мое достижение это меганием диода на плате нуклео по гайду от digikey. Может есть какое то постепенное вхождение в программирование под HAL для полных даунов?
И для понимания круга моих задач. Лучшее мое творение это автоматический бар лол. Я с ним ебусь уже около года постоянно совершенствуя. В текущей форме он может выбрать из трех напитков и нахуярить заданный обьем в стакан. В первоначальной форме напитки нужно было выбирать нажиманием одной из трех кнопок. Сейчас вкорячиваю вместо этого 2.8 дисплей с тачем. Когда закончу с этим хочу подключить все к интернету и написать простейшее приложение под смартфон что бы можно было делать это с него. Понятно что практического смысла в этом нет. Просто ебля ради ебли. Но анон, я хочу сделать это настолько хорошо, насколько это позволит мой гуманитарный мозг. Помоги советами мудрыми.
Аноним 13/05/20 Срд 12:16:20 4162071542
>>416193
>Как научится нормально разводить платы?
Почитай начальный и высшый курс черной магии.
Проектирование высокоскоростных цифровых устройств в авторстве Грэхэм Мартин, Джонсон Говард.
Сейчас оно подустарело, частоты выше, но физика процессов не поменялась. Читать очень осторожно, а то реально в шизоидный бред скатишься при разводке и будешь шарахаться от лишнего изгиба дорожки до светодиода.
Аноним 13/05/20 Срд 13:17:42 4162491543
>>416207
Спасибо пойду гуглить. А то я заебался делать хуйню. На моей первой плате вообще не было медного слоя и всю землю я разводил дорожками лол. Наверняка я до сих пор делаю невероятную дичь просто не зная об этом.
Аноним 13/05/20 Срд 14:11:29 4163271544
>>416207
>Проектирование высокоскоростных цифровых устройств в авторстве Грэхэм Мартин, Джонсон Говард.
>Лучшее мое творение это автоматический бар лол
Заебись совет, конечно. Бар, работающий на мегагерцовой частоте.
>>416193
>Хочу уйти от MBED во что то более вменяемое.
По-твоему HAL более вменяемый что ли? HAL - это очень плохо.
Если хочешь доклопаться до основ, начни с блокнотика, консоли и cmsis.
Аноним 13/05/20 Срд 14:26:04 4163391545
>>416327
>HAL - это очень плохо
Да у нас тут HALоненависник нарисовался. Прямо как СНиПодаун в домаче.
Аноним 13/05/20 Срд 15:30:22 4163801546
>>416339
Нарисовался тут только какой-то дебильчик, любящий навешивать ярлыки.
Аноним 13/05/20 Срд 16:09:47 4163931547
>>416380
Не, ты не останавливайся, советуй сразу ассемблер или чисто на оп-кодах ебашить. Надо сразу чувака отвадить от этого занятия.
Аноним 13/05/20 Срд 16:43:48 4164011548
>>416393
Отвадят скорее подобные тебе, у которых хал не кусок говна. Ведь человек чувствует, что это хуйня какая-то, а ему пишут мол, не заебись, это для начинающих, то ли низкий уровень, там все еще страшнее. Хотя на самом деле все наоборот. В хале наворотили дохуя сложности там, где ее изначально не было. То есть человек думает, что он тупой и чего-то не понимает, а это у стм хуевые программисты это не секрет. Что тут может отвадить, не понятно.
Аноним 13/05/20 Срд 17:41:55 4164091549
>>416193
1. Сначала надо на поверхностном уровне разобраться со схемотехникой,
http://easyelectronics.ru/category/nachinayushhim, самые азы http://easyelectronics.ru/osnovy-na-palcax-chast-1.html. Более полно -
Хоровиц Хилл Искусство схемотехники, Угрюмов цифровая схемотехника.
По разводке есть хорошие статьи на elart.narod.ru, например, перевод статьи из AD http://elart.narod.ru/articles/article11/article11.htm.
По САПРам загляни в софтотред, главное в спринте не рисуй.
2. >>416327 двачую, для чего-то простого и первоначальной генерации в кубе он годится, но там хуевая документация, кое-чего нет и он очень медленный.
Аноним 13/05/20 Срд 18:04:45 4164241550
>>416401
>Отвадят
Отвадили изначально меня "знатоки" типа тебя. Куда ни полезешь за примерами, - один на регистрах шпарит, второй на StdPeriph_Lib, третий со вставками ассма, четверты хуй пойми чем занимается и тупо переименовывает названия переменных HALа под свои инициалы и выдает халовские либы за свои. Когда СТ таки допилило HAL до нормального уровня и вычистила эти несовместимые хуйни, я наконец снова занялся самообучением этим контроллерам и, о чудо, всё, блядь стало получаться. И уже тогда я полез в дебри смотреть как в HAL всё устроенно.
Так что идите нахуй, подобные советчики. Может вы и начинали программировать расписывая в тетрадке программки для калькулятора Б3-34 и потом за него и выполняя их, но нонче начинать со столь низкого уровня, смерти подобно
Аноним 14/05/20 Чтв 00:16:41 4165161551
>>416393
Как раз таки те, кто начинал с низов(с логических элементов, триггеров и ассемблера), чаще всего и остаются в этом занятии серьезно.
А ардуинщик навсегда останется ардуинщиком, никогда не начинайте с ардуино(Кубик и HAL это аналог ардуино для стм32 по сути).
Аноним 14/05/20 Чтв 00:34:06 4165171552
>>416424
>третий со вставками ассма
Профессионалы всегда используют вставки ассма в местах, где нужно максимальное быстродействие.
Ассм и архитектуру проца и команд знают не все, поэтому топовые конторые всегда держут у себя специалиста по ассемблерным вставкам.
Аноним 14/05/20 Чтв 04:22:30 4165241553
>>416424
> Когда СТ таки допилило HAL до нормального уровня и вычистила эти несовместимые хуйни, я наконец снова занялся самообучением этим контроллерам и, о чудо, всё, блядь стало получаться.
То есть дело не в том, что ты потратил больше времени и у тебя в какой-то момент стало получаться, а в чем-то другом. Ну-ну. Если бы ты сразу начал с cmsis и даташита, у тебя бы начало получаться еще быстрее.
Дело не в том, что HAL это не высокоуровневый код. Mbed - высокоуровневый и они сделали хорошо, потому что в ARM программисты намного лучше, чем в ST. А HAL - это низкоуровневая библиотека с очень странными на момент 2020 года подходами к программированию. Свою задачу (абстрагирование от конкретного МК) она худо-бедно выполняет и пользоваться ей можно. Но не более.
А для общего развития намного полезнее почитать хедеры CMSIS для своего МК. Там в одном файле будет все просто и понятно, а если что-то не понятно, то йоба-макросы HAL будут еще менее понятными.
Аноним 14/05/20 Чтв 15:27:57 4166541554
>>416517
> топовые конторые всегда держут у себя специалиста по ассемблерным вставкам.
Что ещё спизданешь охуительного?
Топовые конторы стараются как раз уйти от ассемблерных вставок везде, где только возможно, чтобы получить легко поддерживаемый, переносимый и читаемый код. Тебя скорее отпиздит менеджер, если увидит, что ты решил писать на асме там, где можно написать на Си. Оптимизировать на уровне инструкций должен компилятор, который к тому же имеет разные флаги оптимизации, а не программист. Я бы посмотрел на тебя, если бы твои ассемблерные вставки нужно было бы пернести с одного ядра на другое, ещё и оптимизировать по размеру кода, а не по скорости, лол. Для топовой конторы это гарантированный влёт на бабки, поэтому она скорее выпиздит такого "специалиста" по ассемблерным вставкам, чем будет продолжать с ним иметь дело.
Аноним 14/05/20 Чтв 22:04:35 4167361555
>>416524
>странными на момент 2020 года подходами к программированию
Какими, например? Какие вместо них следовало бы использовать, по твоему мнению?
Аноним 15/05/20 Птн 00:24:05 4167491556
>>339843
>>340287
Ну это ещё не самый плохой результат, кстати. Я купил нуклео, китайские платки с f104, несколько stm8, два программатора st-link, программатор pickit3, кучу пиков, и ещё кучу всего, что забыл перечислить, в суме больше десятки потратил и они уже больше года лежат на полке. Я не то что диодом не поморгал, а даже иде не устанавливал, потому что нет времени и занят всякой парашей(в т.ч. и работой, но с другими камнями), а игрушки лежат до лучших времен, когда будет время ими заниматься...
Аноним 15/05/20 Птн 17:55:52 4168451557
>>416736
Макросы вместо функций, как будто на дворе 1989 и компиляторы не умеют инлайнить, неумение в битовые поля (они не так популярны, как прямая ебля с >> и << потому что это platform specific, но что может быть более специфично для платформы, чем код для STM? Типа когда-нибудь они перейдут на процессор с другим порядком байт?), соответственно вместо непосредственных присваиваний вида register.channel=5 будет что-то типа register = (5 >> 10) & 0xFFFF, сама по себе структура кодогенерации в виде комментариев типа INSERT YOUR CODE HERE, при этом если ты проебешь такой комментарий, все сломается.

То есть вместо поебени

int main(void)
{
/ USER CODE BEGIN 1 /

/ USER CODE END 1 /

/ MCU Configuration--------------------------------------------------------/

/ Reset of all peripherals, Initializes the Flash interface and the Systick. /
HAL_Init();

/ USER CODE BEGIN Init /

/ USER CODE END Init /

должно быть

//generated file, don't touch
#include "user_code.c"

int main(void) {
before_configuration();
HAL_Init();
after_configuration();
}

а в user_code.c содержимое типа:

void before_configuration() {
}

void after_configuration() {
}

Система типов должна защищать от выстрелов в ногу даже в том формате, который предлагает язык си.
Почему GPIO speed это uint32_t? При этом в комментах пишут "This parameter can be a value of @ref GPIO_speed_define". Алло, ребят, для этих целей придуман enum.
Почему у GPIO аут, ин, альтернейт и аналог пины - это один и тот же тип данных? С грозной угрозой пальчиком типа "если у вас аут - вот это ставьте вот так, а если ин - вот так, смотрите не перепутайте". Килобайты в хедере пожалели? Да нет, просто в этой высокоуровневой библиотеке нихуя не высокоуровневое укуренное отображение регистров.
Пин - это пин, если пин это какой-нибудь USART, он не может уже работать как ADC. В кубе это отлично видно - на высоком уровне у тебя есть пин, у него есть состояние, которое взаимно исключает другие состояния. Ты не можешь установить одновременно. А в HAL'е - можешь. Потому что MX_USART2_UART_Init это одно, а MX_GPIO_Init это совсем другое. Хотя логически и то и то работает с пинами. То есть никаким высоким уровнем тут не пахнет. Все та же ебля с даташитом, чтобы ни в коем случае не установить регистры (которых якобы нет) в противоречивое состояние.
Аноним 15/05/20 Птн 19:08:32 4168671558
>>416845
>если ты проебешь такой комментарий, все сломается
ШТА?
Аноним 15/05/20 Птн 19:54:29 4168691559
>>416867
Это он про генератор кубовский. Там при перегенерации такое было, когда я в крайний раз на него смотрел.
Аноним 15/05/20 Птн 20:17:49 4168701560
>>416869
И что? При удалении этого комментария все крашилось?
Аноним 15/05/20 Птн 20:25:19 4168721561
>>416870
Куб всего лишь не мог определить где пользовательский код, а где генерированный и соответствено не мог корректно перегенерировать файл. Очевидно же. При чем тут HAL - без понятия, по моему не при чем, если ты об этом.
Аноним 15/05/20 Птн 22:38:02 4169131562
2.jpg 86Кб, 470x400
470x400
>>416654
>Что ещё спизданешь охуительного?
Много чего.
>Топовые конторы стараются как раз уйти от ассемблерных вставок везде, где только возможно, чтобы получить легко поддерживаемый, переносимый и читаемый код.
Читаемый код на ассемблере ничем не отличается от читаемого кода на Си, достаточно соблюдать "code style": комментить, нормально называть переменные, делать отступы, не говнокодить.
>Тебя скорее отпиздит менеджер, если увидит, что ты решил писать на асме там, где можно написать на Си.
Каждое применение ассемблера должно быть обосновано и задокументировано. В ряде случаев, когда нужно обеспечить максимальное быстродействие в критически важных участках программы и даже с десяток лишних клоков контроллера могут запороть работу, ассемблер необходим.
>Оптимизировать на уровне инструкций должен компилятор, который к тому же имеет разные флаги оптимизации, а не программист.
Даже лучший в плане оптимизации компилятор IAR за тысячи бабок будет оптимизировать на порядок хуже, чем человек.
>Я бы посмотрел на тебя, если бы твои ассемблерные вставки нужно было бы пернести с одного ядра на другое,
При переносе кода с одного ядра на другое всё равно придётся дорабатывать напильником, хоть со вставками, хоть без: как минимум архитектура и набор команд разные, работа с периферией тоже. Да и ни кто не говорит, чтобы в 2к2к писать на асме всю программу, речь идёт о вставках, коих может быть чуть менее одного процента от всей проги.
> ещё и оптимизировать по размеру кода, а не по скорости, лол.
Ассемблер и по размеру кода и по скорости лучший, если уж на то пошло.
>Для топовой конторы это гарантированный влёт на бабки,
Тут не понял, поясни. Как фирма может влететь, если её сотрудник будет делать ассемблерные вставки? Доход фирмы зависит от продукта, который она производит, и ей по-барабану на чем ты пишешь, на си, асме или на плюсах, главное чтобы готовое устройство работало нормально и пошло в продакшен.
>поэтому она скорее выпиздит такого "специалиста" по ассемблерным вставкам, чем будет продолжать с ним иметь дело.
Как раз таки наоборот. Михалычи, у которых десятелетний опыт работы на асме напрямую с регистрами контроллера и знающие все даташиты наизусть на вес золота и им платят нормально, а современным зумеркам, которые заливают на гитхаб крафтовые проекты на ардуино и кубике, которые они делали по урокам с ютуба, проводят шершавым на собеседовании и берут разве что за еду(при условии, что они тоже будут писать напрямую через регистры и со временем смогут в асм).
Буквально это рассказал один анон, мол пришел на собес, и когда узнали, что он пишет через кубик и HAL буквально обоссали и обосрали всей фирмой так, что он там больше не появлялся. Да и достаточно почитать вакансии на хх, во всех вакансиях с зарплатой от 30к знание ассемблера и архитектуры будет обязательным.
Аноним 15/05/20 Птн 23:16:36 4169261563
>>416913
>Читаемый код на ассемблере ничем не отличается от читаемого кода на Си, достаточно соблюдать "code style": комментить, нормально называть переменные, делать отступы, не говнокодить.
Основное и практически единственное отличие асма от си, это способность непосредственной работы с регистрами. Которая, во-первых, убивает напрочь любую читаемость, поэтому фактически нужно дублировать каждую строчку комментарием с сиподобным кодом, а, во-вторых, у человека получается хуже, просто потому что RISC сделана для компиляторов, а не для людей. Распихивание переменных по регистрам - это задача типа шахмат, в 80-е, может, человек и был лучше, сейчас нет, компьютер тупо брутфорсом побеждает.
В сухом остатке остается только неумение писать эффективный С код. Профессионал сейчас отличается не тем, что на асме пишет, а тем, что, глядя на сишный код, знает, во что его превратит компилятор.
>Буквально это рассказал один анон, мол пришел на собес, и когда узнали, что он пишет через кубик и HAL буквально обоссали и обосрали всей фирмой так, что он там больше не появлялся.
Ну так твоим михалычам важно, чтобы их не выпиздили, вот они и конкурируют, как могут, полоская уши своим работодателям по поводу их незаменимых скиллов. Такая хуйня во все времена была и будет. Или ты думаешь какие-нибудь кавалеристы времен революции не ныли по поводу танков? Нет, та же хуйня была. Люди с устаревшими знаниями не торопятся на кладбище, они сначала будут долго ныть по поводу важности своих знаний, а потом будут демпинговать так, чтобы им дали хоть какую-то работу. Нахуя покупать станок с ЧПУ, если михалыч за бутылку водки сделает все с нужным квалитетом? Вот и тормозит такой михалыч прогресс, обладая при этом невротъебенным ЧСВ. Работать идти к таким лучше не надо, а если нет выбора, то относиться к их ЧСВшным словам тоже стоит с долей иронии.
Аноним 15/05/20 Птн 23:49:44 4169301564
>>416926
>Распихивание переменных по регистрам - это задача типа шахмат, в 80-е, может, человек и был лучше, сейчас нет, компьютер тупо брутфорсом побеждает.
Из твоих утверждений с этим наиболее сложно согласиться. Откуда компилятор узнает частоту использования переменных? Не, для такого в общем виде не существует решения вообще. Компилятор даже не учтет возможный диапазон входных данных, не то что статистические характеристики.
Аноним 15/05/20 Птн 23:53:26 4169321565
>>416930
На всякий случай добавлю, что я не тот анон, что писал тебе до этого, я просто мимо проходил. Ассемблер действительно нужен крайне редко. Но вот на DSP зачастую он незаменим, с этим глупо спорить.
Аноним 16/05/20 Суб 00:27:31 4169451566
>>416926
>Распихивание переменных по регистрам - это задача типа шахмат, в 80-е, может, человек и был лучше, сейчас нет, компьютер тупо брутфорсом побеждает. В сухом остатке остается только неумение писать эффективный С код.
Так никто не говорит, что всю прогу нужно на асме писать, как в 80-е. Только в критически важных по быстродействию местах или там, где это необходимо, как здесь >>416932.
>Профессионал сейчас отличается не тем, что на асме пишет, а тем, что, глядя на сишный код, знает, во что его превратит компилятор.
Компилятор его превратит машинный код, листинг, то бишь тот же ассемблер. Много профессионал из него сможет понять, если не могёт в асм?
>михалычам важно, чтобы их не выпиздили, вот они и конкурируют, как могут, полоская уши своим работодателям по поводу их незаменимых скиллов.
Хорошо значит они голову работодателям заполоскали, если в почти всех вакансиях на эмбеддеров знание асма обязательно.
Аноним 16/05/20 Суб 00:45:37 4169551567
>>409824
>За сколько наносекунд разведешь тян на сиськи и спаяешь на коленке платку расширения под PCI-e слот с парой трансиверов 40G Ethernet, легкая FPGA на полмиллиона LE, пару ЦАП-АЦП на пару гигасемплов, аналоговую часть под них, массив NAND и DDR3 памяти и незабыв про SSRAM мегабита на 72 и например рядом несколько работающих по себе i.mx8 у которых так же своя DDR3, NAND и NOR память? Ой, совсем забыл еще Ethernet свич дописать.
Ну за пару наносекунд не разведу, но за недельку-другую смогу развести, чай не rocket science.
>>По частям это есть, одним куском - нету.
Как-раз таки именно поэтому удобнее и правильнее будет собрать все штуки на одну аккуратную плату и возиться с ней, чем когда у тебя весь рабочий стол и комната будут завалены проводами с макетками.
>Дай угадаю - твой уровень - мигалка светодиодом или мигалка на мультивибраторе? Похвально. А теперь пиздуй обратно в свой загон-пердуино тред.
Нет, не угадал. Я уже проходил этот этап на РАБоте, был выбор, как отлаживать устройство - нагородить кучу макеток или собрать сразу одним блоком, поэтому и высказал свое мнение по этому поводу.
Кроме ad hominem есть ещё что-то сказать по делу?
Аноним 16/05/20 Суб 15:58:35 4170721568
Тормознутость А[...].mp4 25870Кб, 1280x720, 00:06:50
1280x720
>>416926
>>Буквально это рассказал один анон, мол пришел на собес, и когда узнали, что он пишет через кубик и HAL буквально обоссали и обосрали всей фирмой так, что он там больше не появлялся.
>Ну так твоим михалычам важно, чтобы их не выпиздили, вот они и конкурируют, как могут, полоская уши своим работодателям по поводу их незаменимых скиллов.
По-правде говоря, разные ардуино-подобные библиотеки вроде HAL, SPL мало того, что страдают от медленной работы из-за перегруженности условий и косяков, так ещё и написаны индусами через жопу.
Да, для домашних пет-проектов и "роботов" ты можешь делать так, как захочешь, писать хоть в кубике, хоть в ардуино иде, но если специалист будет делать так в интерпрайзе, то его выпнут пинком под сраку.
Аноним 16/05/20 Суб 16:50:51 4170951569
>>417072
Что-то странное пишешь. Для начала давно SPL выкинули, если речь про STM32, теперь вместо него LL, не сильно отличающийся от SPL.
Про HAL не буду спорить, не трогал. Но SPL, LL для STM и аналогичные для других микроконтроллеров не будут ничего замедлять, памяти конечно займут больше. Оно всего лишь для начальной настройки периферии. Там все отличие от прямой записи в регистры в том что вначале все пишется в структуру, а потом поля из структуры раскладываются по регистрам. То есть абстрагирования от регистров практически никакого нет.
Аноним 16/05/20 Суб 17:52:23 4171121570
>>416926
Ребят, вы вообще не то обсуждаете. Недавно Артамонов где-тов высирался про то, что у него работал чел, который для того чтобы подождать секунду, брал библиотеку мигания светодиодом и вызывал на пустом пине функцию мигания с длительностью 1. А вы обсуждете, как комментарии в ассемблерном коде писать. Это вообще не отражает текующую ситуацию в индустрии. Сейчас у нас интернет вещей во все поля, где надо на контроллере js запускать и пересылать все данные по незащищенному каналу. Байтоебство я вообще не знаю в каких сферах осталось до сих пор.
Аноним 17/05/20 Вск 14:53:07 4173141571
>>417072
>>417095

Вот вы серьезно сидите и думаете, что библиотеки под STM писали левые индусы, которых только с вордпресса сняли? Что они наговноделили не думая?
Что там сидят типы, которые дома светодиод подергали и на форуме посрались?

Конечно индусы пишущие код для СТМ - не инженеры гарварда с 15 летнем опытом. Но они прекрасно понимают что и зачем делают.

99% времени выполняется 1% кода (или как то так).

Если у вас программе не хватает скорости обработки логических цепочек - земля пухом. У вас либо пиздос с архитектурой (скорее всего), либо вы пытаетесь впихнуть какую то сверхбыструю обработку сигналов, которая вообще не задача МК, либо вы совсем уже говнокодер.

Большую часть логики и конечных автоматом можно сделать статичными (без перепроверки в цикле и обновления состояния). Урезав время затраченное на нее до совсем смешных значений.


Аноним 17/05/20 Вск 15:00:22 4173151572
>>417314
А с ними бесполезно общаться.
>Ааааааааааа, бля, HAL говноооооооо!!
>Индуса писала, не используйте в своих миргалках диолдов!!
>Только регистры спасут отца микроконтроллерного погроммирования!!
И так далее и в таком же духе. То что HAL на порядок упрощает вкатывание в контроллер в расчет не берут.
Аноним 17/05/20 Вск 15:54:37 4173291573
>>417314
Я наоборот написал что SPL, а скорее LL, не ограничивает быстродействие. Если до сих пор не понятно, то можно в качестве примера взять stm32f0xx_ll_usart. Так вот, после того как USART сконфигурирован, остается только брать и забирать данные через регистры DR (RDR, TDR), конечно если не задействован ПДП. А для этого там есть функции LL_USART_ReceiveData8 и LL_USART_TransmitData8, в которых нет абсолютно ничего кроме чтения/записи регистра. Хоть сразу в регистр пиши/читай, хоть через эти функции, на выходе будет одинаковый результат, конечно если инлайн не будет отключен флагами компилятора.

То что писали индусы - так почему по твоему они выкинули SPL и сделали на замену LL?

>>417315
HAL не избавит от чтения документации. А значит если на регистрах не можешь сделать из-за того что мануал прочитать лень, то и с помощью HAL вероятно сделаешь ерунду.
Аноним 17/05/20 Вск 16:14:41 4173311574
>>417329
> почему по твоему они выкинули SPL и сделали на замену LL
Поверь точно не из-за скорости. Скорее всего архитектурно коряво что то сделали, они всетаки первопроходцы в этой хуйне.

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

Вообще честно говоря хуй знает нахуя вообще эти либы на всякую простенькую периферию, т.к. быстрее и читабельнее ее обернуть в свою функцию.
Что лучше?
LL_GPIO_SetStateInvertedGpio(LL_GPIO_INVERTED_INVERT_PINS_NOT_INVERTED)
или
DeviceGPIO(OUTPUT_A, ENABLE);

LL_USART_TransmitData8(LL_USART_USARTNO_UARTA, data)
или
SerialSend(UART_1, data);



Аноним 17/05/20 Вск 16:27:32 4173361575
>>417331
>Поверь точно не из-за скорости.
Так и я о том же. Однако не совсем так. В SPL оно было без инлайна, хотя разница все равно мизерная и ничего не мешало конкретно в этом месте работать напрямую с регистрами.

>Я честно не тем, не тем не пользуюсь
А я STM32 не практически пользуюсь.

>Что лучше?
Без разницы, все равно оно будет вызываться в паре мест максимум.
>DeviceGPIO(OUTPUT_A, ENABLE);
Вот это как-то сомнительно. GPIO в микроконтроллерах организовано отдельными портами, соответственно либо придется передавать в эту хрень и порт и пин, либо там где-то внутри будет кучка условий.

>LL_USART_USARTNO_UARTA
С этим не угадал. Там передается просто USARTx.
Аноним 17/05/20 Вск 16:34:47 4173391576
>>417314
>Вот вы серьезно сидите и думаете, что библиотеки под STM писали левые индусы, которых только с вордпресса сняли? Что они наговноделили не думая?
Какие-нибудь сорокалетние себастьяновичи из Франции или Италии, которые 20 лет писали прошивки, а потом их бросили писать код чуть посложнее. Так как навыков управления сложностью нет, получилось вот это вот - и медленно, и запутанно, и один хер нужно читать даташит с регистрами.
Аноним 17/05/20 Вск 16:54:55 4173431577
>>417336
>было без инлайна
Я помоему в этом треде срался - современные компиляторы умеют в кроссобъектную компиляцию.
Если достаточно четко описано - он вполне может заинлайнить, не смотря на то что в разных файлах реализация и использование.

>либо там где-то внутри будет кучка условий.
Будет. Да и че? Зато охуительно удобно и наглядно.
В 99% мигания диодами, включения реле и даже сканирования клавиатур хватит с лихвой. И там не куча условий, а просто свичкейз, который твой локальный энумератор (OUTPUT_A\B\C\D) превращает уже в байтоебский RMW.
Сколько такую функцию писать? Минут 15 от силы.
По скорости? Ну накладные на вызов функции и смещение по свичкейзу смешные. Ну конечно будет в РАЗЫ медленее, но блин заинлайненый RMW это вообще самое быстрое что может быть, быстрее разме BitSet какой.


Аноним 17/05/20 Вск 17:05:35 4173461578
>>417343
>Я помоему в этом треде срался - современные компиляторы умеют в кроссобъектную компиляцию.
До некоторой степени умеют. Ты сам проверял как оно работает? Ты убедился, что твой любимый компилятор сам по себе такое оптимизирует? Наверняка нет. У тебя какие-то опасные иллюзии на счет того что делает компилятор.
А вот в LL, в отличие от SPL, решили сделать иначе, не рассчитывая на такое.

>Будет. Да и че? Зато охуительно удобно и наглядно.
Можно было еще наглядней сделать и без условий.
Аноним 17/05/20 Вск 17:20:57 4173511579
>>417346
>Ты сам проверял как оно работает? Ты убедился, что твой любимый компилятор сам по себе такое оптимизирует?
Да и да. Я единственное хз умеют ли это всякие ARMные компиляторы, но я не вижу причин почему.
Аноним 17/05/20 Вск 17:21:15 4173521580
>>417346
>Можно было еще наглядней сделать и без условий.
Как?
Аноним 18/05/20 Пнд 13:43:54 4175031581
Спасибо всем за советы. Я >>416193 анон. Пока что взялся за схемотехнику. Сижу изучаю насоветованную литературу.
А вот с программированием я нихуя не понял. Браться что ли за CMSIS? Оно точно нужно для мигания светодиодами и управления парой релюшек? Я все таки не даньги зарабатывать этим хочу. И задача по сути в быстром и доступном написании не очень говнокода.
Если таки нужно начинать учить CMSIS то как это делать? Все что связано с регистрами для меня ебаная магия. Я даже не знаю с какой стороны к этому подойти. Есть по нему какие то гайды для даунов лол?
Аноним 18/05/20 Пнд 14:52:38 4175211582
{7B5DFA46-A8C8-[...].png 394Кб, 794x1123
794x1123
>>417503
>И задача по сути в быстром и доступном написании не очень говнокода.
"Мастеринг чего-то там с СТМ32", автор с каким-то смешным именем,типа Кармен Нуэлло. Только на нормальном русском языке нету
Аноним 18/05/20 Пнд 14:54:57 4175221583
>>417521
Спасибо. Пошел гуглить. На русском конечно лучше, но и английский сойдет.
Аноним 18/05/20 Пнд 17:11:34 4175681584
>>417351
Засомневался в этом и проверил. Действительно gcc такое делает при наличии флага -flto. Версия gcc 7.3.1 (arm-none-eabi). Все равно на такое рассчитывать глупо. Можно элементарно дописать к функции static inline и перенести ее в заголовочный файл и тогда точно все будет оптимизировано, вне зависимости от наличия флага -flto и компилятора. Мало ли что, может кто-то не будет использовать -flto для ускорения компиляции.
Аноним 18/05/20 Пнд 20:17:36 4176231585
>>417568
>элементарно дописать к функции static inline
Ээээ браток, инлайн не пашет между объектными файлами, ты что охуел?
Как это по твоему должно работать?

>на такое рассчитывать глупо
Как насчет 10% при 70% (стало 60) в 128кб?
Могу пруфнуть, но лень.
Аноним 18/05/20 Пнд 20:20:47 4176261586
>>417503
ИМХО не начинай изучать программирование МК с STM32, т.к. там очень много ARM-специфичной хуйни и вообще усложненной хуйни свойственной современным ядрам.

Начни с AVR с практической точки зрения, новичку похуй
Аноним 18/05/20 Пнд 20:26:11 4176281587
>>417623
>>417568
>и перенести ее в заголовочный файл
Проебал, извиняй.

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

А если это асессор\мутатор? Прикинь сколько там пиздеца будет в заголовке? А если он требует доступа к локальным данным модуля?
Аноним 18/05/20 Пнд 20:55:17 4176331588
>>417626
>Начни с AVR
Почему не с 8051 или PIC?
Аноним 18/05/20 Пнд 20:57:50 4176351589
>>417112
Интернет любительских поделий ты хотел сказать? Понадеюсь что опечатка.
Я рад за побритых куков сделавших очередной контроллер смыва унитаза за 15к, но что бы оно хоть как то было конкурентноспособным, тебе придется его ужимать и ужимать по максимуму.
Что захуярить вебсервер с шифрованием в младший STM8 покажется очень интересной идеей.
Аноним 18/05/20 Пнд 21:02:34 4176401590
>>417626
>изучать программирование МК с STM32
В такой шедевр надо вкатываться даже через силу. Я когда попытался под него писать не осилил, а потом выделил много времени только под STM32, заготовил много чая и кофе и начал наварачивать это дерьмо ставя на паузу каждые 30 сек, ходил по комнате туда сюда, просто чтоб расслабиться, потом продолжал читать reference manual и попутно писал в keil со слезами на глазах и поблёвывая. И в итоге вкатился, не жалею, теперь во всю могу оценить всю мощь этого микроконтроллера.
Аноним 18/05/20 Пнд 21:13:24 4176421591
>>417633
Потому что в общем случае будешь с банками памяти и соответственно устаревшими приемами программирования знакомится (ага дин. выделения хуй).
Короче это устаревшие ядра, ведущие родословную с середины 80х и очень сильно отличающиеся от современных.
Конкретно, за 51 не скажу, не приходилось, пик - уебищный софт, уебищные библиотеки, уебищный компилятор, но божественные даташиты.

AVR - имеет годнейший софт (студию 7 которая на базе вижуал студии), огромнейшее сообщество, сносные даташиты, не плохие библиотеки.
Я бы посоветовал еще СТМ8, но он имеет те же проблемы что и 32 - он очень навороченный.

>>417640
Без разницы во что на начальном уровне вкатываться, все знания из AVR легко переносятся на STM32.
Просто референсы STM - уебищные и запутанные, ядро запутанное, это ад новичка, который не понимает что к чему и где. Про таймеры вообще даже хуй знает что сказать...


Аноним 18/05/20 Пнд 21:41:33 4176531592
>>417635
Идея интересная, но этот сегмент рынка сейчас маленький и представлен в основном крупными компаниями, у которых есть ресурсы и время на планирование. В остальных местах царит хуяк хуяк и в продакшон, им надо быстро и дешево в разработке. То, что получается в результате хуйня - никто не спорит.
Аноним 18/05/20 Пнд 21:47:39 4176571593
>>417653
Интересная идея тут - идея более выгодная, чем тоже самое в F4 каком, который ее на изиче потянет.

>хуяк хуяк и в продакшон, им надо быстро и дешево в разработке.
Это каксается только хипстерских стартапов, которые вымирают к слову сотнями по... ИХ УСТРОЙСТВА ИМЕЮТ СЛИШКОМ БОЛЬШУЮ СЕБЕСТОИМОСТЬ.
Бадум-тсс.

Встраиваемая электроника это всегда абсолюнто всегда байтоебство. Можно более менее разойтись в мелкосерийке и всякой узкоспециализированной хуйне, но в любых действительно массовых устройствах ты соснешь.
Аноним 18/05/20 Пнд 22:20:10 4176661594
>>339005 (OP)
Это самое... Есть одна 746G-Discovery, и есть Куб на ноуте и на компе. Так вот, на ноуте есть возможность добавить StemWin, а на компе такого пункта нетути. Чего делать то?
Аноним 18/05/20 Пнд 22:27:34 4176671595
>>417666
Ларчик просто открывался, начиная с версии 5.5, настойчиво продвигают TouchGFX и EmWin убрали к хуям. Только ручками теперь
Аноним 18/05/20 Пнд 23:10:14 4176771596
20160803150431a1.jpg 70Кб, 700x535
700x535
>>417657
>это всегда абсолюнто всегда байтоебство
Сечас же навроде жирнючий камень типа F1C600 с несколькими ядрами, возможностью запуска линупса и прочими ништяками стоит пару баксов. Нахуя байтоёбить как не в себя?
Аноним 18/05/20 Пнд 23:31:20 4176891597
>>417677
Потому что он не пару баксов стоит и обвязка к нему не пару баксов стоит.
Жрет он не то что бы что бы можно было поставить в батарейное устройство.

Никто не байтоебит как не в себя. Байтоебят на столько, на сколько нужно. Но иметь заблуждение, что в проф среде пишут под линуксом на микропитоне - глупость большая.

Тут недавно анон в каком то треде пытался выяснить, как ему STM8 прошивать другим контроллером, без бутлодера. Т.к. было жалко на более жирную версию денег, т.к. околомиллионые партии у устройства.
Аноним 18/05/20 Пнд 23:56:15 4176951598
Аноним 19/05/20 Втр 00:16:20 4176981599
>>417695
>Китайский проц под который нихуя нету

Считаешь что байтоебство и пердолинг с сборкой кастомных линуксов это разное?
А теперь представь еще что у тебя вот эта хуйня и тебе нужен настоящий рилтайм.

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


Аноним 19/05/20 Втр 00:22:23 4177031600
>>417698
>>417695
И еще, тебя не смущают большие буквы конфиденшинал на даташите? И отсутствие другого в свободном доступе.

Это процы производившиеся хуй знает для кого, остатки которых слили налево. (может быть, я не исключаю дешевых китайских арм по 2 бакса, но сильно смоневаюсь).
Вот и сделаешь ты под них хуйню, а они хуяк и пропадут из продаж. GGWP.

Аноним 19/05/20 Втр 02:32:40 4177131601
Где найти вменяемую документацию на HAL? По "hal stm32 documentstion" гуглится всякая хуйня. Пытаюсь тут запилить хеллоуворлд в виде передачи значения с АЦП по уарту на хале пытаюсь освоить что-то кроме байтоёбства и по описанию функции не могу въехать, что за "handle" такие и где они определяются.
Аноним 19/05/20 Втр 05:14:43 4177191602
>>417713
Гугли больше. Она есть. Она довольно уебищная. Но она есть и ее пиздец трудно найти.
Аноним 19/05/20 Втр 07:12:57 4177211603
>>417713
>вменяемую документацию на HAL
Нету ее. Есть в папке с кубом на твой контроллер ->Drivers ->STM32xxx_naHAL ->STM32Fxx_User_Manual.chm
И есть еще в пдф-е Description of STM32F4 HAL and LL drivers UM1725 или UM1905 для F7-серии. Идешь на ST.com ищешь свой контроллер -> ищешь пакет Куба на него -> переходишь и на вкладке "Resources" находишь пдф-ку с описанием.
Документации где вдумчиво раскуривается использование HAL помоему не существует
Аноним 19/05/20 Втр 09:52:34 4177331604
>>417721
>>417719
А это разве не просто доксигеновская отрыжка?
мимопроходил
Аноним 19/05/20 Втр 10:13:07 4177391605
Аноним 19/05/20 Втр 11:29:30 4177581606
хоуту.JPG 30Кб, 545x175
545x175
>>417733
>А это разве не просто доксигеновская отрыжка?
.chm - да, пдф-ка чуть получше, есть хоть какие-то HOWTO
Аноним 19/05/20 Втр 13:26:08 4177671607
>>417713
Берешь куб, генеришь код, читаешь его
Аноним 19/05/20 Втр 17:52:37 4178361608
>>417339
>Какие-нибудь сорокалетние себастьяновичи
хуяновичи
Аноним 20/05/20 Срд 17:31:51 4180981609
вопрос со звёздочкой:

QEMU ARM при старте без system_reset стартует в некоем неопределённом состоянии и сразу залетает в blocking_handler?

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

Вектор прерываний с лупой проверил - всё верно заполнено. Регистры тоже в норме, никаких аппаратных сбойных флагов не выставлено.

выручайте а то с ума сойду.
Аноним 20/05/20 Срд 17:32:55 4180991610
>>418098
Да, забил на все эти HAl-хуял. Использую расово-верный открытый libopencm3. Всё верно делаю?
Аноним 20/05/20 Срд 17:57:51 4181011611
>>418099
Нахуя он вообще тебе нужен? Тебе 4 флага в падлу записать в регистры?
Аноним 20/05/20 Срд 18:40:54 4181131612
>>418101
>Нахуя он вообще тебе нужен? Тебе 4 флага в падлу записать в регистры?

Думаю, унутре он именно это и делает
Аноним 20/05/20 Срд 19:00:18 4181151613
>>418113
Ну в плане тебе один хуй учить эти флаги, а потом учить еще библиотеку. Непонятно нахуя это?
Тебе один хер надо знать как работает эта периферия, что бы нормально ей управлять.
Аноним 21/05/20 Чтв 13:23:46 4182901614
>>418115
>Ну в плане тебе один хуй учить эти флаги, а потом учить еще библиотеку.
Дядя, ты дурак? Зачем "учить" библиотеку? Зачем учить флаги, которые она от меня прячет?
Аноним 21/05/20 Чтв 15:42:00 4183101615
Аноним 21/05/20 Чтв 21:00:39 4183611616
>>418290
Лол если ты думаешь что тебя хал и лл уберегает от знания периферии и флагов, лишь показывает, что задачу серьезней бзднуть-моргнуть ты не решал.

Ввиду этого разговор не вижу смысла продолжать.
Аноним 22/05/20 Птн 13:03:01 4184571617
>>339005 (OP)
А если я собираюсь подключить LCD, кучу датчиков, ЖСМ-модуль, Ethernet, nrf2401, по CAN общаться еще с горстью датчиков, то как мне этим зоопарком управлять в бесконечном цикле? Я же охуею продумать все варианты прерываний и обработки событий. Как взрослые дяди с ентим справляются?
Аноним 22/05/20 Птн 13:16:48 4184601618
>>418310
"Паяльники" открыли для себя дырявые абстракции?
Теперь откройте как это связано с нежеланием "учить регистры"
Аноним 22/05/20 Птн 13:17:27 4184611619
>>418361
>Лол если ты думаешь что тебя хал и лл уберегает от знания периферии и флагов, лишь показывает, что задачу серьезней бзднуть-моргнуть ты не решал.

ПИШЕШЬ САЙТ
@
ДЕРГАЕШЬ РЕГИСТРЫ x86_64
@
ИНАЧЕ ГОВНО ЖЕ ПОЛУЧИТСЯ
Аноним 22/05/20 Птн 13:17:59 4184621620
>>418457
>Как взрослые дяди с ентим справляются?

Копать надо со стороны "а зачем ты это всё подключаешь?"
Аноним 22/05/20 Птн 13:36:09 4184651621
>>418461
С сайтами еще хуже чем с регистрами может оказаться, там может потребоваться учитывать отличия разных браузеров, под каждый писать свои части кода...
А тот анон не совсем правильно тебе написал. Нежелание хоть немного смотреть на регистры означает нежелание открывать документацию в принципе. Ну, успехов в разработке устройств без изучения документации на используемые микросхемы.
Аноним 22/05/20 Птн 14:06:26 4184771622
>>418462
>а зачем
Ну, допустим, хочу заебенить контроллер в котельную. Нет, не для управления котлом, так как он у меня твердотопливный, а для управления обвязкой. Вкл/выкл насосов котлового контура, контура отопления, контура ГВС, контура ТП, периодическое включение летом для защиты от клина, общение с UPS на предмет состояния аккумуляторов, выключение его если температура в контуре ниже +20 для экономии, общение с метеодатчиками по радиоканалу для подобия погодозависимости. Чтобы два раза не вставать, контроль влажности в подвале и на чердаке, вкл/выкл вентиляторов, контроль датчиков на рекуператоре, общение с "головами" на системе водоподготовки, подсчет израсходованной воды из скважины, контроль влажности и уровня воды в приямке кессона... Да просто ебаная уйма контролируемых параметров. Небольшие зайчатки интеллекта, типа набрать воды в душ ночью, чтобы с утра начала греться на солнышке, послать смс о проблемах с электропитанием/насосами/небом и Аллахом, периодически выгружать в домашний сервак bigdat-у с датчиков дабы я мог посматривать.
Короче, я так понял, что надо смотреть в сторону RTOS?
Аноним 22/05/20 Птн 14:19:09 4184811623
>>418477
>RTOS
Не требуется, можно обойтись простым конечным автоматом.
Однако тебе наверняка целесообразнее взять малинку и писать на питоне, например. У тебя нет задач, когда требуется определенная скорость реакции, которую обеспечивают микроконтроллеры, для такого сойдет одноплатник.
Аноним 22/05/20 Птн 14:20:25 4184821624
image.png 2Кб, 382x36
382x36
>>418461
Найс маневрируешь.

Давай еще мейнфреймы сравнив с ембедедом. В принципе я нихуя нового не скажу, уже все написал в предыдущем посте.
Аноним 22/05/20 Птн 14:39:33 4184841625
>>418481
>целесообразнее взять малинку и писать на питоне
Но у меня завалялась 746Г-дискавери, неохота еще и малину с дисплеем покупать
Аноним 22/05/20 Птн 15:45:09 4184931626
>>418481
>Не требуется, можно обойтись простым конечным автоматом.
RTOS проще и быстрее
Аноним 22/05/20 Птн 15:55:48 4184941627
>>418460
Нежелание связано с ленью и тупостью, не более того.
>>418461
Вот и разгадка. Капсболд, внутри которого идиотизм. Ты не понимаешь, что такое регистры МК и думаешь, что это как-то связанно с регистрами x86.
Аноним 22/05/20 Птн 16:13:05 4184981628
>>418477
Да, берешь RTOS, у RTOS есть потоки, которые в отличие от взрослых ОС работают в кооперативной многозадачности, то есть отработал и сам отдал управление в ОС, вызвав delay/sleep.
В итоге RTOS по таймеру вызывает нужные потоки, они отрабатывают и засыпают. Если процесс долгий, то засыпать можно прямо в процессе работы, давая отработать всему остальному, поэтому это удобнее конечного автомата, где тебе нужно самому париться о том, как сохранить состояние текущего процесса и разбить свои вложенные циклы на переходы в конечном автомате. Здесь у тебя будут отдельные независимые процессы, при чем, учитывая специфику, можно отрабатывать их раз в несколько секунд, а остальное время спать.
Аноним 22/05/20 Птн 16:33:15 4185011629
>>418498
А ещё разные части системы должны как-то друг с другом взаимодействовать.
RTOS предоставляет для этого всякие очереди и не только.
Аноним 22/05/20 Птн 17:00:45 4185051630
>>418494
>Нежелание связано с ленью и тупостью, не более того.
Не в этом дело. Возможно ли разрабатывать электронные устройства не читая документацию на используемые детали? Если врзможно, то на каком уровне?
Аноним 22/05/20 Птн 17:01:22 4185061631
>>418501
Не похоже, что у него что-то с чем-то взаимодействовать должно. Максимум GSM-модуль посмотрит на поднятый другим модулем флаг ошибки, отправит СМС и сбросит его.
Аноним 22/05/20 Птн 17:03:23 4185081632
>>418506
Т.е. не модуль, а процесс RTOS, работающий с GSM
Аноним 22/05/20 Птн 22:15:23 4185651633
>>418457
>>418477
Для такого нужен ПЛК или небольшой промышленный компьютер(в принципе малинка пойдет) и процессоры там на порядок мощнее, чем в микроконтроллере. На STM32 ты не сможешь это сделать.
Аноним 22/05/20 Птн 22:21:57 4185751634
>>418565
>На STM32 ты не сможешь это сделать.
Что мне помешает?
Аноним 23/05/20 Суб 01:38:58 4186561635
>>418575
Лень и отсутствие времени
Аноним 23/05/20 Суб 02:51:39 4186631636
>>418498
Делаю что то похожее на работе.

Не делай на самопальном фреймоврке\системе.
RTOS скорее необходима нежели желательна.
Очень желательны плюсы, а не си. Т.к. будет куча зависимых состояний и тебе что бы не поехать придется уходить в абстракции.

Главное - НЕ ДЕЛАЙ НА КОНЕЧНОМ АВТОМАТЕ, если хочешь это говнище поддерживать не подгорая пердаком каждый раз. Сейчас не 95 год и блядь как раз на хуйню рулящую всем и вечно подключенную к розетке можно уебать пару ядер и лишних баксов.
Я видал подобные параши на автоматах, в итоге все приходилось переписывать заново, если старый разраб съебывал или не занимался ими достаточно долго.

ИМХО - купи ЕСП32, там тебе сразу будет RTOS и куча производительности. На всякий реалтайм вьеби дешевый МК, АВР или чего подобное. Ну или там же на есп, если ног хватит.
Аноним 23/05/20 Суб 19:01:00 4188281637
>>418477 Зачем все это запихивать в один мк?
Возьми малинку, поставь homeassistant, подключи все датчики-реле через несколько esp8266, залей на них esphomelib (это своего рода микротиковский capsman для всевозможных датчиков), добавь туда минимальный аппаратный failsafe ну и напердоль логику на node red.
И не надо тут ряя зачем мне эти костыли и абстракции, хочу байтики дрочить. Для единичных изделий так многократно удобнее и не сильно то и дороже.
Аноним 23/05/20 Суб 19:55:01 4188421638
>>418828
Сколь жирно... я почти повелся и уже было расписал гневный пост, но вовремя одумался.
Аноним 23/05/20 Суб 19:56:04 4188451639
>>418828
С таким "хендмейдом" проще готовое купить.
Там же ничего твоего? Нахуй вообще пердолится тогда?.
Аноним 23/05/20 Суб 20:48:49 4188591640
>>418842 Да, ты можешь разродится длинным перечнем недостатков такого решения, и будешь во многом прав, но все упирается в экономику. А именно время.
>>418845 Готового решения по всем хотелкам из того поста нет. Дергать насосы-клапаны можно поставить Danfoss ECL, для вентиляции Corrigo Е, для красивенького интерфейса можно поставить Control4. И на этом все.
>Там же ничего твоего?
Тебе шашечки или ехать?
Аноним 23/05/20 Суб 20:54:10 4188611641
>>418859
>Готового решения по всем хотелкам из того поста нет.
Есть близкие и легче докостылить их. И вообще в таком случае действительно правильнее брать ПЛК и не ебать мозги. Они для этого и созданы.

>Тебе шашечки или ехать?
Я предполагаю что любителю таки нужны шашечки.
Аноним 23/05/20 Суб 21:47:36 4188691642
>>418861
>правильнее брать ПЛК и не ебать мозги
Отличная идея. Даешь погодозависимую автоматику на клонах моторолы FX2N.
>любителю таки нужны шашечки
Шашечки тут ограничатся гордостью за то что вот я сам на сишечке все написаль. А то что все это будет крайне примитивно из-за нехватки времени, где хер разберешься в коде спустя полгода, без нормального интерфейса, средств отладки, мониторинга и как следствие вскоре будет просто отключено и заброшено.
Тем то и удобна эта мерзкая облачная фигня homeassistant, там всегда можно открыть редактор и за полчаса что-то поменять в логике, найти косяк полистав логи, добавить новый девайс.
Аноним 23/05/20 Суб 22:39:42 4188771643
>>418828
>Возьми малинку
Это ладно еще, я сам выше предлагал. Хотя это специфическая такая штука, сомнительной надежности.
>homeassistant
Ну про это я не знаю, не трогал и надеюсь не докачусь до такого.
>через несколько esp8266
А вот это уже финиш и дальше еще чуднее.

По моему так вообще не меньше половины этой автоматики можно заменить несколькими релюшками без всяких микроконтроллеров, а другая и не нужна вовсе.
Аноним 23/05/20 Суб 22:42:29 4188791644
>>418861
>правильнее брать ПЛК и не ебать мозги
Вы ценник на енти ПЛК видели? Даже сраный гОвен от 20к+. К нему еще модули АНАЛогового ввода-вывода, датчики 4-20мА с ебической стоимостью, HMI дисплей. Ну его нахуй, такие советы. Таким макаром я и сам, без автоматики, буду клацать насосами и включать вертиляторы
Аноним 23/05/20 Суб 22:58:30 4188821645
>>418877
>По моему так вообще не меньше половины этой автоматики можно заменить несколькими релюшками без всяких микроконтроллеров, а другая и не нужна вовсе.

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

>>418879
Ну поэтому бери ESP32 с RTOS, ну или делайн на малинах и хипстерских фреймворках.
Заклинаю тебя не пытаться это все на голою делать.
Аноним 23/05/20 Суб 23:07:15 4188841646
Аноним 24/05/20 Вск 01:23:51 4189041647
>>418869
А можно просто научиться программировать
Аноним 24/05/20 Вск 16:36:47 4189771648
>>418904
Не можно. Самому писать поддерживаемый код с годным UI и кучей функционала это долго, очень долго.
Аноним 24/05/20 Вск 18:17:02 4189991649
Пытаюсь сейчас управлять шаговиком через H-мост на STM8 используя комплиментарные PWM. Кто-нибудь может подсказать как правильно их отключать и/или переключать режим работы?

Сначала отключать таймер, переконфигурировать, потом включать, это нормально?
Аноним 24/05/20 Вск 19:12:37 4190201650
>>418999
>Пытаюсь сейчас управлять шаговиком через H-мост на STM8 используя комплиментарные PWM.
Я правильно понял, у тебя полношаговый или полушаговый режим без стабилизации тока в обмотках?
Аноним 24/05/20 Вск 19:38:46 4190351651
>>419020
Полно- и полушаг я могу делать чисто через GPIO.

Я пытаюсь делать микрошаг, регулируя ток на обмотках через ШИМ. Проблема в том, что 4 канала использовать нельзя. Так что я использую 1, 2 каналы первого таймера в комплиментарном режиме.

И для смены направления тока в обмотке мне надо переконфигурировать каналы.
Аноним 26/05/20 Втр 02:58:04 4196661652
Аноним 26/05/20 Втр 05:11:07 4196691653
>>419666
>STM8
>STM32 thread
А ты не очень умный, да?
Аноним 26/05/20 Втр 07:29:32 4196731654
>>419669
В какой тред ему нужно было? Прикрепленный? Или создавать отдельно по STM8?
Вообще-то в этом треде уже немало обсуждали STM8.

Мне непонятно почему не взять готовый драйвер. Для шаговых двигателей не просто ШИМ-ить нужно, а еще стабилизировать ток. Т.е. в мосту должны быть резисторы с небольшим сопротивлением для измерения тока, а к ним напрямую входы АЦП наверное еще не получится подключить, потребуется еще усилитель. И это при том что готовое устройство совсем дешевое.
Аноним 26/05/20 Втр 13:48:55 4197251655
>>419673
>Или создавать отдельно по STM8?
Зачем создавать то, что давно имеется на доске? >>298779 (OP)
Аноним 26/05/20 Втр 13:51:28 4197261656
>>419673
>И это при том что готовое устройство совсем дешевое.
Вот тут двачую. При том, что сама ST ебашит линейку драйверов STSPIN от маломощный, до йоб со встроенными мосфетами, микрошагами и своми проприетатными алгоритмами снижения шума и прочих вибраций.
Аноним 26/05/20 Втр 18:32:43 4197541657
>>419725
Последний пост 14.05, тут как-то поживее

>>419673
>Мне непонятно почему не взять готовый драйвер.
Я тоже не знаю, наверное у заказчика есть планы на расширение функционала. Резисторы с небольшим сопротивлением есть, АЦП вроде работает. Проблема в комплиментарных каналах.
Аноним 26/05/20 Втр 23:59:50 4197941658
>>419754
Всё, разобрался. Схема говна была
Аноним 27/05/20 Срд 10:13:36 4198241659
>>339005 (OP)
Листаю герберы на STM32f429i-Discovery и STM32F746G-Discovery. У первой оперативка подключена дорогами чрезвычайно разной длины, у второй меандры во все поля.
До 200Мгц нет смысла уравнивать длины штоле?
Аноним 27/05/20 Срд 15:44:25 4199751660
>>419824
Осторожно бздану - похуй. Запускал SDRAM на соплях на SAM9260 на 100 МГц и даже без явного слоя земли снизу. Как работает? Да хуй его знает. Толи из-за того что работает по одному фронту, а не обоим, а может еррата на камень где Атмел признался что очень мощные буферы сделал и просит ставить последовательные резисторы. Юбут и линукс работал непрерывно минимум неделю. Сбоев не было.
Аноним 28/05/20 Чтв 01:04:17 4200581661
>>419824
>До 200Мгц нет смысла уравнивать длины штоле?
За одну двестимиллионную секунды у тебя свет проходит 299792458/200000000=1.5 метра. А какой длины там дороги, сантиметр есть хоть?
Аноним 28/05/20 Чтв 07:18:10 4200751662
>>420058
>свет
Сигнал в проводнике 60-70% от с
Аноним 28/05/20 Чтв 17:09:06 4201631663
31bb8691421da44[...].jpg 512Кб, 2560x1440
2560x1440
Совсем недавно писал в тред про ESP что не хочу малину, а хочу TouchGFX. Заказчику тоже такая штука нравилась. И в итоге, о как же я был не прав. Как же я все таки обосрался с ожиданиями относительно TouchGFX.
Посидел два дня — стало ясно что это говно не простой фреймфорк, где можно хуяк хуяк и в продакшон. Там все настолько сложно и запрятано в перди, что после просмотра трех вебинаров и уроков, каждый длиной в полтора часа, я до сих пор понял только следующее:
- Additional Software пресловутого TouchGFX, который можно добавить к любому проекту с использованием Stm32f4xx нихуя из коробки не работает. Это вам не встроить FreeRTOS.
- правильный путь создания проекта - это выбрать свою борду в TouchGFX Designer'е и плясать уже от него. При том нормально генерится только проект для CubeIDE, с кейлом фокус с прошивкой контроллера уже не прокатит. Ну и конечно же нужен CubeProgrammer просто чтобы прошить готовый проект.
- в результате генерации получается проект с ебовейшей структурой, который приходится пилить напильником, намешанная ебанина из плюсов и сишки.

Такого насилия над мозгом я не встречал уже давно. Это просто пиздец.
Черт знает как мне дальше быть. До вечера надо решить на чем будем делать проект, и, черт возьми, для меня это просто загадка из двух стульев — на одном TouchGFX дроченый, на другом малина точеная.
Аноним 28/05/20 Чтв 17:19:37 4201661664
15873064366530.gif 3849Кб, 430x440
430x440
>>420163
Вот и попался на удочку "у нас все работает из коробки", лол.
Аноним 28/05/20 Чтв 17:29:06 4201681665
>>420166
Да, бля, как же это хуево. Вменяемо поставить TouchGFX можно только на очень узкий перечень дорогих плат. Свой проект на какой-то f407 уже не потянуть. При том в кубе все есть, поставил, зарезолвил этот TouchGFX и все равно хуй тебе а не искаропки. И туториалов нет вообще, даже разработчики не дают вменяемых ответов.
Боюсь теперь в малину катиться, вдруг там также будет. Ну хоть туториалов больше, наверняка.
Аноним 28/05/20 Чтв 18:16:54 4201701666
>>420163
Бля, прочитав твой пост думал удариться в изучение ентого ТorchGFX. Хуле, думаю, пердолиться с древним СтэмВин, а оно вона как. Поставил дизигнер торчевский, прихуел со сгенерироанной структуры папок и вложений, хуй понял чего там к чему и закинул к хуям.
Аноним 28/05/20 Чтв 18:23:24 4201711667
>>420163
Делай на HMI панели. Nextion какой. Он блевота, уебищное говно, кривая хуйня, высер ускоглазого уебища.
Стоит 1200р 3.5' базовая модель (не знаю насколько приемлемо вам)

Но у него есть IDE - насрал мышкой и в продакшен.
Аноним 28/05/20 Чтв 18:53:27 4201751668
>>420170
Я ещё попердолился с TouchGFX десигнером. И вот что обнаружил.
- Название проекта менять не получится. Проебывается ioc файл из связей.
- Настройки генерации в кубе, в том самом сгенерированном файле, менять нельзя. Иначе пиздарики, проект с белым фоном не запускается. Так что придётся весь свой код в мейне держать, как диды.
- В принципе, можно менять и крутить периферию как хочешь на своей плате. Правда пока что для меня даже простая кнопка это недостижимый уровень мастерства. Ну, думаю, завтра запилю таки экранную кнопку со светодиодом.
Аноним 28/05/20 Чтв 18:59:51 4201761669
>>420175
ты скрины хоть бы покидал того ужаса что он генерит.

С названием проекта - ну бля вообще это скорее норма.
Аноним 28/05/20 Чтв 19:14:16 4201811670
>>420168
Малинка должна нормально работать с HDMI монитором, как и другие подобные одноплатники. А софт там обычный линуксовый, должен работать везде более-менее одинаково. На счет тача не знаю, наверное надо брать с USB и выбирать те которые точно работают под линуксом. По моему все это можно отладить на нормальном компе, а потом просто перекомпилировать под малинку.
Аноним 28/05/20 Чтв 19:21:19 4201851671
>>394682
>Сакральный смысл в том, что ты можешь менять частоту в процессе работы, и снижать потребление устройства.
Ну в AVR это ещё очень давно появилось, в виде sleep mode, с понижением частоты, отключением переферии и,соотсветственно, снижением энергопотребления.
Аноним 28/05/20 Чтв 19:42:02 4201881672
>>420185
В avr нельзя отключать периферию в том смысле в котором она отключается в stm и прочих новомодных контроллерах.
Там она просто считай в резете находится, в stm - обесточена.
Аноним 28/05/20 Чтв 22:52:19 4202011673
Аноним 09/06/20 Втр 11:04:49 4220161674
Аноны, что скажете за Rust?
Пока из недостатков вижу отстутсвие кодогенерации на нём в кубе.
Вроде есть взаимодействие с C и C++, так что дёргание HAL или LL проблем вызывать не должно.
Аноним 09/06/20 Втр 12:11:46 4220331675
Кто как при разработке проводит тестирование (как юнит, так и интеграционное)?
Я вижу 3 возможных способа:
1. Тесты запускаются на микроконтроллере.
Надостаток: на тесты может не хватить памяти
2. Тесты компилируются в arm, который эмулируется на ПК
Недостаток: не протестировать работу с железом
3 Тесты компилируются в x86 и запускаются на ПК
Недостаток: такие же, как (2). а ещё код может работать с x86. но не с arm (например, если наворотить какой-то UB), статические arm-only либы придётся отгораживать слоем абстракции.
Аноним 09/06/20 Втр 12:53:37 4220491676
>>422033
запускаем при старте как self-test
Аноним 09/06/20 Втр 13:29:52 4220581677
>>422033
Анон поясни за тесты, что такое и как писать, можно с каким либо простейшим примером для мк?
Аноним 09/06/20 Втр 17:58:47 4221181678
>>418477
>Ну, допустим, хочу заебенить контроллер в котельную. Нет, не для управления котлом, так как он у меня твердотопливный

Лол, а я тоже, только именно для котла, он у меня автомат, а контроллеры срынка - говно полное

я - это>>418477

>Короче, я так понял, что надо смотреть в сторону RTOS?
Это да, но сначала посмотри в сторону того, как пишутся многопоточные программы с кооперативной многозадачностью.

Т.е., эта проблема она не свойственна только контроллерам.

Напиши контакты, может вместе писать будем?
Аноним 09/06/20 Втр 17:59:35 4221191679
>>418828
>Зачем все это запихивать в один мк?
За тем что твоё предложение поставить малинку означает что получится неконтроллируемое неферифицируемое глюкавое говно
Аноним 09/06/20 Втр 18:00:04 4221201680
>>418482
>Найс маневрируешь.
Я тебе прямо скажу: ассемблер это для долбоёбов
Аноним 09/06/20 Втр 18:00:50 4221211681
>>418498
>которые в отличие от взрослых ОС работают в кооперативной многозадачности
FreeRTOS для эхотага рекомендует юзать вытесняющую многозадачность таки
Аноним 09/06/20 Втр 18:01:19 4221221682
>>418565
>Для такого нужен ПЛК или небольшой промышленный компьютер(в принципе малинка пойдет) и процессоры там на порядок мощнее, чем в микроконтроллере. На STM32 ты не сможешь это сделать.

Открой любой ПЛК и увидишь внутри обычный stm32
Аноним 09/06/20 Втр 18:03:00 4221231683
>>422016
>Аноны, что скажете за Rust?
Норм, хотя и хуже чем Dlang
Аноним 09/06/20 Втр 18:03:17 4221241684
>>422016
>Пока из недостатков вижу отстутсвие кодогенерации на нём в кубе.
Это достоинство, тащемта
Аноним 09/06/20 Втр 19:29:37 4221341685
>>422033
>код может работать с x86. но не с arm
Это говнокод
Аноним 09/06/20 Втр 19:32:54 4221351686
>>422134
Да понятно, что говнокод, поэтому и недостаток такого вида тестирования в том, что он такой говнокод не заметит.
Аноним 11/06/20 Чтв 11:45:21 4223551687
>>422058

Абстрагировать логику от железных кишочков, в тестах мокаешь кишочки.
Аноним 26/06/20 Птн 21:27:44 4241001688
138763877420542[...].jpg 242Кб, 960x960
960x960
Подскажите нормальный китайский клон stlink/jlink, у пикрелейтед свистка за 100 руб уже второй раз МК накрывается пиздой с ошибкой 43. Устройства батарейные или включены через БП с развязкой, защитные диоды на USB и swd программатора впаять не забыли.
Или проще самому запилить с развязкой и более жирной защитой?
Аноним 27/06/20 Суб 00:13:47 4241081689
>>424100
Купи оригинал с гальваноразвязкой
Аноним 27/06/20 Суб 01:18:36 4241101690
>>424108
Нет в оригинале гальваноразвязки (вроде)
Аноним 27/06/20 Суб 01:46:46 4241121691
Аноним 27/06/20 Суб 07:12:28 4241171692
>>424112
Я думал то было адекватное предложение.
Аноним 27/06/20 Суб 11:41:58 4241261693
>>424117
ну чтобы пофиксить самому, надо понять причину. Не можешь понять причину - купи готовое решение.
Аноним 27/06/20 Суб 12:37:27 4241301694
>>424112
Спасибо за наводку!
Соберу на adum4160, dc-dc 0505, stm32f103 и txs0104, или куплю развязку USB на Али.
Аноним 01/07/20 Срд 08:11:42 4245661695
И снова здравствуйте. Анон >>416193 на связи. Потихоньку продолжаю ковырять STM читать то, что мне насоветовали и пилить свои говноплаты. Идет сложно и со скрипом. Так, что снова за советом. Есть одна плата собственно тот самый бар на мегагерцовой тяге лул и она работает через жопу.
https://easyeda.com/Ivenhor/stm32f303re-tft
Собственно сам проект. Насколько я понял любой тут может в него потыкать.
Понятно что все сделано криво. Но я стараюсь стать лучше.
Принципиальные проблемы две. Линия 5V Не работает. Там твориться какая то хуйня. То 7 то 10 вольт вместо задуманных 5. Где то я обосрался, но не могу понять где. Тыкните носом долбоеба.
Вторая проблема с экраном. Он нихуя не работает. Экран стандартная китайщина на ili9341 Задумывалось что он будет тупо впаиваться с плату. Но нихуя не работает. Подсветка горит изображение не выводиться. Есть плата нуклео, на которой тот же экран прекрасно работает. Те же самые ножки контроллера использую, один и тот же код. Но нет. Хуй знает в чем проблема.
В остальном плата вроде рабочая. Программируется и весь код кроме экрана работает как задумано насколько это возможно при моем уровне знаний. Но если я где то еще серьезно обосрался будет здорово если мне на это укажут.
Аноним 01/07/20 Срд 11:33:08 4245791696
>>424566
Разводку покажи.
Аноним 01/07/20 Срд 11:57:55 4245831697
>>424579
По ссылке не открывается?
Я прост не очень умный, как еще можно показать разводку?
Аноним 01/07/20 Срд 16:18:31 4246061698
Котаны, есть nucleo h7, как мне подключить физически клавиатуру к ней, чтоб обрабатывать нажатия непосредственно на камне? Через куб чет нихуя не завелось
Аноним 01/07/20 Срд 16:28:10 4246091699
>>424566
>Линия 5V Не работает. Там твориться какая то хуйня. То 7 то 10 вольт вместо задуманных 5.
Покажи где и как меряешь, чем и как питаешь, как дебажишь и какие напряжения питания во время отладки?
У тебя точно стабы на нужное напряжение, а не ADJ версии? На первый взгляд явных косяков нет по части питания.
Аноним 01/07/20 Срд 19:07:18 4246421700
>>339005 (OP)
Анон, хочу вкатится в стм32. Что по софту под линем? Хватит ли мне <мой любимый текстовый редактор> + компилятор? Или без всяких STMStudio, STM32CubeMX и прочего крутого стафа никак?
Аноним 01/07/20 Срд 19:12:17 4246431701
>>424642
>Хватит ли мне <мой любимый текстовый редактор> + компилятор?
Некоторым хватает. Там же обыкновенный gcc есть, а можно и armclang взять.
>Или без всяких STMStudio, STM32CubeMX и прочего крутого стафа никак?
Ну, это кому как. Многим никак.
Аноним 01/07/20 Срд 19:14:57 4246441702
>>424643
В общем, как я понял, надо пробовать. Ну тогда начну с текстового редактора + gcc, а там буду смотреть чего мне не хватает.
Аноним 01/07/20 Срд 19:22:43 4246451703
>>424642
Минимум мозгоёбства с сетапом в linux - platformio + vscode с плагином/clion с плагином для состоятельных господ. Само скачает и поставит тулчейн, само сгенерит минимал проект под твой камень и платформу ststm32/cmsis/mbed, одной командой собирает и заливает.

Cubemx можно как справочник использовать - настройку какого-нибудь хитрого тактирования посмотреть, или еще что.
Аноним 01/07/20 Срд 19:24:03 4246461704
>>424642
>Что по софту под линем?
Откудова вы лезете? Хакиры дохуя штоле? Покупаешь Mastering STM32 и читаешь, как тулчейны в твоем линупсе устанавливать.
Аноним 01/07/20 Срд 19:30:47 4246491705
>>424645
Попробую тогда vscode с плагином. clion я хоть и могу использовать (хорошо быть студентом), но мне просто не нравится в ней работать
Аноним 01/07/20 Срд 19:35:06 4246511706
>>424646
>Покупаешь Mastering STM32
>MINIMUM PRICE $26.99
Дороговато. Ну и я пришел узнать опыт людей, что они могут посоветовать, а не за гайдом по установке софта.
Аноним 01/07/20 Срд 19:43:51 4246531707
>>424646
>как тулчейны в твоем линупсе устанавливать.
Оно там устанавливается одной командой. И для этого не нужно читать и тем более покупать дурацкие книжечки.

>>424645
А еще меньше мозгоебства это одной командой установить пакет gcc-arm-none-eabi (убунту, дебьян) и все. Нечего всякую чушню советовать.
Аноним 01/07/20 Срд 19:45:32 4246541708
>>424653
>дурацкие книжечки
А вот тут не надо серить себе в штаны. Книжечка будующему кулхацкеру пригодится не раз.
Аноним 01/07/20 Срд 19:53:19 4246551709
>>424606
Какой интерфейс клавиатуры? Ps2 или usb?
Аноним 01/07/20 Срд 19:58:14 4246561710
>>424654
>А вот тут не надо серить себе в штаны.
Скачал я эту книжечку, а там поиском не находится ни одного упоминания системы сборки make, не говоря уже о других системах. Так что нет, твой совет совершенно не в тему.
>Книжечка будующему кулхацкеру пригодится не раз.
Ага, конечно же. Сразу после установки Kali Linux.
Аноним 01/07/20 Срд 19:59:05 4246571711
>>424653
>А еще меньше мозгоебства это одной командой установить пакет gcc-arm-none-eabi (убунту, дебьян) и все. Нечего всякую чушню советовать.
Ты к нам из 90х? Привет, дедуля! Мейкфайлы сам каждый раз пишешь, или с дискетки копируешь?
И стартап на асме небось, на пятидюймовых?

Аноним 01/07/20 Срд 20:07:27 4246581712
>>424657
>Мейкфайлы
Вот про это не надо тут. На них многое завязано. Даже если возьмешь CLion, все равно мейкфалы будут. А симейк там даже помозгоебнее в некоторых отношениях.
И если на то пошло, то для СТМ32 уже все написано https://github.com/ObKo/stm32-cmake Самому что-то писать потребуется только если нужно что-то нестандартное. И это намного гибче, чем код, генерируемый каким-то плагином.
Аноним 01/07/20 Срд 20:46:01 4246611713
>>424656
>ни одного упоминания системы сборки make
Может быть потому, что книжечка в основном про микроконтроллеры STM32, а не пособие красноглазиков?
Аноним 01/07/20 Срд 21:19:32 4246651714
>>424661
В таком случае там ничего про это не написано:
>Покупаешь Mastering STM32 и читаешь, как тулчейны в твоем линупсе устанавливать.
То есть ничем таким эта книга тому анону не поможет.
Аноним 01/07/20 Срд 21:56:47 4246671715
>>424665
>То есть ничем
Тулчейны-то, блядь, установит!!! Может еще доебешься, что там не описано как пропатчить KDE под FreeBSD? Твоя МАКЕ это уже специализированный инструмент. По нему свои книжки есть или маны, я хуй его знаю чем вы себе голову засираете.
Аноним 01/07/20 Срд 22:28:08 4246711716
>>424667
>доебешься
Еще бы не доебаться, если ты рекламируешь какую-то ерунду, да еще и покупать советуешь.
>Тулчейны-то, блядь, установит!!!
Ага, точно. Установит несколько пакетов одной командой, стоило ради этого покупать целую книгу. А потом в разных дистрибутивах могут быть разные пакетные менеджеры и даже пакет с gcc может называться по разному, поэтому еще не факт что установит, если выполнит указанные там команды.
Остальную часть твоего высказывания даже не буду комментировать, все совершенно не в тему заданного вопроса.
Аноним 01/07/20 Срд 22:51:32 4246731717
>>424671
>рекламируешь
Какой же ты душный мудак. Иди ядро пересобери штоле
Аноним 01/07/20 Срд 23:50:17 4246791718
>>424673
Я хоть не дезинформирую, в отличие от некоторых. И не агитирую тратить деньги на какие попало книжонки.

Для линуксов достаточно установить пакеты gcc-arm-none-eabi и cmake, далее взять https://github.com/ObKo/stm32-cmake и на этом все. Или можно взять не cmake, а другую, без разницы. Причем это не только для линуксов, так имеет смысл делать вне зависимости от ОС.
Аноним 02/07/20 Чтв 00:54:24 4246851719
>>424679
> чото понаставить, если у тебя убунта дебиан, а если нет то бибу
> чото откудато склонировать
Ты забыл прописать пачку настроек в CMakeFile.txt
> и на этом всё

Вместо того чтобы просто
> pip install platformio
> pio project init --board disco_f303vc --project-option "framework=cmsis"
> pio run -t upload
Аноним 02/07/20 Чтв 03:22:05 4246891720
Не могу прошить STM32F103C8T6 через USART PL-2303HX делаю всё по мануалу но пррораммер её не видит. Всегда мигает светодиод pc13 плата реагирует только на ресет.
Аноним 02/07/20 Чтв 03:27:51 4246901721
>>406320
Такая же хрень бро с pl-2303
Аноним 02/07/20 Чтв 07:04:56 4246931722
>>424689
>Всегда мигает светодиод pc13
Значит бут режим не переключается. Перемычки то правильно переставил? Если правильно, то следует проверить сопротивление резисторов на BOOTx-выводах, через которые джамперы перемыкают.
Аноним 02/07/20 Чтв 07:15:42 4246941723
>>424689
Если не заведется, проверь саму pl, замкнув tx на rx, и написав пару букв в терминале. Ну и pl tx -> usart1 rx и наоборот, естественно.
Аноним 02/07/20 Чтв 08:05:21 4246951724
>>424642
>Анон, хочу вкатится в стм32. Что по софту под линем? Хватит ли мне <мой любимый текстовый редактор> + компилятор?

Да. Использую строго опенсорс (потому что заебали 20гиговые редакторы от брендов).

clang + geany + libopencm3 + freertos
Аноним 02/07/20 Чтв 08:12:23 4246971725
>>424695
>20гиговые редакторы от брендов
Когда красноглазый пиздит? Когда открывает рот. Вот те папка Кейла с пакетами на всю линейку STM, начиная F0 и заканчивая MP&WB (установил, сам не знаю нахуя)
Аноним 02/07/20 Чтв 08:13:22 4246981726
кейл.PNG 30Кб, 595x409
595x409
Аноним 02/07/20 Чтв 08:30:44 4246991727
>>424694
PL работает в терминале буквы на замкнутой rx tx набираются
Аноним 02/07/20 Чтв 08:34:19 4247001728
>>424697
мне ещё не нравится закрытость сама по себе. не уверенно себя чувствую когда не могу поправить всё что хочу сам.
Аноним 02/07/20 Чтв 09:59:28 4247041729
VID202007021356[...].mp4 3572Кб, 1080x1920, 00:00:02
1080x1920
Вот такая залупа постоянно с любыми перемычками
Аноним 02/07/20 Чтв 10:37:12 4247071730
>>424609
Меряю там где у меня выходят линии питания. Тестером лол. Тыкаю один щуп в землю другой в запитанный пин. Не знаю как это еще можно сделать. Я специально вывел все линии что бы можно было потыкать. Питаю я 12 вольтами. Соответственно у меня выходят 12, 5, 3.3.
Стабилизатор https://lcsc.com/product-detail/Low-Dropout-Regulators-LDO_Advanced-Monolithic-Systems-AMS1117-5-0_C6187.html
Вот этот вот.
Жаль что нет явных косяков. Тогда все было бы намного проще.
Аноним 02/07/20 Чтв 10:40:17 4247101731
Как должна вести себя плата при прошивке ни одного видео
Аноним 02/07/20 Чтв 10:57:05 4247121732
>>424710
Вибрировать и светиться неоном.
Аноним 02/07/20 Чтв 11:06:12 4247131733
>>424712
>и светиться неоном
Сам контроллер? А где в нем светлодиод? В ямочке ключа?
Аноним 02/07/20 Чтв 11:19:38 4247181734
>>424713
Бля ну тут совсем тупая школота сидит
Аноним 02/07/20 Чтв 13:09:51 4247431735
>>424718
Во-во, неонка же без светодиодов работает
Аноним 02/07/20 Чтв 13:51:47 4247581736
>>424566
Конденсаторы 22 мкФ на +5 В керамические?
Поменяй их на танталовые/электролитические, или подключи последовательно с керамическим 22 мкФ ~0.5-1 Ом резистор. Часть линейников нестабильно работает с керамикой, им нужен конденсатор с большим esr, в даташитах у таких пишут про tantalum output capacitor или про минимальный esr.
Ещё проверь входной кондёр, из-за его отсутствия тоже такое бывает.
Аноним 02/07/20 Чтв 15:10:19 4247731737
>>424704
Замерил проводники до чипа на плате и резисторы
100 ком R3 R4 всё целое. Почему мигает PC13 в boot0=1
Аноним 02/07/20 Чтв 15:38:28 4247801738
>>424758
Спасибо. Уточню эти моменты. Конденсаторы выбирал только по емкости и о таких тонкостях не знал.
Аноним 02/07/20 Чтв 16:26:26 4247871739
>>424773
Там должно быть значительно меньше 100 ком. Там же подтягивающие резисторы того же попядка, а эти должны быть на попядок меньше. На китайских платах это довольно распространенная проблема.
Аноним 02/07/20 Чтв 16:31:18 4247881740
>>424787
Почему у грязных индусов в ютьюбе эти же платы с алишки работают а у меня нет.
Аноним 02/07/20 Чтв 20:19:39 4248171741
>>424788
Просто перепаяй эти резисторы. Твои индусы возможно так и сделали, а может им повезло с китайцем.
Аноним 02/07/20 Чтв 20:22:20 4248181742
>>424817
Если резисторов нет, то можно заменить просто перемычкой.
Зачем вообще тебе бутлоадер? Оно нормально шьется и отлаживается через SWD.
Аноним 03/07/20 Птн 03:12:36 4248391743
>>424818
Stlink нет. Есть только PL-2303HX.
Аноним 03/07/20 Птн 03:15:16 4248401744
>>424818
Доберусь до паяльника попррбую подать +3.3 и землю напрямую на boot 0 boot1 чипа.
Аноним 03/07/20 Птн 04:44:35 4248441745
Lesson29.png 10Кб, 568x564
568x564
Зачем нужен этот 10k?
Аноним 03/07/20 Птн 09:20:06 4248631746
>>424844
>Зачем нужен этот 10k?
В душе не ебу, что у тебя изображено на картинке и нахуя там резистор на 10к. Ты можешь по человечески нарисовать, что и куда у тебя подключено к контроллеру?
Аноним 03/07/20 Птн 10:24:41 4248671747
>>424844
>Зачем
Подтяжка к земле.
Аноним 03/07/20 Птн 18:50:14 4249511748
>>424863
Собираю всё как накартинке без резистора 10к. Но ебанный демонстратор невидит плату. Постоянно мигает pc13 с любыми вариантами перемычек.
Аноним 03/07/20 Птн 19:17:50 4249601749
>>424951
Так перемкнул резисторы, которые по 100 кОм?

>Но ебанный демонстратор невидит плату.
>Постоянно мигает pc13 с любыми вариантами перемычек.
Как он в таком случае может видеть? Светодиодом мигает зашитая по дефолту программа.
Ты в курсе что такое бутлоадер? Похоже нет. В микроконтроллере есть масочное ПЗУ, из которого он начинает выполнять программу при включении питания. Эта программа проверяет лог. уровни на выводах BOOTx и в зависимости от результат либо переходит к выполнению кода с флешки, либо начинает ждать команды по UART для перепрошивки. Естественно кога программа из масочного ПЗУ ждет команды по UART, программа из флешки выполняться не может, ну никак не может, соответственно светодиод мигать не будет.
Аноним 03/07/20 Птн 22:08:08 4250031750
>>424951
Простой вопрос.. Reset или анус питание передергиваешь после изменения положения перемычек?
Аноним 04/07/20 Суб 00:16:35 4250201751
>>425003
Конечно, до перезагрузки ничего не будет.
Аноним 04/07/20 Суб 08:39:47 4250281752
IMG202007041333[...].jpg 2806Кб, 4000x3000
4000x3000
>>424960
Выдрал R3 R4 зашунтировал. Теперь при подачи на boot0 плюса плата после ресета перестает моргать pc13 и наверное уходит в загрузчик но связи через usart получить опять не могу.
Аноним 04/07/20 Суб 09:12:01 4250311753
>>425028
Ебаное китайское поделие залил от нехуй делать плату спиртом промыл и это говно прошилось и заработало.
Аноним 11/07/20 Суб 09:23:03 4258051754
Сап стмач. Кто-нибудь делал (или может читал где-то) проект, где в одном чипе две прошивки? Самый распространенный вариант это боевая прошивка + свой бутлоадер, интересует, как обычно такое делают - в виде двух разных проектов или как-то объединяют в один. В идеале потом получить единый hex (или bin).

И второй вопрос в развитие первого. Есть мысль грузить прошивку удаленно скажем по сети, но не затирать первую, а прошивать ее во вторую половину flash, потом проверять CRC и потом как-то "переключать" на использование новой. При следующем цикле затирать уже первую половину и т.д. Типа эмуляция dual boot, при этом выбор прошивки для старта должен происходить автоматически - всегда самая свежая.

Пока начал копать и пробовать, освоил только перемещение таблицы векторов.
Аноним 11/07/20 Суб 13:13:55 4258231755
>>425805
>боевая прошивка + свой бутлоадер
>интересует, как обычно такое делают - в виде двух разных проектов или как-то объединяют в один.
Возможны оба варианта. Если один проект, то бутлоадер это просто одна или несколько функций, которые принимают байтики и пишут на флешку. В зависимости от особенностей работы флешки, функции бутлоадера должны быть размещены в ПЗУ или определенных областях флешки.
Если два разных проекта и в твоем микроконтроллере можно переносить таблицу векторов прерываний (начиная с Cortex-M3), то делается аналогично штатному бутлоадеру. Свой собственный бутлоадер размещают в начале ПЗУ, а после бутлоадера основную программу. За размещение программы в определенных областях памяти отвечают настройки линкера. Как перейти к выполнению основной программы из бутлоадера? Для этого есть NVIC и там можно просто перенести таблицу прерываний.
>В идеале потом получить единый hex (или bin).
Если было два отдельных проекта, то если пользуешься gcc, можно использовать objcopy.

>И второй вопрос в развитие первого.
Нет, так в общем случае невозможно. Если не указать компилятору дополнительные опции, то он сгенерит код, в котором используются абсолютные адреса, поэтому так просто нельзя записать программу в произвольное место и перейти к ее выполнению. Однако можно заставить компилятор делать адресно-независимый код, для gcc это опция -fPIC, если я правильно помню.
Аноним 11/07/20 Суб 13:16:10 4258241756
>>425823
>функции бутлоадера должны быть размещены в ПЗУ
Опечатался. Должны быть размещены в ОЗУ.
Аноним 11/07/20 Суб 13:49:03 4258291757
>>425823
Спасибо за ответ. Cortex-M4, таблицу векторов прерываний переносить можно.

> можно заставить компилятор делать адресно-независимый код, для gcc это опция -fPIC, если я правильно помню
Спасибо, попробую исследовать этот вопрос.
Аноним 11/07/20 Суб 14:18:28 4258331758
>>425829
Не думаю что это так просто, ведь любой указатель это абсолютный адрес. Даже если компилятор сработает правильно во всем, то все равно без последствий это не обойдется.
Думаю что следует действовать иначе, хотя бы компилировать одновременно две версии для разных адресов.
Аноним 11/07/20 Суб 14:55:43 4258371759
>>425833
Тогда я не знаю, как определить, какую прошивку грузить.
Аноним 11/07/20 Суб 15:39:26 4258471760
>>425833
Можно выделить в ОЗУ буфер на размер прошивки, и пока производится контроль целостности, хранить весь образ там. Но что если прошивка со временем раздуется до размеров, не позволяющих целиком вместить ее в ОЗУ?

Вычитал, что люди делают такие вещи с дополнительными флагами -fPIC -mno-pic-data-is-text-relative -msingle-pic-base -mpic-register=r10, и то у половины че-то там не работает. При компиляции размер тестовой прошивки с мигалкой и отладочной печатью в ITM вырос, там типа какая-то глобальная таблица смещений дополнительно появляется, из которой программа будет узнавать адреса всех указателей. Т.е. компилятор добавляет код для разруливания этой изменившейся адресации.
Аноним 11/07/20 Суб 15:42:29 4258481761
>>425837
Я правильно тебя понял, что ты хочешь иметь одновременно две версии программы и иметь возможность переключаться между ними? Нужна ли тебе при этом возможность грузить новые версии не программатором, а через UART или еще как-нибудь?
Аноним 11/07/20 Суб 15:48:40 4258491762
>>425848
По Ethernet. Возможно придется делать резервный канал через RS-422.

Я хочу по мере приема пакетов с новой прошивкой не сразу затирать старую версию (вдруг помехи, обрыв, потери, питание пропало), а записать ее в другой сектор флэша, а потом, убедившись, что все CRC в порядке, дописывать в конец сектора идентификатор с указанием, что эта прошивка актуальная. А дальше при перезапуске бутлоадер определял бы актуальную версию и загружал бы ее. А если бы загрузка новой прошла со сбоями, останется старая рабочая версия.
Аноним 11/07/20 Суб 15:53:53 4258501763
>>425849
>>425848
Можно даже потом бутлоадером переписывать новую из второго сектора в первый, чтобы всегда стартовать из одного места, тогда никаких проблем с адресацией и прочим. Но это как-то тупо.
Аноним 11/07/20 Суб 16:03:23 4258511764
>>425849
Компилируй две версии прошивки под разные адреса, а во флешку пиши только нужную в данный момент.
Аноним 11/07/20 Суб 16:11:06 4258551765
>>425851
Т.е. каждый раз передавать две прошивки, а железка пусть сама разбирается, какая ей нужна?
Аноним 11/07/20 Суб 22:33:10 4258931766
С ключом -fPIC и прочими ничего не получается. Загружаю вручную по адресу 0x08020000 первую программу (зеленая мигалка), по адресу 0x08040000 - вторую (красная мигалка). Обе программы скомпилированы с ключом -fPIC, у обеих в скрипте линковщика одно и то же. По идее в зависимости от состояния кнопки при включении питания бутлоадер должен запускать разные версии программы, в итоге запускается только одна, т.к. в обеих таблицах векторов все адреса (в том числе и Reset_Handler) указывают на один сектор 0x08020000.

Если программы линковать с разными адресами, кнопка естественно выбирает прошивку, как надо. Вот только прошивки из-за этого разные получаются.
Аноним 11/07/20 Суб 23:22:10 4258951767
>>425893
Так создавай таблицу векторов прерываний в ОЗУ динамически, делов то. Но вообще проблема у тебя выдуманная, в чем сложность компилировать две версии с разными адресами и загружать только нужную?
Аноним 11/07/20 Суб 23:47:28 4259021768
>>425895
> создавай таблицу векторов прерываний в ОЗУ динамически
От этого ничего не изменится.
Аноним 12/07/20 Вск 08:32:25 4259151769
>>425893
>>425895
Не на всех stm32 нужно переносить таблицу векторов в ОЗУ.
ОПу надо сделать следующее:
1) научиться переходить по адресу на другую программу, как здесь https://www.iar.com/support/tech-notes/general/creating-a-bootloader-for-cortex-m/
2) перенести таблицу векторов прерываний либо в ОЗУ, если не можем через VTOR настроить или перенести в конфигурации линкера и настроить через VTOR
3) Ограничить в линкере диапазон адресов флеша, где может быть размещена прошивка
Аноним 12/07/20 Вск 10:13:58 4259181770
>>425915
Все это уже сделано.
Аноним 12/07/20 Вск 10:17:30 4259191771
>>425915
>Не на всех stm32 нужно переносить таблицу векторов в ОЗУ.
Уже было, на что он ответил что у него Cortex-M4.
>2) перенести таблицу векторов прерываний либо в ОЗУ
Ошибаешься, ему надо динамически ее пересчитывать, т.к. он хочет сами обработчики размещать с произвольным смещением. Можно и не переносить, а сделать для каждой программы по таблице для каждого смещения по адресу.

Но вообще он херней страдает, все это можно сделать намного проще и эффективнее. И мне кажется что он не ОП треда.
Аноним 12/07/20 Вск 10:19:08 4259201772
>>425918
Тогда, если ты таблицы пересчитываешь, то что у тебя не работает?
Аноним 12/07/20 Вск 10:28:47 4259211773
>>425920
>>425918
Таблицы я не пересчитываю. Просто переношу адрес вектора в регистре VTOR. Похоже я не догоняю.

Правильно я понял, что все адреса обработчиков также нужно вычислить с учетом известного смещения прошивки в памяти? Но тогда мне нужно еще скопировать код обработчиков по новым адресам. Если с пользовательскими обработчиками я так делать умею, то с кодом Reset_Handler я не знаю, как это сделать. Это надо править файл стартапа и возможно скрипт линковщика. Этой магией я пока не владею.

И еще вопрос - допустим обработчики я перенес и программа начнет стартовать из ОЗУ. Как быть со всеми остальными указателями? Их же тоже надо пересчитывать или нет?
Аноним 12/07/20 Вск 13:52:36 4259371774
>>425921
Помимо VTOR, нужно ещё в файле конфигурации линкера их перенести.
Аноним 30/07/20 Чтв 19:35:02 4276551775
Кто-нибудь использует асм? Насколько выгоднее C?
Аноним 30/07/20 Чтв 20:43:28 4276651776
>>427655
>Кто-нибудь использует асм?
Если ты не используешь молниеносный ногодрыг, то нахуя?
Аноним 06/08/20 Чтв 14:43:42 4282741777
>>427665
>молниеносный ногодрыг
Для этого асм не нужен.
Насколько я знаю, через предделитель можно вывести тактовый сигнал МК (PLL) на любую из ног.
Аноним 06/08/20 Чтв 15:05:53 4282791778
image.png 143Кб, 821x705
821x705
>>339005 (OP)
>Хочу вкатится в разработку на stm32.
Так это же самая сермяжная мужицкая параша, а не передний край технического прогресса. Как раз для хлебушков.

Хули там в твоих кококонтроллерах? Прописал регистры, как макака, и все, хуже даже, чем в жс. И общаться ты там будешь, скорее всего, с нешарящими и тупыми постсовковыми долбоебами-радиолюбителями, если на хедхантере собрался искать (просто нешарящими - это программа-минимум и уже удача; обычно они не просто не шарят, у них еще и куча каких-то извращенных поверий и маняфантазий по теме, и все это на фоне просто запредельных ЧСВ и токсичности). Оно те надо?

Тру - это машобчик, ООП, графика, игры, софтвер инжиниринг.
Аноним 07/08/20 Птн 00:14:14 4284321779
>>428279
Ну дык нечего торчать в Барнауле
Аноним 07/08/20 Птн 16:42:17 4285371780
>>428279
>куча каких-то извращенных поверий
Типа каких? мне чисто поржать
Аноним 08/08/20 Суб 07:55:10 4285861781
image.png 134Кб, 347x276
347x276
>>428279
>Тру - это машобчик, ООП, графика, игры, софтвер инжиниринг.
Аноним 10/08/20 Пнд 08:11:58 4289951782
Господа, кто работал с freertos, объясните какой принцип ручного запуска задач по какому-то событию?
Условно я хочу запускать задачу по внешнему прерыванию.
Я сейчас делаю так: освобождаю мьютекс внутри прерывания, задача берет мьютекс себе и в конце его не освобождает. Тем самым снова сама себя блокирует.
Аноним 10/08/20 Пнд 09:29:31 4289971783
>>428995
Так надо было семафор брать, а не мьютекс.
Ты всё перепутал, чел.
Аноним 10/08/20 Пнд 10:48:37 4290021784
>>428997
Спасибо за помощь
Я думал что мьютекс это и есть что-то вроде двоичного семафора.
Сейчас все заработало с двоичным семафором, но только после того как я создал его до конфигурации переферии и задач.
Подозреваю что в этом и была проблема моих зависаний
Аноним 13/08/20 Чтв 02:00:03 4293461785
Планирую вкатываться. Какую среду разработки посоветуете? В универе нам рекомендовали Cube mx + IAR ewarm
Аноним 13/08/20 Чтв 06:45:45 4293511786
>>429346
Ща местный красноглаз обоссыт твой универ и расскажет тебе где тулчейн зимует
Аноним 14/08/20 Птн 07:13:01 4294351787
>>429346
С пивом покатит, у меня такая же.
Редактор похуже эклипса, зато отладка норм, куб оче удобная и наглядная штука.
Разве что у HAL документация через жопу написана, и в требовательных задачах может не хватить быстродействия, но никто не мешает инициализироваться кубом, а дальше в зависимости от ситуации дрочить регистры по мануалу или использовать тот же HAL/LL.
Аноним 14/08/20 Птн 14:23:33 4294561788
Полгода читаю ваши срачи о том, что круче: авр, стм, пики-пуки и пр. арм скам, - только щаз до меня дошло. Я ведь работаю на оборонном заводе радиооборудования, у которого клиенты от телеканалов, до эрбаса, амерского эрфорса и арммии эмиратов. Я комплектую детали для этого оборудования и шо я вижу... Когда-то использовали пики, навероное с ними оборудование не выпускается больше 5 лет(судя по иарпи и слою пыли на них); так же есть старинные процессоры от мотороллы со GBA 100 и хайниксы какие-то. Нынешнее поколение оборудования выпускаеца только на Атмега8Л, Атмега128Л и хайниксак. Последние только для сетевого интерфейса.

Олсо, атмеги менее всего заменяемая деталь, за год выдал не больше 5ти штук.

Пики хз для чего, но чего-то очень массового, т.е. дешёвого оборудование. Олсо, СТМ32 для совсем говно-фонариков и ир-стробов, которые делаюца тысячами в неделю.

Олсо, используют ардуины нано или майкро на антеннах, но хз какова их функция.
Аноним 14/08/20 Птн 17:04:47 4294671789
>>429456
А миландровские (1986ве) и нииэтовские (1921вк) кортексы не используете?
Аноним 14/08/20 Птн 18:09:25 4294741790
>>429467
Он же просто кладовщик... Непонятно где, причем.
Это примерно как выслушивать мнение "домохозяйки" по этому вопросу.
Аноним 14/08/20 Птн 21:07:43 4295121791
>>429456
>Олсо, СТМ32 для совсем говно-фонариков и ир-стробов
Ты просто открыл для меня новый мир!! Сейчас же заброшу возню с хуетой 746Дискавери и перейду на Ардуино_Мега. У ней Атмега 256!!! Я буду просто на острие оборонного прогресса

покормил бидораса
Аноним 14/08/20 Птн 23:35:02 4295331792
artem-rhx-chebo[...].jpg 744Кб, 1200x1200
1200x1200
>>429512
мошт ОНО (ардуино) лампочкой моргает на антенне (по ночам) чтоб самолёты не врезались-а ВЫ на кладовщика сразу взьелись
Аноним 15/08/20 Суб 15:21:55 4295651793
>>429533
>ОНО (ардуино) лампочкой моргает
Ардуино/10
Интересно, сколько бюджета на этом освоили
Аноним 17/08/20 Пнд 07:50:30 4297821794
>>339005 (OP)
Как управлять скоростью вращения канального вентилятора для вытяжки через Ардуино?
Аноним 17/08/20 Пнд 17:38:18 4297991795
>>429782
Схему канального вентилятора в студию! А то может вообще он для этого не предназначен.
Аноним 17/08/20 Пнд 20:33:57 4298141796
>>429799
А у меня нет еще вентилятора, я только присматриваю. Вот нашел диммер, походу то что надо.
https://aliexpress.ru/item/32975095882.html
А на что там обращать внимание в вентиляторе, что бы он от диммера работал?
Аноним 24/08/20 Пнд 14:41:48 4304401797
W2jrB-EFXRg.jpg 163Кб, 1280x720
1280x720
>>339005 (OP)
По ошибке заказал с алика CKS32F103C8T6 вместо оригинальной STM32. Попытки прошить ее с помощью программатора St-link/v2/01-0 что с OpenOCD, что без нее, оборачиваются неудачей. Пробовал менять в конфигурационных файлах некий адрес, а также менять конфигурационные файлы полностью на те, что нашел на гитхабе (ссылку потерял), ничего не помогло.
Аноним 24/08/20 Пнд 14:43:19 4304411798
Аноним 24/08/20 Пнд 16:26:14 4304421799
>>430440
unable to connect to the target это программатор вообще не видит камень, у тебя тупо swd линии где-то оборваны
Аноним 24/08/20 Пнд 16:31:20 4304431800
>>430442
Он там по вебу его прошить пытается? Лохохост:3333 это что за чертовщина?
Аноним 24/08/20 Пнд 16:36:28 4304441801
>>430443
По OpenOCD же.

>>430442
Подключение по SWD я много раз перепроверял
Аноним 24/08/20 Пнд 16:59:45 4304461802
>>430444
>По OpenOCD же.
Но при чем тут локалхост, если подключается по USB через ST-Link или по юарту через переходник? Это какая-то опенсурсная магия?
Аноним 24/08/20 Пнд 17:04:30 4304471803
>>430446
"Клиент" подключается к "серверу" OpenOCD, общаясь с ним по определенному протоколу, то есть, говоря, что именно надо зашить в микроконтроллер. А OpenOCD, в свою очередь, взаимодействует с драйвером программатора st-link v2. Теоретически можно проводить эту прошивку удаленно, да.
Аноним 24/08/20 Пнд 17:09:41 4304481804
>>430447
Веб-макаки дорвались до системного программирования не смогли обойтись без своих жаба-скриптов штоле?
Аноним 24/08/20 Пнд 17:11:03 4304491805
Аноним 24/08/20 Пнд 17:14:10 4304501806
>>430448
ты не знаешь, как общаются IDE и GDB/OpenOCD, да? Они связываются по TCP протоколу, и так было задолго до повсеместного распространения жаба-скриптов
Аноним 24/08/20 Пнд 17:16:10 4304521807
>>430444
у тебя либо прошивка отключает SWD, тогда выбери connection under reset
либо камень не имеет SWD или вообще пустышка
Аноним 24/08/20 Пнд 17:16:55 4304541808
>>430450
Я просто замечаю редкие проскакивания нитаких как все, которые стесняются купить на торренте кейл и не ебать себе голову, а любящие бряцать линупсами/эклипсами и прочей лабудой, постоянно не осиливающие их закрасноглазить. Короче, мне хватает мозгоебли с самим контроллером, чтобы не лезть в эти ебучие дебри.
Аноним 24/08/20 Пнд 17:17:29 4304551809
>>430454
В кейле все еще хуже.
Аноним 24/08/20 Пнд 17:21:09 4304571810
>>430454
cudeide это эклипс с плагинами от производителя, отладка работает из коробки, красноглазить особо негде
Кейл застрял в нулевых по внешнему виду и функционалу, такие как все сейчас используют clion
Аноним 24/08/20 Пнд 19:17:34 4304591811
>>430440
IDCODE для начала прочти, а то непонятно вообще что это за микроконтроллер. CS32 у меня читался и писался обычным JLink-ом без проблем, насколько я помню, только IDCODE не соответствовал. Но лучше, если есть возможность, купи в терраэлектронике или чипдипе нормальный микроконтроллер и перепаяй.

>>430454
>Кря!!!
Если это для тебя красноглазие, то поправить что-нибудь по мелочи в какой-нибудь опенсурсной программе и скомпилировать ее для тебя будет нереально. Там ведь мейкфайлы! Какой ужас! Конечно ты можешь написать что программируешь только микроконтроллеры, а для компов не пишешь ни строчки, но это уже ограниченность какая-то.
Аноним 24/08/20 Пнд 20:08:11 4304651812
>>430459
>Кря!!!
>Пук
Вот и вылезло это больное животное.
Аноним 24/08/20 Пнд 22:21:06 4304781813
>>430465
Для тебя наверное и системы контроля версий тоже ненужное красноглазие?
Аноним 25/08/20 Втр 08:44:21 4305071814
>>430478
>и системы контроля версий тоже ненужное красноглазие?
Нет. Это нужный инструмент в отличии от этой детской ебли с опенсурсом в попытке доказать одноклассникам кокой ты кулхакир.
Аноним 25/08/20 Втр 10:13:53 4305111815
>>430507
надо быть как все, а на самом деле - байтики в калькуляторе посчитал, прошивочку в блокнотике написал.
Аноним 25/08/20 Втр 14:30:42 4305391816
>>430511
>прошивочку в блокнотике написал
Есть же охуенный VSCode
Аноним 25/08/20 Втр 19:35:38 4305781817
>>430507
Так все наиболее популярные системы контроля версий опенсурсные. Причем графический интерфейс у них не предоставляет некоторых возможностей, которые иногда требуются и тогда приходится вводить команды руками, как ты выражаешься "красноглазить".
Один анон выше упоминал CLion, так он вовсе не опенсурсный, но CMake с ним использовать придется. Тоже красноглазие по твоему?
Почему именно линуксы с эклипсами тебя так напрягают? Ничего же не мешает писать код в любой IDE, а компилировать armclang-ом, если так не нравится gcc.
Аноним 28/08/20 Птн 05:44:31 4308931818
Я чёто прожал и всё пропало. Залил тестовую почти пустую прогу (в регистрах не разбирался, просто пару переменных объявил). Потом решил сделать это ещё раз, но ничего не получилось. st link usb communication error. В винде он есть, а проги его не видят
Аноним 28/08/20 Птн 06:34:23 4308941819
>>430893
Если поменять бут мод джамперами, то вроде включается. Блин, в универе как-то без задней мысли кодились эти шимы на таймерах и ультразвуковые датчики
Аноним 28/08/20 Птн 10:56:21 4309051820
>>430894
Ставь линукс и st-util
Аноним 28/08/20 Птн 13:46:42 4309381821
>>430894
Проблема заключалась в том, что я не подрубил serial wire debug в cubemx. Надо было затереть память с другого джампера
Аноним 28/08/20 Птн 14:20:23 4309601822
>>430938
а вот если бы ты не использовал cubemx, оно было бы включено по умолчанию
Аноним 28/08/20 Птн 14:43:26 4309811823
>>430960
но ведь это удобно
Аноним 28/08/20 Птн 21:49:01 4310151824
Насколько сильно нужно разбираться в электронике, чтобы собирать разнообразные устройства на базе STM32 и далее FPGA?
Аноним 29/08/20 Суб 00:03:06 4310371825
>>431015
закона Ома для начала хватит, а когда будет не хватать, тогда и доучишь то, что надо
Аноним 29/08/20 Суб 04:10:46 4310481826
>>431037
У меня прерывания срабатывают за полметра до концевика. Концевик расположен на расстоянии двух метров от stm32. Знаю закон Ома и правила Кирхгофа, а прерывания на пине случайным образом возникают. Что нужно почитать по этому вопросу?
Аноним 29/08/20 Суб 04:38:21 4310491827
>>431015
На сколько хорошо знаешь линукс?
Аноним 29/08/20 Суб 06:19:23 4310501828
>>431048
пин подтянут или в воздухе висит?
Аноним 29/08/20 Суб 06:52:55 4310511829
>>431050
Подтягивал и к плюсу и к минусу, ничего не помогает.
Аноним 29/08/20 Суб 19:13:52 4310681830
>>431049
Ничего, а каким образом он относится к STM32?
Аноним 30/08/20 Вск 04:57:39 4310981831
>>431068
Красноглазить часто приходится в отличие от тех же восьмибитных пиков где все инструменты под Винду заточенны.
Аноним 30/08/20 Вск 11:13:00 4311071832
>>431098
Полнейший бред, аналогичный >>430454 Может это один анон?

Это не так, даже если брать для STM32 все опенсурсное. gcc одинаково работает и под виндой и под линуксом. make тоже работает под виндой. SEGGER или OpenOCD тоже кроссплатформенные. Остальные инструменты тем более будут одинаково работать под любой ОС. Нет там никакой "заточенности" под ляликс, даже если брать все опенсурсное.
Про FPGA тоже все не так. Квартус и вивада сейчас есть под обе операционные системы.
>в отличие от тех же восьмибитных пиков где все инструменты под Винду
Можно использовать SDCC, при желании.
Аноним 03/09/20 Чтв 12:27:15 4315431833
>>431048
> Что нужно почитать по этому вопросу?
Очевидно, reference manual, главы про gpio и прерывания
Для начала покажи, как ты настраиваешь прерывания на ноге
Аноним 05/09/20 Суб 23:03:52 4318271834
Приветствую, радач.
Ковыряю stm32f103 и его таймеры в режиме захвата импульсов. Понимаю, что можно назначить на один пин мк два канала (direct и indirect) и по прерываниям на каналах читать регистры, куда каналы сохраняют счетчик по фронтам/спадам и высчитывать разницу. Но это блять занимает два канала на один сигнал, сука! А у меня таймеров (и пинов) и так не хватает, и вообще внутренний еврей подавился жабой, поэтому внимание, ебанутый вопрос:
можно ли реализовать измерение длительности импульса на одном канале таймера? Ковыряю HC-SR04, хочу схитрожопить.
Фантазия такая:
1 настраиваю таймер (пусть будет TIM3): предделители, предел счета все дела, настраиваю канал (пусть будет CH1) на захват по фронту. Включаю прерывание и обработку прерываний. Включаю таймер.
2 на пин приходит сигнал лог 1, т.е. фронт, генерится прерывание
3 в обработчике прерываний смотрю какой бит прерываний появился. Если это прерывание по появлению сигнала, а не по переполнению счетчика, то обнуляю регистр CNT, перенастраиваю пин на обработку по спаду сигнала и запускаю счетчик
4 когда сигнал уходит, генерится прерывание. В обработчике считываю регистр CNT (это и будет длина импульса) и обратно перенастраиваю пин на обработку по фронту.

Будет такой подход работать или я где-то наебался?
Аноним 05/09/20 Суб 23:47:22 4318321835
>>431827
Ты как-то сложно всё описал. Я просто запускал/останавливал таймеры по прерыванию с ноги. Но может и я не прав
Аноним 06/09/20 Вск 00:33:59 4318331836
>>431827
Попробуй на отладочной плате, для одного должно прокатить. Вроде бы кто то уже делал такое, поищи по форумам, посмотри в RM и timer cuckbook.
Только настраивай захват в регистр CCRn, input capture, он зафиксирует значение cnt ровно в момент прихода импульса. И счетчик лучше запустить сразу по trig и не останавливать, иначе сразу добавится неизвестная задержка вызова прерывания. По прерыванию считываешь CCR и по твоим условиям меняешь полярность захвата, у результата делаешь обработку переполнения, там еще флаги соответствующие есть.

Если не покатит, можно использовать два канала.
Единственно, с двумя и несколькими сигналами лучше dma, как то мерял скважность сигналов двумя каналами и забирал результат по таймеру, при постоянной скважности были периодические небольшие выбросы.
Аноним 08/09/20 Втр 22:55:10 4320961837
>>431833
Заработало, таки победил.
Сделал так:
https://pastebin.com/gPAr3dwd
В итоге меряет число тиков между фронтом и спадом, может кому пригодится, хотя точность на обработку прерывания теряется немного.
Аноним 11/09/20 Птн 10:22:07 4322821838
5454462245578.jpg 111Кб, 1280x720
1280x720
Надо отсчитывать определённый промежуток времени: от нескольких секунд до минут. Пока не уверен - нужна ли привязка к реальному времени, но...

Есть три стула:
1) заморочиться с микросхемой часов реального времени с интерфейсом I2C и брать показания с неё - не знаю, сколько может занять считывание показаний по шине.
2) запустить ещё один таймер, но даже 64-битный таймер не сможет считать больше 5 минут. Не уверен, что правильно посчитал, но перепроверю позже.
3) уже есть таймер отмеряющий 100 мс - вести счёт на его основании, отмеряя счёт по 100мс, но с минутами... у, это ещё тот пиздец.

Как будет лучше?
Аноним 11/09/20 Птн 10:38:14 4322841839
>>432282
Что пиздецового в третьем варианте? Начал отсчёт, обнулил переменную, надо закончить, прочитал переменную.
Без троллинга, просто обычно всегда так делаю.
Есть ещё rtc, может там как-то замутить можно?
Аноним 11/09/20 Птн 14:16:15 4323321840
>>432282
Не с того бока заходишь. Какое разрешение то нужно?
Наносекунды, пикосекунды джиттера, микросекунды, миллисекунды, секунды?
Даже если брать обоссаный 16 битный таймер и тактировать его часовым кварцем на 32 килогерца - у тебя будет 2 секунды с разрешением 1/32768, те где-то 30 микросекунд.
Поставь прескалер /32 = получишь 64 секунды счета и разрешение 1/32768*32 = где-то 1 миллисекунда. Бери православный 580ВИ53 - там целых три 16-битных таймера.
Аноним 11/09/20 Птн 14:25:51 4323351841
>>432284
>Что пиздецового в третьем варианте?
Размер счётчика. 5 минут - это 3к отсчётов по 100 мс.
Разве это нормально?

>Есть ещё rtc, может там как-то замутить можно?
Да, RTC хорош.

>>432332
>Какое разрешение то нужно?
1 секунда. Может подойдёт 5 или 10 секунд.

Аноним 11/09/20 Птн 14:27:16 4323371842
>>432282
>1) заморочиться с микросхемой часов реального времени с интерфейсом I2C и брать показания с неё - не знаю, сколько может занять считывание показаний по шине.
В некоторых RTC есть режим "будильника" и внешний выход под него. В новых версиях STM32 тоже есть режим будильника в модуле RTC. В чем проблема его использовать? Что за камень то используется или планируется?
Аноним 14/09/20 Пнд 22:29:18 4327341843
>>432335
Сделай таймер периодом в 100 мсек и в прерывании переполнения счетчика заведи инкремент uint32_t переменной. Тебе этого надолго хватит. 4 294 967 295 по 100мсек это 429496729.5 сек это около 4970 суток лол.
Аноним 14/09/20 Пнд 23:07:40 4327371844
>>432282 А как кстати лучше считать время при нестабильном питании? Скажем вести отсчет наработки той или иной нагрузки.
Еппром же затрется до дыр, если его перезаписывать чаще раза в час. Ставить большой конденсатор по питанию, отлавливать просадку по питанию внешним компаратором с гистерезисом и выделять отдельную ногу под прерывание? Есть ли способ проще?
Аноним 15/09/20 Втр 00:47:44 4327461845
>>432737
Ионистор не спасет отца русской электроники?
Аноним 15/09/20 Втр 01:53:22 4327531846
>>432746 Чем? Энергию на несколько милисекунд работы можно запасти и в электролите. Но вся остальная схема то не становится проще.
Аноним 15/09/20 Втр 06:56:13 4327601847
>>432737
Даташит референс мануал хоть раз открывал?
Во всех STM32 есть немного оперативной памяти, которая питается от вывода Vbat, который питает внутренний RTC. Вот и еби эту память перезаписями сколько хочешь.
Если совсем шиза одолевает - через тот же вывод PC13 можно аппаратно давать команду на стирание памяти в которую пишешь свою статистику что бы ее никто не стырил.. Не забудь при этом отключить отладку по JTAG и SWD. Вот смеху то будет..
Аноним 15/09/20 Втр 09:23:02 4327641848
>>432753
На короткий промежуток времени да. Я просто по старой работе помню что в DVD ресиверах Samsung часы и энергозависимая память с пользовательскими настройками питалась ионистором. Можно было выключать из розетки на довольно долго, ни часы, ни настройки не сбивались. Давно это было. Бывало эта система сбоила, резистором разряжаешь ионистор и включаешь-работает. Но часы с нуля и все настройки по дефолту.
Аноним 18/09/20 Птн 14:14:57 4330421849
>>428279
Сойбой ты, ска! Иди пиши на говне JS! И последнюю версию гейакта не забудь, фем-квир-куколд!
Аноним 18/09/20 Птн 15:49:30 4330511850
Тупые постсовковые псевдоинженеры с кучей извращенных поверий и маняфантазий по теме. Говно вообразившее бог знает что о себе.
Аноним 18/09/20 Птн 22:16:21 4330721851
>>433051
Ты чего порвался?
Аноним 20/09/20 Вск 22:22:56 4334151852
bobcat112233[1].jpg 361Кб, 1200x630
1200x630
>>339005 (OP)
Реально ли с использованием __qadd16() ускорить суммирование элементов массива, длина которого не всегда кратна двум?
Суммирование сейчас:

int16_t *signal;
uint32_t sum = 0;
for(int i = 0; i < count; i++) sum += signal;
Аноним 21/09/20 Пнд 06:30:05 4334171853
>>433415
>__qadd16()
Я не настоящий сварщик, но ведь прийдется сначала преобразовать элементы массива в джва массива вида val[x] -> val[x][15:0] и val[x][31:16] ?
Аноним 21/09/20 Пнд 07:53:28 4334201854
>>433417
Ебать я опозорился. Оно само раскидывает.
Аноним 21/09/20 Пнд 21:02:47 4334611855
Котаны, поясните за Black Magic Box.
В чем минусы, подводные?
Закинул на blue pill, в принципе идея понравилась, ф103 л053 увидел без проблем л433 не захотел SW-DP scan failed!
Аноним 26/09/20 Суб 14:44:14 4340081856
Пиу, радач.
Начинаю перекатываться с avr-ок на stm32, все нравится кроме одного: гребаная STM32CubeIDE не умеет без пердолинга в С++. Самое смешное, когда я запускаю IDE и создаю проект с нуля, выбираю камень, указываю что хочу C++ проект блеать, настраиваю периферию в кубике, и....генерируется сишечка. Вот что у этих долбоебов-разработчиков IDE в голове? Хлебушек? Нахуя опция "хочу С++ проект" если один хуй генерится С? Чтоб блять у них всегда в пачке с надпитью "кофе" пурген был.

Посоветуйте IDE чтобы можно было нормально кодить на С++, мутить классы и тд. Да, можно и в STM32CubeIDE напердолить #ifdef __cplusplus extern "C" { и прочее, но что-то разочаровался я.
Аноним 26/09/20 Суб 16:33:30 4340131857
>>434008
ты в курсе, что стартап файл вообще на асме при любом языке?
Аноним 26/09/20 Суб 16:53:06 4340151858
>>434013
И при чем тут asm? Что сказать-то хотел?
Аноним 26/09/20 Суб 17:27:28 4340161859
>>434008
Тоже подумываю о перекате с простых 8 битных авр на стм32. Расскажи, какие подводные камни встретил? Почему выбрал именно эту среду разработки? Ебля с ООП на крестах обусловлена объемами кода?
Аноним 26/09/20 Суб 18:10:19 4340171860
>>434008
>Посоветуйте IDE
В какой IDE писал для AVR, в той и для STM32 можно попробовать.
>Да, можно и в STM32CubeIDE напердолить
Что? Этож эклипс обыкновенный, с плагинами. Откуда в эклипсе могут быть проблемы с цпп? Да там практически любой компилятор любого языка программирования можно использовать, если мейкфайлы использовать.
Аноним 26/09/20 Суб 18:37:01 4340191861
>>434015
бери да пиши на с++ поверх того кода, что тебе сгенерировали, тупо удаляешь main.c и добавляешь main.cpp с static int main
Аноним 28/09/20 Пнд 16:10:42 4341761862
>>434017
Не работает так. Решил я замутить библиотеку. Создал cpp и chh файлики, написал в нем слово "Class" а компилятор сказал что такого слова не знает. Гугл дал понять, что в КубоИде можно напердолить настройки компилятора чтобы и С и С++ понимал, но это и есть пердоленье.
Я хочу чтобы в пакете с надписью "хлеб" был хлеб сука, а не дрожжи мука и стакан воды. Если блять кодогенератор спрашивает "Хотите С++ проект?" то ответив "Да" я ожидаю получить С++ проект с поддержкой всех функций С++, а не обосрамс компилятора, который слово "Class" не знает. Понимаешь суть моей претензии?
Аноним 28/09/20 Пнд 16:14:56 4341781863
>>434019
Я так делал. И когда мне понадобилось добавить еще и RTC, то после тыканья в кубе и кодогенерации снова появились main.c Можно конечно завести два проекта: один весь такой С++, а второй чисто для натыкивания в кубе чтобы смотреть инициализацию периферии. Но нахера такое в 21 веке? Вот я и ищу варианты, чтобы проект С++ был действительно С++. Я и пердолиться готов, если в аннотации к ИДЕ будет написано "Готовься пердолиться, вот инструкция", а не как в говнокубе.
Аноним 28/09/20 Пнд 18:44:33 4341861864
>>434176
>Понимаешь суть моей претензии?
Не понимаю зачем вообще сразу хвататься за IDE. Пиши мейкфайлы, в нормальных проектах под твои восьмибитные ардуины так и делают. Смотри к примеру код известного тестера транзисторов или код grbl, все по человечески сделано, также и ты делай.
Аноним 28/09/20 Пнд 19:21:43 4341871865
image.png 915Кб, 650x739
650x739
>>384956
>Если надо будет за раз передавать больше 8 байт - то готовься к пердолингу
Уже давно умные люди придумали CAN FD, с возможностью передавать за раз до 64 байт, а тебя в твоей избушке и вчерашний шторм не разбудил.
Аноним 29/09/20 Втр 11:58:42 4342281866
>>434176
Если бы было всё и сразу, то программисты были бы не нужны.
Аноним 29/09/20 Втр 19:15:13 4342901867
>>384956
>твое дерьмо будет ГАРАНТИРОВАННО доставлено единым куском.
А в RS-485 разве не так? Хозяин по очереди опрашивает рабов на линии, и сообщение от нужного раба будет Г А Р А Н Т И Р О В А Н Н О доставлено единым куском до мастера. И никакого авторазрешения коллизий для этого не нужно.
Аноним 29/09/20 Втр 20:32:12 4343001868
>>434290
RS-485 это ебучий интерфейс.
Мимокрок.
Аноним 29/09/20 Втр 23:49:14 4343451869
>>434290
RS485 это просто интерфейс. Грубо говоря микросхема и уровень напряжения сигналов. А какой протокол ты этими сигналами реализуешь - зависит от тебя. Например:
1 Modbus RTU/ASCII по RS485 просто отправляет пакеты. Программисту приходится самому решать, как в мастере реализовывать проверки, что записанные данные действительно записались (считать в следующем цикле и сравнить). Приходится решать как контролировать потерю связи, хотя в протоколе есть какие-то коды функций при возникновении ошибок, но редко кто из производителей реализовывает у себя полный модбас со всеми функциями. Приходится самому решать как реализовывать очередность запросов если мастеров несколько.
2 Profibus DP тоже работает на шине RS485, но там уже на уровне протокола реализованы все недостатки модбаса выше. Написать самому такой протокол на МК я хз надо каким быть уберкодером. Такие люди врядли будут задавать вопросы про протоколы связи.
Аноним 30/09/20 Срд 04:44:54 4343611870
>>434290
Скажу очень коротко, дальше сам додумывай.
В CAN фреймы с адресом получателя и полем данных от 0 до 8 байт, которые передаются одним куском без каких-либо пауз внутри особо умные припомнят 1 бит тишины когда рабы должны ответить что поняли Господина что гарантирует доставочку одним куском, а не склейку из кучи рассыпающихся отдельных байтов.
В RS485 (UART) передача идет по 1 байту. Пролетающий мимохуй может дристануть левым байтом в линию и все поломается. В CAN же после определения приоритета (разрешения коллизий) всякая шпана затыкается и только Господин вещает в линию, а рабы молчат в тряпочку и слушают.

Совсем тупо - посмотри на Ethernet. Там фреймы по 60+4 байт. Минимум. Даже если тебе надо передать 1 байт полезных данных - у тебя всегда будет передаваться фрейм из 64 байт. Если надо больше данных передать - фрейм может быть расширен до 1518 байт, из которых вычтя служебное говно остается около 1450 байт под полезные данные которые будут доставлены одновременно и без разрывов. Если же 2 килобайта данных слать - то данные прилетят в 2 захода - 1450 байт и 550 байт.

Суть уловил? CAN как и Ethernet - единая неделимая пачка данных передается за раз в отличии от рассыпчатых байтов в RS485 (UART).
Аноним 30/09/20 Срд 14:45:10 4344001871
>>434361
Чето сложно предлагаешь.
Я бы ебашил таки Modbus, ибо:
1 протокол отлично описан и стандартизирован
2 много промышленный датчиков его умеют
3 проблемы лишних сигналов/байтов/пердежа в линиях решаются CRC
4 сам интерфейс устойчив к наводкам за счет передачи по витой паре.

Но блять это уже какая-то промышленная автоматизация получается.
Аноним 02/10/20 Птн 14:37:58 4347031872
Решил вактиться из АСУ в Embedde и начать с STM32, среда программированияSTM32CubeIDE. Так вот вопросик - есть ли годные видосы с обзором самой среды программирования? Не как поморгать условным светодиодом, а именно обзор структуры среды и всего такого?
Аноним 02/10/20 Птн 16:28:13 4347081873
>>434703
Это же эклипс, не лезь, оно тебя сожрет
Аноним 02/10/20 Птн 23:26:35 4347361874
>>434703
>Решил вактиться из АСУ в Embedde
Так надо наоборот - разобраться, как всё работает в ембедед, а потом идти в асу.
В embedded всё печально с зп-хой и карьрным ростом.
Аноним 02/10/20 Птн 23:30:13 4347371875
>>434300
CAN это не менее ебучий интерфейс.
Аноним 03/10/20 Суб 00:42:18 4347551876
>>434737
Это еще и семейство протоколов. 485 ничего кроме интерфейса не подразумевает.
Аноним 03/10/20 Суб 00:45:05 4347561877
>>434703
Короч. Предлагаю чего, могу в личке помочь с вкатом в МК за помощь с пониманием АСУ ТП.
Я в нем вообще ноль, абсолютный, но интересно всегда было.

В МК я далеко не профи, прям сильно, много дыр и нехватки знаний, но даже могу немного в коммерческую разработку(ага, унитазы автоматизирую).
Не ардуинщик
Аноним 03/10/20 Суб 17:05:47 4347861878
>>434756
асутп изи после ембеддед, покупаешь овен на кодесисе (только с прошивкой через езернет типа такого https://owen.ru/product/plk100_150_154, ком-порт прошлый век),осваиваешь, у них все разжевано, на русском и куча примеров, потом уже покупаешь на авито б/у или китайский клон сиеменс/AB и осваиваешь его.
модули расширения эмулируешь компом, благо эмулей модбаса на комп хватает
Аноним 03/10/20 Суб 22:11:49 4348051879
>>434786
Мне больше эдакая общая вводная и вводная о окружении нужна, чем непосредственно частности.
Вообщем не о том, как программировать ПЛК, а о том как работать на профессии.
Аноним 04/10/20 Вск 01:04:13 4348131880
>>434805
сидеть у тендерщиков собирать шкафы или сидеть на заводе чинить гаечным ключом всё, что сломалось?
Аноним 04/10/20 Вск 06:23:11 4348181881
>>434805
Есть останки железок (модули ввода 7000 серии от ICP DAS) и сервер телемеханики от ЦентрЭнергоАвтоматика. За сисечки-писечки можно достать STM32 и попробовать сделать устройство, отвечающее по протоколу DCON или Модбасу. Есть шлюз CANOPEN в DCON ( https://icp-das.ru/catalog/i-7231d ). Оно тебе надо? Ну посмотришь, потыкаешь как оно на минималках настраивается на конкретном оборудовании, а дальше?
Аноним 04/10/20 Вск 07:25:31 4348221882
>>434813
Чуточку менее обобщенно.

>>434818
Не понял вопроса, это оффер?
Аноним 04/10/20 Вск 07:44:17 4348231883
>>434822
>оффер
Маркетолог не палится? Да, оффер без призыва к действию и ограничения по срокам.
Аноним 04/10/20 Вск 19:08:48 4348731884
>>434756
Я только с гОвеном -то и могу помочь. Живу в ебенях, нормальные вендеры нас стороной обходят, поэтому клепаем автоматику для ЖКХ на овне и сегнетике, скоро мб попытаемся на сименс лого. Но без нормального сотрудничества с вендерами и продовацами кад-сисметам ничего не добиться. работа на пиратском софте удручает.
Аноним 13/10/20 Втр 19:31:18 4357891885
f411.png 275Кб, 500x500
500x500
Кто-нибудь пользуется платами STM32F411CE с алика?
Внешне, кстати, ультраняшные.
Аноним 13/10/20 Втр 19:47:13 4357901886
>>435789
Заказал ради тайп си после видоса, лежит.
https://www.youtube.com/watch?v=QCdnO43RBK4
Что с ней делать не знаю да и не умею, в STM32 только начинаю разбираться.
Аноним 13/10/20 Втр 22:07:41 4358131887
>>435789
O kurwa! Да тут же тупезь!
Аноним 14/10/20 Срд 00:53:38 4358231888
>>435789
Что вы делаете с 256/512кб прог флэша? Мне за более 10 лет махарай-строя атмеги с 8 кб лишь несколько раз не хватило, 16-32 кб меги выручили. Это же нереально высрать столько кода, кроме как всякие картинки, иконки, шрифты и аудиозаписи в памяти хранить.
Аноним 14/10/20 Срд 06:57:15 4358361889
Аноним 14/10/20 Срд 07:03:48 4358381890
>>435823
>кроме как всякие картинки, иконки, шрифты
/this
Аноним 14/10/20 Срд 18:36:53 4358881891
>>435849
Иди нахуй, анимэпидар сраный.
Аноним 14/10/20 Срд 21:09:15 4359001892
>>435899
Да все уже поняли, что ты не умеешь в оптимизацию.
Аноним 15/10/20 Чтв 01:40:06 4359131893
>>435909
>В курсе хоть, чья цитата
Ты такой умный... Это всё от турбопаскаля?
Аноним 15/10/20 Чтв 04:23:52 4359171894
>>435838
>>435823
Как вариант, звуки пук для последующей сигнализации каких-либо событий пора смывать говно в бимбоунитазе.
Аноним 15/10/20 Чтв 04:26:12 4359181895
>>435849
>>435899
>>435909
Анeме - ето гомно! :P

макак скриптопердольный, уходи, пожалуйста, обратно в свой жс/питон/веб/сосаниепиписьки тред
Аноним 15/10/20 Чтв 09:43:00 4359241896
>>435909
Вот зачем выебываться? Ответь на вопрос >>435823, приведи пример и все.
Аноним 15/10/20 Чтв 09:56:09 4359261897
>>435925
Чувак, ты можешь конкретный пример привести?
Аноним 15/10/20 Чтв 10:37:54 4359281898
137166258920378[...].jpg 12Кб, 193x261
193x261
>>435926
Дилдодрон с гигом звуков из хентая и гачи-ремиксов на sd-карте, управлением коптером, ИИМ + GPS, камерой, дилдо с подогревом, и анимированным лицом Черного Властелина на 6" lcd.
Аноним 15/10/20 Чтв 10:57:48 4359311899
>>435926
Влезу в разговор
У меня устройство с двумя МК, которые непрерывно общаются по modbus между собой на высокой скорости.
Прикреплен графический монохромный дисплей 128*64 с меню, которое содержит более 50 экранов
На каждом МК есть внешний rs-485 для внешнего modbus с несколько десятков регистров
На главном МК висит sd карта с fatfs в которую пишутся отдельные осциллограммы с каждого МК по 2000 точек (2 байта точка) по срабатыванию и отпусканию сигнализации, при этом почти одновременно может сработать до 4-5 событий, и все надо успеть сохранить и записать.
В ту же карту пишутся события в архив событий, одновременно может появится скажем до 10 событий
При этом на каждом МК со скоростью 50кгц крутится цифровой фильтр и расчеты действующий значений пульсаций тока и напряжения

Наверное можно умудриться уменьшить раз в 5 код и запихать все это в 8кб, но зачем заниматься без необходимости таким геморроем?
Аноним 15/10/20 Чтв 11:36:27 4359361900
>>435928
Обычный модульный проект уровня Ардуино. Не увидел чем тут хвастаться, весь код заимствован.

>>435931
Ких фильтр хоть и требует много процессорного времени, сам по себе вряд ли больше ста строк кода занимает. Остальное, согласен, требует много места.


Короче, вывод: много низкоуровневого кода нужно если контроллер выполняет много разных задач.
Аноним 15/10/20 Чтв 11:50:55 4359381901
>>435923
Анимешникговноед, я тебе напоминаю, что ты, ебучая линуксопрыщеблядь, что ты пришло в тред к господам электронщикам и сереш тут. Ещё раз, уходи в свои хипстерские скриптотреды отсюда.
Аноним 15/10/20 Чтв 11:53:27 4359391902
>>435931
Спасибо за пример.
Это какой-то промышленный регистратор данных?

Если этот проект под подпиской о неразглашении, то не отвечай, лол.
Аноним 15/10/20 Чтв 13:23:29 4359491903
>>435939
Ну почти. Контроль параметров на аккумуляторной батареи 220в для подстанций
Аноним 15/10/20 Чтв 15:32:47 4359531904
>>435931
>Наверное можно умудриться уменьшить раз в 5 код и запихать все это в 8кб, но зачем заниматься без необходимости таким геморроем?
Так вроде речь изначально шла про домашние махарайки, а ты описываешь промышленное решение. Зачем? Вроде бы такой вумный дядька, а логика хромает.
Аноним 15/10/20 Чтв 15:49:00 4359541905
>>435949
Ни*уя себе.
Ну, анон, это круто. Респект тебе.
Аноним 15/10/20 Чтв 16:30:22 4359581906
Кто-нибудь реализовывал прошивку или доступ к адресному пространству через SWD?
Где написано сколько в stm32 AP и какое у них назначение?
Нужно ли jtag переключать в swd при инициализации, или он по умолчанию?
Аноним 15/10/20 Чтв 19:16:20 4359691907
>>435958
что за адскую хрень ты там творишь, что тебе не хватает функционала gdb для стлинка?
Аноним 15/10/20 Чтв 21:21:25 4359841908
>>435969
Свой программатор делаю, у меня хобби такое.
Аноним 15/10/20 Чтв 21:22:47 4359851909
>>435965
Конечно бомбит когда первоклашка в тред заходит.
Аноним 15/10/20 Чтв 21:51:02 4359901910
>>435987
Чем бы дитя не тешилось.
Аноним 15/10/20 Чтв 21:55:53 4359911911
>>435965
Stm32f373, взяли потому что нужен был сигма дельта АЦП. У меня по три канала такого АЦП задействовано у каждого МК для измерения одного параметра у каждого МК
Есть другой проект с f407 но там попроще с вычислениями, но надо будет реализовать usb host и наверно ethernet, плюс в идеале накатить freertos
Аноним 16/10/20 Птн 01:01:13 4360121912
>>435965
1. 32х битного
2. Нет, я больше по соляной кислоте
Аноним 16/10/20 Птн 01:27:32 4360161913
>>436015
Блять, точно, прочитал неправильно. Да, споймал меня.
А хуле ты хотел, час ночи, ты пидор. Я почти сплю.

И вообще, будь, пожалуйста, более мужественным в этом треде. Поменьше конченого ня-сленга и говнимешных тёлок, побольше маскулинности. Мы тут серьезные люди, а не педики какие-то.
Аноним 16/10/20 Птн 15:14:24 4360721914
>>436070
Ты делаешь эту борду менее унылой, анимешная аватарка :3
Аноним 16/10/20 Птн 15:33:30 4360741915
>>436072
Спасибо тебе добрый анон. Теперь я знаю за что кинуть репорт.
Аноним 16/10/20 Птн 22:44:21 4360961916
>>436074
Кого ты там репортить собрался, клоун анимешный? Тебя самого уже зарепортили.
Аноним 17/10/20 Суб 03:05:10 4361061917
>>436096
Мимо, я против оффтопа и аватарок, хоть и тоже анимешник.
Аноним 17/10/20 Суб 06:53:44 4361131918
Безымянный.png 7Кб, 696x102
696x102
Не знаю где ещё спросить.

Передираю либу для SPI Flash, написанную для STM32, под другой МК.

Флешка: S25FL032P0XMFI011
https://www.cypress.com/file/196861/download

Пока удалось считать JEDEC ID.
Но чтобы что-то в неё писать \ читать - надо знать её параметры.

В либе заполняется структура, для имеющейся флешки поля почти неизвестны:
s25flxxx.BlockCount = ???
s25flxxx.PageSize = 256
s25flxxx.SectorSize = ???
s25flxxx.SectorCount = ???
s25flxxx.PageCount = ???
s25flxxx.BlockSize = ???
s25flxxx.CapacityInKiloByte = ???

Помогите, плез, найти значения полей.
Я нашёл только PageSize. Больше ничего в глаза не бросилось.
Аноним 17/10/20 Суб 10:08:16 4361371919
Screenshot20201[...].jpg 31Кб, 720x155
720x155
>>436113
32 Мбит = 4 МБ = 4096 КБ
1 сектор = 64 КБ = 65536 Б
весь флеш/размер сектора = 4096/64 = 64 сектора всего
1 страница (page) = 256 Б
размер сектора / размер страницы = 65536 / 256 = 256 страниц на сектор

Судя по скриншоту размер блока строго в 16 раз больше сектора. Поэтому

1 блок = 1 сектор 16 = 64 КБ 16 = 1024 КБ
Кол-во блоков = кол-во секторов / 16 = 64/16 = 4


Попробуй, может правильно. Сам никогда не запускал флешки.
Рекомендую забить только числовые параметры, формулы не трогать пока.
Аноним 17/10/20 Суб 12:36:42 4361481920
>>339689
>Keil
Ебать ты багач, он же стоит несклько тысяч долларов.
Аноним 17/10/20 Суб 18:52:18 4362121921
>>436113
Бамп.

>>436137
Расчёт со скрина взят из либы. Либа написана для флешек W25Qxxx.
Они, в принципе, похожи: совпадают регистры / команды. Только вот организация может быть разной.
Аноним 17/10/20 Суб 19:13:06 4362141922
16005057942023.gif 42Кб, 220x124
220x124
>>436074
шиз, кекаю с тебя на весь дом:з
тебе нужно было репортить СВОИ посты, а не мои, дурачок:з
а теперь все узнали, что у тебя сильна-сильна пригорело:з
а позорные постики, которые ты понапостил тут, остались навсегда:з

РРРЯЯЯ МАМ 32кб НИНУЖНА Я СКОЗАЛ
Аноним 20/10/20 Втр 20:59:57 4365301923
Анончики, подскажите либу для WS2812B, чтобы работала на BluePill.

Порт FastLED отсюда https://github.com/evq/FastLED работает, но выжирает весь флеш нахуй (72МГц тактовой же, а он асм генерирует).
Аноним 21/10/20 Срд 03:03:55 4365641924

Ну вот мы и выяснили, куда тот анимечник девает 512 КБ памяти. 500 на управление светодиодами, остальное на логику программы.
Аноним 21/10/20 Срд 12:39:02 4365991925
15892090703410.png 531Кб, 602x699
602x699
>>436530
Пиши сам не выжирающее, ручками наставь нопов лично под свой проц в конце концов :з

>>436564
Бака >:с Умные няши не пользуются глупыми форками FastLED на норм чипах :з У блюпилл 64кб кстати, ты же даже этого не знаешь :р
Аноним 21/10/20 Срд 13:17:18 4366011926
>>436599
>У блюпилл 64кб
Не совсем так. Там 128 кб, только в документации этого нет и СТ соответственно не гарантирует работоспособность. Скорее всего STM32F103C8T6 это 103CB у которого провели не все тесты. Однако для разовой самоделки это скорее всего не важно.

>наставь нопов
Не лучше ли ПДП задействовать?
Аноним 21/10/20 Срд 13:44:54 4366021927
16003603436420.png 94Кб, 400x400
400x400
>>436601
>Не совсем так. Там 128 кб
>только в документации этого нет и СТ соответственно не гарантирует работоспособность
Это значит, что там 64кб, дурачок :з
>ПДП
Визжишь про память, бака, а оперативы тебе не жалко под твой DMA? Да и нахуя, сучичька? :з На нопах делаеца за полчаса от силы, ему хватит :з
Аноним 21/10/20 Срд 14:41:43 4366041928
>>436602
Я думаю, можно заюзать ПДП контроллер, НО "подкидывать" данные в буфер по чуть-чуть, по half-transfer (да или даже по full transfer и перезапсукать ПДП) (если нет подводных, конечно).
Аноним 21/10/20 Срд 16:42:15 4366101929
>>436602
>Это значит, что там 64кб, дурачок :з
У тебя детектор не работает, я тебе в первый раз тут отвечаю. А потом, как это может что-то значить для мигалки светодиодами, да еще на китайской плате в которую китайцы могут припаять вообще что угодно? Китайцы тебе вкорячат в "блюпилл" свой клон с кривой маркировкой вместо STM32, о каких гарантиях вообще можно говорить?
Предполагаю что такие нездоровые фантазии у тебя от японских мультиков.
Аноним 21/10/20 Срд 17:07:03 4366131930
>>436604
Пример именно такой вроде был у самих стм. Сомнительная хуйня, слишком много ебли, если новичку в реальный проект.
Аноним 21/10/20 Срд 18:30:00 4366171931
>>436613
Хм. Ну да, ебля тут 100% будет.
Мб, тогда таймеры + isr (в них и задавать значение для следующего бита значения)?

Да, я понимаю, в прерываниях работать не комильфо, конечно, но все же...
Аноним 21/10/20 Срд 18:36:36 4366181932
>>431107
>>431098
>>431049
Сижу под макосью, все работает. Кодится, компилируется, загружается, дебажится. Не понимаю, что там за проблемы у вас.
Аноним 21/10/20 Срд 18:42:08 4366211933
>>436618
Дрочую неистово не писюн. Сидел под факинтошем обратно хочу, все найс работало. arm-none-eabi-gcc работал на ура. st-flash (texane) тоже хорошо работал.
Аноним 21/10/20 Срд 18:47:25 4366221934
16015775518760.png 284Кб, 470x511
470x511
>>436617
Какой иср, лолачька, какие таймеры? с: Там же наносекундные интервалы, десу. :з Ты решил зайти сюда потралибасить, анончик, но это мы кекаем с тебя, глупенький :р
Аноним 21/10/20 Срд 18:54:30 4366231935
>>436622
А разве нельзя генерить интервалы по 400ns-800ns таймером, если камень тактировать 72МГц?
Аноним 21/10/20 Срд 19:13:20 4366241936
16000019910870.png 305Кб, 578x578
578x578
>>436623
Делай :3 Код принесешь покажешь
21/10/20 Срд 23:03:32 4366511937
Аноним 21/10/20 Срд 23:10:01 4366521938
>>339005 (OP)
В чём разница между видами плат Nucleo и Discovery(кроме цвета, конечно)? Какую лучше взять, чтобы поиграться?
Аноним 21/10/20 Срд 23:19:54 4366551939
>>436652
В нуклео как правило камень, пара светодиодов, кнопок и внешние интерфейсы типа usb и eth. А всё остальное подключаешь к гребёнке сам. На диско к этому набору ещё идут всякие акселерометры, дополнительная память, экранчики.
Аноним 21/10/20 Срд 23:43:10 4366571940
лазер.mp4 9214Кб, 1280x720, 00:00:35
1280x720
Приветствую, радио-анон. Перекатился в стм с ардуинок, пилю всякое понемногу. Когда завел себе котейку (на двачах даже где-то тред был про выбор имени), запилил для нее игрушку. Тян зовет ее "Око Саурона" лол.
Два серво SG90 и stm32f030f4p6 двигают лазерную указку по траектории с рандомными точками. Котейка теперь довольна и не бесоебит по ночам.
Аноним 21/10/20 Срд 23:52:05 4366581941
16032709918630.jpg 41Кб, 447x589
447x589
Аноним 21/10/20 Срд 23:56:53 4366591942
images (1).jpeg 8Кб, 212x238
212x238
>>436657
Ебать охуенненько, анончик :з
Не думал и для тяначки сделать тоже игрушку какую-нибудь? :з
Аноним 22/10/20 Чтв 01:07:37 4366641943
>>436659
Хммм...
А это идея, кстати, порадовать кого-то из своих подруг... ;3
Аноним 22/10/20 Чтв 13:46:13 4366931944
>>436624
Будет время - попробую запилить. А так - работы дохуя + жизненных дел, эх.
Аноним 22/10/20 Чтв 17:55:18 4367211945
>>436657
>>436659
>>436664

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

Носится кошка весело для вас, в тоже время она сама остается неудовлетворенной.
Это как заходить в дотку и сливать все катки.
Аноним 22/10/20 Чтв 20:54:03 4367481946
>>436721
Ого... Окей, анон. Не знал про кошек...
Большое спасибо за предупреждение. Буду в курсе.

Добра.
Аноним 23/10/20 Птн 00:08:16 4367921947
16031441603660.jpg 103Кб, 640x775
640x775
>>436693
Хуя отговор очка, гречняша:з
Как до дела доходит - то собака у них сидит, то жопа не вытирается, то водка невкусная, то труханы прохудилися:з
Аноним 23/10/20 Птн 09:50:17 4368141948
>>436623
Можно и на 16МГц. Я так на Mega16/32/1284p делал на 8-16 линиях по 512 WS2812B.
Аноним 23/10/20 Птн 11:02:42 4368221949
image 513Кб, 1000x563
1000x563
image 192Кб, 1122x544
1122x544
image 47Кб, 626x443
626x443
Анончики! Есть одна плата 32F746GDISCOVERY. И дело в том, что она не запускается при питании от Mini USB, который по совместительству является разъемом для ST-Link. В мануале пишут, что после подключения разъема, плата запрашивает у пк повышенный ток и если он говорит САСАЙ, то плата и не получает питание. Так вот, можно ли как то заставить ПК давать разрешение? Знаю, что можно въебать джампер на ключе, который подает питание на всю схему, но может есть софтовый вариант?
Аноним 23/10/20 Птн 12:18:55 4368291950
>>436721
Можно, по идее, это в обратную сторону закреплять: поносилась кошка за указкой как следует — получила любимую нямку. Наоборот, будет ебанутая от счастья за лазером носиться, условный рефлекс же, как у собаки Павлова.
Аноним 23/10/20 Птн 13:31:37 4368351951
>>436721
Я в курсе, анон, но спасибо за предупреждение.
Лазер включаю минут на 10-15, не больше. Даже в проге МК таймер стоит отключаться через 15 мин.
А потом даю кошке реальную игрушку разодрать в хлам, клочки по закоулочкам, вот это все.
Аноним 23/10/20 Птн 15:16:07 4368511952
>>436792
Какая отговорочка, вась?
Вась, пойми, у других людей действительно есть работа и другие дела в жизни. Да, есть люди которые не смотрят аниме 24/7 как ты, а работу работают и жизнь живут! Прикинь!)))
Аноним 23/10/20 Птн 15:18:59 4368521953
>>436814
Да. Вот и я о чем.
Я не вижу, на самом деле, причин, по которым прям вот нужно исключительно херачить именно нопами и больше ничем другим.

Че-то мне кажется, что этот манямешник жирный тролль. Либо же потребление в аниме в таких количествах вызвало у него органические изменения мозга, лол
Аноним 23/10/20 Птн 17:16:18 4368571954
15910872799830.jpg 38Кб, 640x628
640x628
>>436851
Маничка, ты драматизируешь ситуацию, няш:з Есть няши, которые и работку поработать, и поняшиться под пледиком под аниме, и музачку послушать, и погулять, и стмку поковырять успевают:з И еще минутка остается свободная:з А ты, бака, даже стмку не можешь запрограммировать:з
Аноним 23/10/20 Птн 17:38:34 4368611955
>>436857
>Есть няши, которые...
Как же вы успеваете всё, блин... Научите чтоли...
мимо
Аноним 23/10/20 Птн 17:47:26 4368621956
>>436861
Так надо ставить перед собой более скромные цели, на уровне того чтобы посмотреть аниме и помигать светодиодиками. Тогда наверняка будешь успевать.
Аноним 23/10/20 Птн 18:10:17 4368661957
>>436857
В жопе у своего настоящего отца - соседа по лестничной клетке поковыряй, пидорас анимешный.

Что вобще, блядь, происходит? Где ебаный мочух?
Аноним 23/10/20 Птн 18:25:08 4368691958
>>436829
>поносилась кошка за указкой как следует — получила любимую нямку.
Так чего ты ждешь? Дорабатывай своего робота блять.
Аноним 23/10/20 Птн 18:25:35 4368701959
>>436835
Мне кажется это не много не так работает.
Что это скорее как когда пытаешься почесаться и не чувствуешь эффекта.
Но дело твое.
Аноним 23/10/20 Птн 21:36:46 4369071960
>>436857
В нормальном режиме - успеваю ещё и как.
Но у меня тут слегка авралы, шо по работе, шо по жизненным делам :'(
Зоэбало, но выберемся.
Аноним 24/10/20 Суб 01:22:21 4369321961
15993145654620.png 680Кб, 700x700
700x700
У меня тут сегодня старая блюпиллка нашлась на подоконничке, хорошая маленькая лампа на ней и на светодиодной ленте получилась (хорошо, что анончики напомнили). Разноцветная, сочная и няшная:з Можно позалипать теперь как-нибудь вечерком:з

>>436861
>>436866
>>436907
Хуя гречняшки закококали:з
А все элементарненько обстоит, никаких секретиков: кто больше делает - тот больше успевает, няши:з

>>436852
Можно и не нопами, анончик:з Но нопами легче всего, хуяк-хуяк и готов вариантик:з Я так и делаю у себя, на 72МГц времени вагон:з

>>436829
Хех мда, это хорошо, что ты не додумался стримики с донатами пилить. Вот это у неки случилось бы попадалово :с
Аноним 24/10/20 Суб 12:48:11 4369561962
>>436822
Хаб с внешним питанием используй, это подсветка экрана столько выжирает. Либо просто павербанк рядом в другой разъём воткни, либо через Y кабель.
Аноним 24/10/20 Суб 13:20:21 4369631963
Прихуел что в thumb нет даже загрузки регистра константой, пришлось макрос писать.
Ясен хуй если нет полноценных действий с константами, то любые битовые операции займут 2-3 регистра и 5-6 команд вместо 1 регистра и 1 команды.
Теперь ясно нахуя вам столько регистров.
В stm8 всего 3 регистра и их хватает, ведь я могу просто указать маску чтобы сбросить биты.

А сейчас вставил элемент в двусвязный список за 4 команды, как в x86, и должен признать, что этот ассемблер не безнадежен.
Аноним 24/10/20 Суб 13:41:28 4369641964
>>436963
>Прихуел
Почему тебя это удивляет? Это RISC а не CISC.
>ассемблер не безнадежен.
Зачем трогать ассемблер руками? Ну кроме как для общего развития и каких-то крайне редких случаев?
Аноним 24/10/20 Суб 15:35:30 4369811965
>>436964
Ассемблер проще.

В си нужно шаманить, учить как ведут себя какие-то васянские типы для каждой новой архитектуры, изучать флаги компилятора и линкера, изучать ебучее api стандартных библиотек, ебаться с переопределениями типов каждый раз, искать А КАК ЖЕ ТАМ В ЕБЕНЯХ определен адрес стека, а как же мне здесь прерывание определить, а что это за константы ебучие хуй поймёшь, если в даташите совсем другое что-то.

И вот ты лезешь в инклуды, лезешь в исходники. А жизнь проходит.

Все это совершенно лишняя для мозга информация для меня. Мне только светодиод подключить и пару простых протоколов реализовать.
Все эти сишные фишки типа доступа к массиву и циклов легко заменяются вызовами, если нужно.
Только арифметику в одну строчку конечно не сделаешь.
И код не перенесешь. Но код и на си так просто не перенесешь. Все равно весь проект перелопатишь.
Аноним 24/10/20 Суб 16:01:11 4369831966
>>436981
>Все равно весь проект перелопатишь.
Хорошо абстрагированный код вполне легко переносится.
Аноним 24/10/20 Суб 16:10:11 4369841967
>>436983
Ну да, вычисление факториала там.
Но во встраиваемых системах такого кода меньше чем аппаратно зависимого.

Все равно же садишься и делаешь обертки, обертки, обертки.
Аноним 24/10/20 Суб 16:26:10 4369851968
>>436984
Херню несешь. Какой код аппаратно зависим, что его так дохуя?
У тебя 90% драйвера занимают?
Аноним 24/10/20 Суб 16:48:19 4369861969
>>436981
Вот такая она, шиза.
Аноним 24/10/20 Суб 18:56:33 4370001970
>>436986
Я любитель, а не профессионал. Мне можно.

>>436985
Ну ок.
Аноним 24/10/20 Суб 19:03:51 4370021971
>>431051
В самом мк очень слабая подтяжка, на 100кОм обычно, она плохо работает с сильными помехами. Нужно внешнюю подтяжку делать резистором на 10к или меньше.
Аноним 26/10/20 Пнд 17:44:21 4372091972
Кто-нибудь встречался с проблемами после компиляции с gcc/g++? У меня код с оптимизацией работает вообще неправильно. На UB проверял, вроде нету.
Аноним 01/11/20 Вск 02:39:13 4378021973
бамп
Аноним 01/11/20 Вск 09:10:45 4378131974
>>437209
Хз, я ассемблеро, но обычно советуют ставить volatile аппаратно зависимым переменным наподобие итератора цикла в задержках.
Давай подробности.
Аноним 01/11/20 Вск 09:55:20 4378161975
>>437209
>У меня код с оптимизацией работает вообще неправильно.
А не ассерты ли какие-то вкидываются у тебя? В которых ты по случайности вычисления делаешь в дебажной версии?
Аноним 01/11/20 Вск 20:32:36 4378481976
Подскажите китайскую за копейки плату типа blue pill но с экранчиком, батарейкой и энкодером на борту? Хочу сделать устройство, но не хочу разводить плату
Аноним 01/11/20 Вск 21:21:51 4378521977
>>437848
А с перламутровыми пуговицами тебе не подсказать?
Аноним 01/11/20 Вск 21:44:13 4378531978
Аноним 02/11/20 Пнд 03:37:43 4378811979
Screenshot20201[...].jpg 224Кб, 720x1560
720x1560
Screenshot20201[...].jpg 221Кб, 720x1560
720x1560
>>437848
Собери из модулей что тебе нужно.
Аноним 02/11/20 Пнд 09:42:48 4378841980
Аноним 03/11/20 Втр 00:00:26 4379811981
>>437848
Если ты не хочешь ничего разводить там, никаких плат там, то в этом треде тебе только с перламутровыми а ты в картинках загугли помогут.

Сорри, чел, за такой противный ответ, но тут, в тредах /ra/, собираются люди, которые любят конструировать аппаратуру. Добра тебе.

А если по делу - купи все по отдельности, соедини все проводами и разъёмами dupont, чего как маленький...
Аноним 04/11/20 Срд 09:11:19 4380821982
-21021752969865[...].jpg 374Кб, 700x700
700x700
>>437848
Из модулей, если дохуя быстро надо - возьми подходящие dip/soic/sop/sot макетки, спаяй на них недостающие схемы и подключи к bluepill, часто так делаю.
Аноним 05/11/20 Чтв 14:00:04 4382571983
>>437981
>dupont
лол, так вот как ардуиновские провода называются
Аноним 05/11/20 Чтв 16:17:37 4382931984
>>438257
Сам когда-то был в шоке. Лол.
Аноним 07/11/20 Суб 16:30:55 4385951985
>>438257
>>438293
>>437981
А ни у кого нет таблицы с названиями распространённых разъемов?
Я например эту хуйню всю жизнь PLS называл, по названию пап.
Аноним 07/11/20 Суб 16:47:42 4385971986
>>438595
>разъемов
При чем тут разъемы к одножильным проводам?
Аноним 07/11/20 Суб 18:34:31 4386041987
>>438595
Увы, нету :(
А источник знаний о названиях этих всех разъемов - процесс гуглежа, в т.ч. по картинкам.
Аноним 07/11/20 Суб 19:05:51 4386101988
>>438597
Что бы ты доебался.

>>438604
Жаль, мб кто еще кинет в треде.
Аноним 24/11/20 Втр 16:55:54 4408631989
Аноним 26/11/20 Чтв 16:06:09 4411271990
16042471325450.jpg 100Кб, 554x768
554x768
Подскажите что смотреть кроме продукции ST?

Наваял говна, и оно не лезет в blue pill, флеша надо килобайт 300. У ST резко дороже становятся контроллеры, но вот например ESP есть вполне годные (но у меня код под ARM заточен)
Аноним 26/11/20 Чтв 17:15:55 4411351991
Screenshot2020-[...].png 103Кб, 1080x2248
1080x2248
>>441127
Раз уж ты рассматриваешь китайцев и знаком с st
Аноним 26/11/20 Чтв 18:37:30 4411371992
Аноним 27/11/20 Птн 07:29:16 4411741993
16053575149941.png 1373Кб, 1280x959
1280x959
Аноним 27/11/20 Птн 07:32:13 4411751994
>>441137
Надо чтобы распаяно уже было на макетках удобных в обиходе

>>441135
Не нашёл на алиэкспрессе
Аноним 27/11/20 Птн 07:42:27 4411781995
Аноним 27/11/20 Птн 07:59:40 4411791996
>>441178
>Ардуинщик что ли?
Погроммист, мне надо проверить что мой софт работает, а не готовую конструкцию собрать
Аноним 27/11/20 Птн 08:00:11 4411801997
>>441178
Еще есть Raspberry Pi Zero, в три раза дороже и не микроконтроллер, но тоже может сойдет для чего-нибудь.
Аноним 27/11/20 Птн 08:03:57 4411811998
>>441179
>Погроммист
Я не из этих.
>мне надо проверить что мой софт работает, а не готовую конструкцию собрать
А что тебе мешает этот софт запускать на компе? Учитывая что ты не написал требований к периферии. Или ты на ассемблере там все написал?
Аноним 27/11/20 Птн 10:49:14 4411911999
Итак, я скачал CubeIDE и помигал светодиодом через HAL. Ну вроде не сильно страшнее, чем на пердуине, но у меня осталось куча вопросов.
1. В чем отличие от ArduinoIDE? Мне например рассказали, что CubeIDE это CubeMX и Eclipse. Ну и вместо эклипса можно использовать любую другую иде, а куб вообще не обязательно использовать. Так что такое куб? Что за генерация кода после настройки ног?
2. Можно ли прошить бутлоадер на ту же блек пилку и заливать код через кубиде? Я в опциях загрузки видел только SWD и JTAG
3. Подкиньте какое-нибудь объяснение, как работает RTC и как его использовать
4. Что такое DMA, зачем и нужно ли мне париться, если я собираюсь программировать только с HAL, не дроча регистры?
Аноним 27/11/20 Птн 14:53:17 4412092000
Дамы и господа, надо бы перекат запилить.
Аноним 27/11/20 Птн 14:56:44 4412102001
>>441209
Хммм... Красная полоска бамплимита свалила. Отбой пока.
Аноним 27/11/20 Птн 14:57:24 4412112002
>>441210
Блять! Нет, я в глаза ебусь, сорян

Аноним 27/11/20 Птн 18:37:52 4412272003
>>441191
>1. В чем отличие от ArduinoIDE? Мне например рассказали, что CubeIDE это CubeMX и Eclipse.
Правильно рассказали. ArduinoIDE это на уровне блокнота, а в IDE кроме редактора кода имеется множество полезных и не очень мелочей, таких как анализатор кода, автодополнение, рефакторинг и множество другого.
>Ну и вместо эклипса можно использовать любую другую иде
Это тоже так, только стоит добавить что не обязательно использовать IDE, код можно писать в любом текстовом редакторе.
>Так что такое куб? Что за генерация кода после настройки ног?
Если ты сделал мигалку, то как ты мог не заметить, что куб нагенерил кучу кода? Это код для настройки периферии микроконтроллера.

>2. Можно ли прошить бутлоадер на ту же блек пилку и заливать код через кубиде? Я в опциях загрузки видел только SWD и JTAG
Там бутлоадер в масочной ПЗУ (не перезаписываемой) из завода, куда тебе еще один? Зачем вообще тебе это нужно, когда есть SWD? Разумеется никто не запрещает написать свой бутлоадер, который сможет что-то еще, например обновляться с SD карточки. Но тебе это зачем?

>3. Подкиньте какое-нибудь объяснение, как работает RTC и как его использовать
RTC это всего лишь еще один таймер, если ты про то что внутри микроконтроллера. Можно использовать для часов, но не нужно, т.к. точность будет так себе, потому что это не TCXO. А отсчитывать временные промежутки проще другими таймерами. RTC может быть полезно для энергосберегающих режимов, чтобы микроконтроллер периодически просыпался по сигналу от RTC.

>4. Что такое DMA, зачем и нужно ли мне париться
Это штука, которая перекладывает байты или слова/полуслова из одной области памяти в другую, без участия ядра процессора, которое в этот момент может делать что-то еще. Например оно может автоматом перекидывать данные из периферии в память. Оно нужно в основном когда из периферии нужно забирать данные (или наоборот класть) очень быстро, когда по прерываниям можно не успеть.

>не дроча регистры?
А вот это зря. Ладно еще, может быть в самом микроконтроллере ты сможешь не касаться регистров, ну а подключишь что-нибудь через I2C или SPI?
Мне кажется тебе стоит как следует изучить ардуину для начала, чтобы регистров не бояться. Советую разобраться с регистрами и прочим в AVR, тем более что там не так много всего и поэтому это не сложно.
Аноним 28/11/20 Суб 00:41:39 4412572004
>>441227
> Если ты сделал мигалку, то как ты мог не заметить, что куб нагенерил кучу кода?
Я кроме main.h не залазил в другие файлы
> куда тебе еще один?
Чтоб можно было заливать код через USB, без ST-Link
> ну а подключишь что-нибудь через I2C или SPI?
В ардуине обходился либами и тут надеюсь на то же. Я взял стмку для поделок, а не разбираться в устройстве микроконтроллеров
Аноним 28/11/20 Суб 11:08:42 4412742005
>>441181
>>мне надо проверить что мой софт работает, а не готовую конструкцию собрать
>А что тебе мешает этот софт запускать на компе?

Ничего, и я его там запускал первоначально в qemu. Но задача стоит написать под контроллер.

> Учитывая что ты не написал требований к периферии.

Один выход SPI и одна кнопка.

Аноним 29/11/20 Вск 16:01:13 4414482006
1.JPG 101Кб, 1131x697
1131x697
На них же полётные контролёры отличные получаются,
и прошивка бесплатная.
Никто не пробовал делать?
Аноним 30/11/20 Пнд 21:00:38 4415872007
>>441227
>точность будет так себе
А конкретнее?
Аноним 01/12/20 Втр 06:54:04 4416172008
Анончики, тут понадобилось прикрутить две фичи к stm32f429 на демоплате f4discovery: ворох датчиков 1-wire и rtc.
Не тратил еще кучу времени, но волосики на голове шевелятся от того что в интернетах пишут.
Итак, rtc. Обрезал страпы, запаял кварц 32768, провел инициализацию rtc. Часы идут, но после первого холодного запуска останавливаются через десятки секунд. После ресета кнопкой идут хорошо. Так же останавливаются от помех по питанию. Это что за нахуй за пиздец? Пишут что не все кварцы подходят. Честно, перепробовал десяток и в конце концов взял из совместимого списка, похуй. Да, конденсаторы к кварцу ок, все дорожки от проца к кварцу не длиннее сантиметра, лишних нет.

Второй вопрос по 1wire. А что, никто не написал легкоинтегрируемую либу для stm32?
Максимум что я нарыл - порт с ардуины, где очень болезненно надо настраивать задержки для ногодрыга. Ладно, почитаем корифеев. Говорят usart+dma - тема. Ок, ищу либу, вроде что-то есть, тянет лютые ардуинозависимости. Бля.
Читаю еще, на 10 странице форумов все приходят к выводу что usart не подходит, на морозе тайминги не те, и длина линии сильно падает. Нужен таймер+Dma, но решения не выкладываются. На 20 странице форумов приходят к выводу что 1wire протокол не удобный а значит не нужен, давайте ntc юзать.

Я не очень в экосистеме stm32 свободно плаваю. Это норма?
Аноним 02/12/20 Срд 21:05:42 4417842009
>>441448
На них опенсорсные подвесы сделаны, на плате Storm32 и других. Работают паршиво, однако. И здоровые они.
Аноним 06/12/20 Вск 10:57:15 4421622010
>>441617

Ну что же вы, стм32-боги, перекатите тред и дайте ответ, молю
Аноним 06/12/20 Вск 11:48:17 4421662011
Помогите ньюфагу. Пару дней назад пришла моя первая пердуинкастмка - т.н. blue pill, пытаюсь запустить на ней miniblink на libopencm3 ( https://github.com/libopencm3/libopencm3/opencm3-miniblink )
Скомпилировал, прошил - НЕ МИГАЕТ СУКА. Пробовал код из >>375829 той книги - та же хуйня.
Отладчиком увидел, что исполнение начинается с адреса 0x000000xx. Оказалось, в получившейся прошивке вторым словом какого-то хуя идёт не адрес reset handler'а, а 0x14.
ЧЯДНТ?
Аноним 06/12/20 Вск 12:22:19 4421682012
>>442166
Разобрался. Проблема из-за того, что по какой-то причине в самом начале прошивки оказывается секция .note.gnu.build-id. То ли их компоновочный скрипт её не учитывает, то ли флажок какой-то gcc забыли передать.
Пока что лень разбираться, просто закостылил мэйкфайл, добавив флажок -R.note.gnu.build-id для objcopy
Аноним 08/12/20 Втр 00:25:49 4423042013
>>442168
Просто используй куб и иар
Аноним 08/12/20 Втр 02:09:51 4423072014
image.png 21Кб, 361x376
361x376
Объясните тупому. Таймер работает без прескейлера на макимальной частоте (72 МГц).
ARR = 143, значит прерывания случаются с частотой 500 кГц. Переменные смотрю через live watch в IAR:
t1 = 28;
t2 = 100;
Вопрос: куда проёбываются 28 тактов перед первой строчкой в обработчике прерывания? Куда проёбываются 72 такта в куске кода с одним ифом и одним присвоением. Там даже ассемблерных строчек столько не набирается
Аноним 08/12/20 Втр 13:59:18 4423372015
>>442307
>Вопрос: куда проёбываются 28 тактов перед первой строчкой в обработчике прерывания?

Вызов прерывания не мгновенно происходит. Контекст сохраняется, ещё что-о там.
Аноним 09/12/20 Срд 00:48:26 4424252016
>>441587
У простых кварцев на 32768 Гц для RTC, будет точность около ±20ppm. То есть за сутки часы будут уходить максимум на ±1.7 секунды. У высокочастотных кварцев, от которых обычно тактируется микроконтроллер, точность почти такая же, чаще около ±50ppm. То есть RTC с простым кварцем не обеспечит большую точность, чем простой таймер.
При этом у отдельных RTC с TCXO, таких как DS3231, точность заявлена ±2ppm. Конечно можно прицепить простой TCXO без RTC к STM32, но это будет дороже чем DS3231 и потреблять будет немного больше.
Поэтому основное применение встроенного в микроконтроллер RTC это вывод микроконтроллера из спячки. Ну или если обычные таймеры все заняты.
Аноним 09/12/20 Срд 09:15:12 4424452017
>>442425
Хуйня опять какая-то.
Допустим, точность меня устраивает (часы нужны для суточного таймера, и погрешность в 5 мин не страшна). Да и подводить можно по сети. Что нужно - так это сохранение хода от бекап-батарейки и не тащить лишний корпус в плату.
И вроде бы все ок, но идет эта залупа не стабильно. Может я с инициализацией проебался, не знаю.
Вопрос: нахуя же столько задекларировано классной периферии, если она не работает толком и нинужна?
Аноним 09/12/20 Срд 13:40:53 4424832018
>>442445
Значит припаял что-то криво или не совсем то. Если не работает кварц, то поставь генератор, делов то. https://www.electronshik.ru/item/SITIME/SIT1533AI-H4-D14-32.768E Например.
>и не тащить лишний корпус в плату.
Вместо кварца с двумя конденсаторами ставишь одну микросхему с парой конденсаторов. Количество корпусов не поменяется.
>Вопрос: нахуя же столько задекларировано классной периферии, если она не работает толком и нинужна?
Не надо делать из-за какой-то ерунды трагедию. Выкини STM32, возьми еще что-нибудь, если эти не устраивают.
Аноним 09/12/20 Срд 13:53:13 4424852019
>>442445
>Да и подводить можно по сети.
Добавь настраиваемую коррекцию хода раз в час и всё
Аноним 09/12/20 Срд 23:53:06 4425742020
>>442483
То есть варианта разобраться и заставить работать rtc как оно задумано нет? Ладненько.
Аноним 10/12/20 Чтв 13:48:17 4426172021
Никак не могу разобраться, почему прерывание не срабатывает.
https://pastebin.com/6cyRhi3N
Подключил ИК-датчик движения HC-SR501 к ножке B0, вроде бы всё настроил, но обработчик не вызывается, хотя через gpio_get сигнал считывается.
Где я объебался?

Один-в-один же с примерами, почему у них работало, а у меня — нет?
https://github.com/libopencm3/libopencm3-examples/blob/master/examples/stm32/f1/stm32-h103/exti_both/exti_both.c
https://github.com/StanislavLakhtin/stm32f103-libopencm3-exti/blob/master/src/main.c
Аноним 10/12/20 Чтв 16:36:38 4426262022
st-flash 1.6.1
[!] send_recv read reply failed: LIBUSB_ERROR_PIPE
[!] send_recv STLINK_DEBUG_RESETSYS
[!] send_recv read reply failed: LIBUSB_ERROR_PIPE
[!] send_recv STLINK_DEBUG_READCOREID
ERROR common.c: Failed to read core_id
[!] send_recv read reply failed: LIBUSB_ERROR_PIPE
[!] send_recv STLINK_JTAG_READDEBUG_32BIT
WARN common.c: Invalid flash type, please check device declaration
Failed to connect to target

Всё? Доигрался?
Аноним 10/12/20 Чтв 18:44:13 4426352023
>>442626
Удалось перепрошить только через openocd. Вдруг кому-то тоже понадобится:
>openocd -f openocd.cfg -c init -c "reset halt" -c "flash erase_address 0x8000000 32768" -c "flash write_image yoba.bin 0x8000000" -c shutdown -c exit
Аноним 15/12/20 Втр 05:41:27 4430712024
Анончики, одна проблема возникла при расчете CRC32, вообщем ситуация следующая: есть микроконтроллер российского гавнопроизводства, копия stm32, но без встроенного модуля расчета crc32, я написал прошивку для него, у этой прошивки с помощью обычных онлайн калькуляторов можно посмотреть контрольную сумму, то есть там используется полином crc32 ieee, моя задача прочитать память МК, в которую и была записана прошивка, это будет как раз массив uint32_t massiv[size]. Далее мне нужно вот к этому массиву применить расчет crc с использованием полинома crc32 ieee, для того чтобы я мог сравнить то что должно было быть записано в МК, с тем что там записано по факту.
Так вот, все работает, crc32 рассчитывается, но возникла проблема, как оказалось онлайн калькуляторы не используют чисто полином ieee, там какие то мутанты, поэтому единственный вариант это смотреть значение crc прям во время работы программы.
Ещё раз по порядку, я запускаю программу, там есть переменная которая хранит рассчитанную crc, затем я должен добавить в эту программу define с текущим значением crc, который я только что увидел, это и есть как бы эталон, но вот проблема, как только я впишу туда значение эталона crc, после перезапуска программы crc естественно изменится, так как новая строчка кода появилась.
То есть: пусть значение crc32 без добавления строчки с эталоном это Х, У значение crc32 с добавленным значением эталона. Я врубаю прогу, получаю Х, это значение Х я вписываю в эталон и при запуске значение Х меняется на некий У. И в программе я сравниваю Х с У и получаю нихуя, потому что У я не могу знать заранее, как и Х, я их узнаю только после запуска.
Вопрос: есть ли способ как-то заранее учесть в программе это, может есть какие-то алгоритмы?
Аноним 15/12/20 Втр 10:10:55 4430832025
>>443071
Upd: Проблема решена
Аноним 15/12/20 Втр 10:42:58 4430862026
Аноним 15/12/20 Втр 11:55:05 4430902027
>>443086
Выделил место в конце eeprom, чтобы не затереть его прошивкой:
#pragma locate FuncCRC 0x8001FFC
Затем просто объявил константу с этим именем, записал в нее значение эталона:
const uint32_t FuncCRC = 0x1432C98
Читаю также память с адреса 0x8000000 до конца записанных байт и у них считаю контрольную сумму, при этом запись в конец флеш не меняет общую контрольную сумму
Аноним 15/12/20 Втр 17:07:24 4431112028
>>443071
>есть микроконтроллер российского гавнопроизводства, копия stm32
Что за контроллер такой? Любопытно
Аноним 15/12/20 Втр 18:09:52 4431172029
Аноним 15/12/20 Втр 18:18:11 4431202030
>>443117
>Ближайший аналог STM32F103x
>22 600 руб.
ЛОЛЧТО?! Серьёзно? Он ручной работы что ли?
Аноним 16/12/20 Срд 07:52:38 4431792031
>>443120
Он для военных целей предназначен, там высокая степень устойчивости к температурным, вибрационным и радиационным воздействиям
Аноним 18/12/20 Птн 19:19:20 4433632032
>>443120
Металлокерамика везде дорогая плюс наценка барыг, 1986ВЕ92QI в пластике 400 руб стоит.
Аноним 19/12/20 Суб 16:45:42 4434382033
>>443363
> 1986ВЕ92QI в пластике 400 руб стоит.
Дороже, конечно, чем стмка с алика, но всё равно круто, что хотя бы есть.
А где они продаются вообще?
Аноним 22/12/20 Втр 12:18:22 4437292034
>>443438
Не видел их в розничной торговле, скорее всего их только оптом продают. Да и зачем они вообще нужны, мк сделан очень хуево
Аноним 25/12/20 Птн 17:45:26 4440722035
>>443363
Он столько стоил может быть только до подорожания бакса в 2015. Последняя официальная цифра от производителя 700 с чем-то рублей, некоторые барыги продают, например, по 900.
https://ldm-systems.ru/catalog/milandr?cat=k1986be92qi&scat=mk
Аноним 26/12/20 Суб 14:02:35 4441582036
formp1.png 62Кб, 1341x590
1341x590
formp2.png 34Кб, 1317x431
1317x431
Подсобите, пожалуйста, свернуть формулы со скринов и скормить их компилятору gcc.

Надо получить RPM_A.

Если можно, то в двух вариантах: 1) кратко пошагово; 2) в одно действие.
Аноним 28/12/20 Пнд 15:07:11 4444452037
Сап аноны, как можно достать программу, выполняющуюся на stm32?
Аноним 30/12/20 Срд 08:05:56 4446762038
>>444445
>как можно достать программу
откуда достать?
Аноним 30/12/20 Срд 21:11:21 4447782039
Аноним 05/01/21 Втр 16:22:42 4454032040
Приветствую радиоанона, да не охладеет жало паяльника твоего.
Есть stm32f103 и желание замутить машинку на пульте управления. Саму машинку сделать несложно: ШИМ для двигателей, датчики ультразвуковые для препятствий и поехало. Но столкнулся с проблемой пульта:
1 Блютус и телефон использовать не хочу т.к. 10 метров радиус действия, а я хочу побольше. И написать хоть какой-то вменяемый софт управления под андроид для меня пока оверкилл.
2 Можно взять два nRF24L01+ и еще один stm32f103, наколхозить самодельный пульт. Но где найти вменяемый корпус с кнопками, рычажками и хоть какой-то индикацией? Гугл показал, что некоторые умельцы используют старые джойстики от XBox/PS, кто-то пилит самодельную коробку, но этот вариант стоит рассматривать от безысходности.
3 Готовые пульты для радиомоделей фактически вещь в себе: пульт общается с родной платой, на которой уже есть выходы под управление моторами, сервами руля и тд. Но это готовый конструктор с ограничениями: я не могу поменять логику работы, добавить/убрать датчики, добавить/убрать передаваемую инфу и тд.

Есть ли в природе пульты/заготовки, вида "вот тебе корпус+кнопки+контроллер+модуль связи, програмировай"? Или пульт, который уже запрограммирован и есть описание его радиообмена? Типа "частота такая-то, канал такой-то, ключ сопряжения такой-то, на принимающей стороне нужен будет радиомодуль такой-то. Вся посылка вмещается в байт, нажал кнопку на пульте - улетела "1" в таком-то бите".

Или я только что описал вариант 2?
Аноним 06/01/21 Срд 04:48:52 4454982041
>>445403
>И написать хоть какой-то вменяемый софт управления под андроид для меня пока оверкилл.
Можешь наговнякать на tcl/tk под androwish, с гуем в сотню строк выйдет.
Аноним 06/01/21 Срд 17:03:54 4455582042
Аноним 09/01/21 Суб 11:02:55 4458562043
>>445403
4. 433МГц приёмник и передатчик OOK
Аноним 12/01/21 Втр 19:03:21 4464442044
изображение.png 13Кб, 692x134
692x134
Есть код под stm32l0xx, пытаюсь перенести его на stm32f1xx

SET_BIT(FLASH->PECR, FLASH_PECR_ERASE); / Set the ERASE bit /
SET_BIT(FLASH->PECR, FLASH_PECR_PROG); / Set PROG bit /

CLEAR_BIT(FLASH->PECR, FLASH_PECR_PROG);
CLEAR_BIT(FLASH->PECR, FLASH_PECR_ERASE);

Ошибки пикрил. Что поменять надо, чтоб оно работало?
Аноним 07/02/21 Вск 07:44:48 4498862045
image.png 12Кб, 493x104
493x104
Просто гениально. Ни разу, блять, не запутаться
Аноним 14/02/21 Вск 17:06:33 4508612046
KdPiO8nhE9E.jpg 49Кб, 489x600
489x600
Аноним 22/02/21 Пнд 11:36:31 4519982047
Господа, куда блять исчезли почти все STM32F0/F3/F4 да блять почти все их магазинов? На LCSC вообще дичь, цены раза в 3-4 выросли и по наличию залупа. Что вообще происходит, может кто в курсе?
Аноним 24/02/21 Срд 18:12:47 4524692048
image.png 858Кб, 625x900
625x900
>>451998
Может ли stm майнить?
Аноним 08/03/21 Пнд 08:02:50 4547462049
Ребяточки, извините за глупый вопрос, для контроллеров только с99 версия будет нужна? Новые стандарты (с11) не нужны?
Аноним 10/03/21 Срд 20:33:57 4551882050
>>454746
Любой, какой твой компилятор поддерживает.
>Новые стандарты (с11) не нужны?
В 11м стандарте не так много добавили: https://ru.wikipedia.org/wiki/C11
Аноним 15/04/21 Чтв 06:57:45 4594482051
во истину Попов!
Аноним 23/05/21 Вск 17:24:09 4634412052
Если есть blue pill, то должен же быть ещё и red pill для базированных инженеров?
Аноним 29/05/21 Суб 00:55:04 4640042053
Здравствуйте, дорогие радиоаноны!
Вкатился две недели по воле случая в stm32.
Использую SPL и IAR на stm32f407vg плата дискавери. Изучаю каждый интерфейс для обмена данными. Дошел до USART'а. Плату подключил с помощью USB TTL к компу и отправляю данные с stm32. Всё отправляется хорошо, но только на низкой скорости. То есть ставлю baud 1200 — всё работает. Ставлю 9600 — нихуя не работает.
Погуглил, понял, что надо как-то настроить частоту шины с помощью делителей, но нихуя не понял как...
Код не могу скинуть, он остался на работе. Но писал строго по примеру из библиотеки, никак не настраивал частоту, т.е. идёт стандартная 168 МГц, определенная в systemconf.
Как мне вообще поменять частоту? Как подобрать необходимые делители?
Запутался, пацаны...
Если у кого-то есть код, кидайте, буду очень благодарен!!!
Аноним 29/05/21 Суб 06:58:11 4640092054
>>464004
Открываешь даташит. Находишь раздел про уарт. Находишь там формулу расчета скорости передачи. Вписываешь коэффициенты в регистры.
Для упрощения, там уже должны быть таблицы с готовыми коэффициентами для стандартных скоростей.
Аноним 31/05/21 Пнд 19:05:52 4643182055

>>464009
Спасибо, но, как оказалось, проблема была не в скорости. Перенастроил на USART2 вместо USART1 и всё заработало. Я так понял, что USART1 как-то конфликтует с USB портом на плате. Как именно хз, мне это сказал мой куратор — я стажируюсь в отделе разработки.
Так или иначе, всё заработало...
Вот потом мне дали следующее задание: намутить USART с DMA. Ну я подумал, ну всё легко, потому что уже настраивал SPI с DMA и всё работало.
Я оставил настройки USART'а без DMA и делал всё строго по примеру из библиотеки, переделывая под себя. И вот такая хуйня — приходит неверное количество бит. Более того, вместо моих данных приходит мусор. Разумеется, DMA настроил правильно, по референс мануалы. Около часа залипал в код и никак не нашел ошибку, гуглил и прочее прочее.
У кого-нибудь есть варианты, что не так?
Код могу завтра кинуть
Аноним 31/05/21 Пнд 19:07:49 4643192056
>>464318
куда устраивался на стмки?
Аноним 31/05/21 Пнд 21:12:49 4643362057
>>464319
История такая:
Заканчиваю местный вуз по специальности радиотехника. Я очень бедный и ради прикола закинул резюме на хедхантер. Причем, в резюме не было ни слова о программировании мк, потому что я этим никогда не занимался, но схемотехникой более менее владею и основы цифровой электроники тоже знаю. В основном, я надеялся на матлаб, потому что много там работал.
Неожиданно где-то через месяц написала HR строительной компании, говорят им нужен инженер программист в отдел разработки. Я говорю ок, только я ведь нихуя не умею. Она говорит, не страшно — мы научим. Ну я думаю, похуй, больше меня никуда не звали.
Сделал тестовое задание, прошел собеседование. Очень сильно удивился, что взяли.
Ну а в первый день дали плату и говорят: делай что хочешь у тебя весь интернет — изучай, будут вопросы — спрашивай, мы поможем. Ну и хуле я так по-тихонечку изучаю. Сначала было тяжело, но потом я начал постепенно постигать, научился проектировать и разводить печатные платы. Меня никто никуда не торопит, никто на меня не кричит, никто от меня ничего не требует — это плюс. Зарплата 15к во время стажировки — это минус. С другой стороны, я ведь просто учусь, а мне за это ещё платят. После стажировки обещают 40к, но мне кажется, я не справлюсь. Даже, если и так, это опыт.
Аноним 01/06/21 Втр 02:28:23 4643752058
Аноним 02/06/21 Срд 09:25:16 4645272059
>>464318
Странная херня, скинь глянуть когда нибудь.
Я в свое время dma тоже долго не мог переварить, но ничего, справился.
Если есть, кто тебе подсказывает на работе и даёт наставления это сразу плюс. Я таким же методом обучался после универа нихуя не имею знаний, повезло поработать с нормальным спецом, который говорил что делать и дальше изучать. 7ой год работаю уже.
Аноним 02/06/21 Срд 20:07:26 4645872060
>>464527
Я в итоге разобрался. Как оказалось, код был правильный, дело было в настройках самого проекта. Я там добавил лишнюю папку в include. Я убрал её и всё заработало. Как и обмен между двумя платами, так и по rs 232
единственное, не разобрался с прерываниями юсарта и дма.
Дело вот в чем, чтобы сделать функцию, отправляющая пакет данных (100 байт условно), нужно в этой функции включить дма и разрешить запросы от юсарта на передачу. А потом нужно выключить дма и запросы, очистить флаги о передаче и вроде всё. Я настроил прерывания по окончанию передачи и для дма и для юсарта. Вроде всё должно работать, но если в теле main вызвать эту функцию два раза подряд, придёт только один пакет. Если поставить точку на этой функции, то компилятор будто ее не видит и просто проскакивает. Делать функцию __IO и Volatile тоже пробовал. Но!!! если поставить точку именно в прерывании, то оно срабатывает раза и отправляется два пакета, как и должно быть. То есть, будто всё происходит настолько быстро, что компилятор не успевает запустить прерывания, что невозможно в принципе. Разумеется, в прерываниях ставил while(get_dma_status), чтобы код не шел дальше пока флаги не сбросятся.
Кароче, странная хуйня
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов