All streams
Search
Write a publication
Pull to refresh
33
0
Михаил Батон @dltex

С/С++, все чипы до 5$

Send message

Инстинктивно придерживаюсь правила из ANок к STM. Так что бы один слой был землей, а второй питанием, при чем оба должны быть похожи на сплошной полигон. Понятно что там говорилось про трех слойку (земля/сигналы/питание), но и так пойдет. Сигнальные дорожки прямые, как можно короче. В обеих платах перевернул входы/выходы USB порта, обведя один из выводов через соседний неиспользуемый GPIO. В обеих платах под контроллером только земля, которая в нескольких местах соединена через неиспользуемые порты.

"Junior плохо знает английский язык и поэтому пишу транслитом в комментариях" - автор спалился.

А как же мораль. Ну вот эти вот все задвиги старушек с телевизора в духе: Че мы все гуглом да микрософтом пользуемся, где наши IT гиганты. Да и вообще нужно больше технарей богу технарей, что бы все работало и все жили хорошо. На каждой кухне, в каждом подвале толи по своей IT команде, или уже по IT стартап компании, никто о таком не думал?

Вот я для того и писал еще раз что бы васины пулл реквесты не разглядывать. Вы кстати на фамилии авторов USB ST HAL внимание обращали? Фиг пойми кто, каких то аборигенов наняли на аутсорсе, а потом копайся в их вызовах функций по указателю, тройных переобертках каждого регистра и макаронинах из ифов на 200 строчек без всякого намека на последовательность. Ага, типо в просмотрщике pdf забанили нуну, буду я там в реквестах копаться.

Хорошо, подать уровень напряжения соответствующий логической единице при замыкании контакта на землю, вместо просто подать единицу. Зачем расписывать так подробно если вы и так все поняли? Или не поняли, главное что плата компактная, я вот о чем говорил.

еще один cortex m на алике за сотку, дайте два, хотя stmки по 50 покупал.

Я сперва себе для проекта с attiny вот эту функцию написал, https://github.com/dltech/desk_lamp/blob/main/lib/random127.c . А тут уже чисто по привычке скопировал, щас заглянул в исходники libnewlib, понял что тупанул.

Сперва покажи мне проект со 100+ матрицами на 1024 светодиода на длинных проводах подключенных к обычному контроллеру, потом уже говори что так нельзя. Пока что ваше решение разве что дороже, но не лучше.

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

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

в планах матрица 8x8 или сколько там на сколько с одного пакета 100шт получится, я их дома травлю/паяю.

в те же 80е все газоразрядники прикрывались тонированным прозрачным пластиком, что бы яркие цвета стали загадочными полутонами. Кстати светодиодные индикаторы в китайских дивидишниках и тв dvbt приставках до сих пор тонированные, норм решение.

Я тут не решаюсь обычный C++ подкинуть, потому что тащусь когда прошивка в 5 килобайт упихивается (а с плюсами будет все 8-10). А про rust не слышал, помню разве что попытки утолкать java в МК и те были неудачными, потому как те МК уже стоили как полноценный ARM с линуксом.
Кстати когда пересобирал speex, явно ощутил что оперативки в притык, и это на обычном Си. А еще я помню времена Attiny когда printf был непозволительной роскошью.

Меня в проекте libopencm3 их замашки впечатлили, столько много контроллеров. А в этом прожекте я замахнулся не на сборку а на написание еще одного такого же хала. Но пока готов разве что нормальный api под GPIO и три USB примера (HID клавиатура, геймпад, USB-UART). Вообще все такие проекты я считаю обреченными, т.к. ИМХО, невозможно создать мало мальски универсальный APi для работы с железом, тру вариант всегда ручками флаги в регистрах выставлять.

Все ARM Cortex-M давно уже по JTAG или сокращенному варианту его же (SWD). По нему же зашиваются, по нему же отлаживаются. У меня пока ручки до CC2640 Ti и ESP32 с Nordic NRF51 не дотянулись (их думаю через opencocd, swd over ftdi). Но вот STM32 давно уже по gbd через st-link utility по swd, причем под линуксом, в репозиториях уже все есть.

Для отладки консоль и только консоль. Обычно отладка нужна для капризных интерфейсов, работающих в реальном времени и фоном. Поэтому все что остается делать - складывать все переменные и регистры что могут понадобиться в массивы внутри прерываний, а потом считывать их консольным gdb. По другому заглючивший интерфейс отлаживать я хз как. ИМХО в остальных случаях отладка не нужна, т.к. какой нибудь алгоритм можно и тупо на компе погонять, проверить.

Information

Rating
Does not participate
Location
Барнаул, Алтайский край, Россия
Date of birth
Registered
Activity