Меня долго душила жаба, но таки удушил ее я и купил за 11 баксов на али переходник LQFP48 на DIP. Давно хотел сделать простую приспособу, при помощи которой можно было бы без пайки работать с микроконтроллерами в этом корпусе. STM32F0x2 и STM32F103 по ногам практически совпадают (как впоследствии оказалось, не на столько, на сколько бы хотелось ☹).
Железяка за работой
Ну и, конечно, файлы на гитхабе: схема и трассировка самой платы, код для STM32F0x2 (полностью рабочий) и зачатки кода для STM32F103. Так как на плате фактически обвязка минимальная, решил развести все на одной стороне. Фоторезист опять криво приклеился, но я решил, что и так сойдет:
Рваные дорожки потом проволочками подпаял. Вот так это выглядит в собранном виде, переходник просто вставляется в соответствующие разъемы:
Плата без переходника (желтый светодиод почему-то сразу сгорел, я его перепаял потом тоже на красный):
Еще планировал воткнуть переменный резистор, но я их только позавчера на али заказал... ESD-защиту USB с какого-то перепугу припаял наоборот, решил, что проще проводочками питание подвести как надо, чем отпаивать феном с риском оборвать все дорожки... Это уродство залил лаком для ногтей и для ускорения сушки подул феном, получилось совсем страшно:
Еще одним косяком было то, что я зачем-то подтяжку USBDP на +5В воткнул, когда стал паять транзистор, заметил это и тоже проводочком исправил. Потом с обеих сторон вскрыл лаком plastik. С клиентом на борту:
Главной моей глупостью было припаять microUSB, я замучился с этим разъемом! В итоге взял жилки МГТФ и подпаял от дорожек к каждой лапке разъема. Надо было сразу нормальный полноразмерный USB type B паять!
Проверил на этой штуке все 10 STM32F072, купленных недавно на али. С виду эти МК — совершенная липа, но несмотря на это, все 10 прошились через USB-DFU, у всех завелись USB-CDC, UART, ADC и TIM14, реагировали на кнопочки и мигали светодиодами. А dfu-util даже показал в них 128кБ памяти (64 страницы по 2кБ) супротив требуемых 64! Правда, лучше этому не верить до полноценной проверки. Но, боюсь, я никогда даже на 64кБ не осилю прошивку — нет у меня таких мегазадач!
Выше я писал, что ноги не совсем совпали: я не посмотрел, что у STM32F103 на PA4 нет вывода TIM14CH1!! Пришлось в прошивке для этого МК просто мигать обоими светодиодами. До USB у меня руки еще не дошли. Я часа три разбирался с АЦП: сначала искал в документации, где же заветные регистры, в которых прописаны калибровки (но оказалось, что их тупо нет!), потом искал, почему же у меня АЦП через DMA не работает. Пока не нашел причин. Писать после STM32F0 под уродца F1 — как с мягкой перины улечься спать на колючую проволоку!!!