Category: экономика

Category was added automatically. Read all entries about "экономика".

promo eddy_em august 17, 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
Костерок

Железячки

Решив пополнить запасы "на случай ядерной войны", купил 24 октября два десятка STM32F072CBT6, обошлось мне это счастье в 19.74 бакса (сейчас в рамках "распродажи" немного цену снизили: $18.90).
Сразу же сел проверять. И сразу же наткнулся на непонятный косяк: МК упорно не проявлял себя как DFU-устройство. Чуть пошурудил разъемом USB — вуаля, заработало! Дело в том, что последний раз, когда я пользовался своим устройством для быстрой прошивки/проверки STM32F0x2 и F103, отломал гнездо micro-USB. При перепайке пришлось оторванные дорожки заменить жилками из МГТФ. На будущее сделал вывод: нельзя такую дрянь использовать, надо распаивать на своих схемах как минимум mini-USB, а еще лучше - полноценный "квадратный" разъем. Он-то точно не отвалится при небольших нагрузках на провод.
А еще пришли заказанные месяц назад на JLCPCB платы. На сей раз у них выбор цвета паяльной маски не карался дополнительными поборами, и я заказал кошерную черную. Уж больно мерзко зеленая паяльная маска смотрится! Непонятно, почему ее по дефолту используют, когда черная намного благородней!
Фотографию спрятал, чтобы ленту не ломала.
Collapse )
Костерок

Проблема с пинами PA13..PA15 на STM32F103

Бьюсь-бьюсь, да что-то не выходит! Сделал "вундервафлю" (про нее позже напишу) для работы с STM32F0x2 и STM32F103 в LQFP48 без пайки. Проверил все 10 STM32F072, купленных на али — все работают (как ни странно), да еще и dfu-util почему-то 128кБ флеша у них показал вместо положенных 64...
Стал модифицировать прошивку для работы с STM32F103. И тут-то выползла засада: у него на PA13..PA15 висит нафиг не нужный SWD/JTAG, а я на "вундервафле" на PA13 повесил внешнюю подтяжку USBDP (т.к. у F103 внутренняя отсутствует), а на PA14/15 — кнопки! Вот такой код
static void gpio_setup(void){
    // Enable clocks to the GPIO subsystems, turn on AFIO clocking to disable SWD/JTAG
    RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_AFIOEN;
    // turn off SWJ/JTAG
    AFIO->MAPR = AFIO_MAPR_SWJ_CFG_DISABLE;
    // turn off USB pullup
    pin_set(GPIOA, 1<<13);
    // Set leds (PA0/PA4) as opendrain output
    GPIOA->CRL = CRL(0, CNF_ODOUTPUT|MODE_SLOW) | CRL(4, CNF_ODOUTPUT|MODE_SLOW);
    // Set buttons (PA14/15) as inputs with weak pullups, USB pullup (PA13) - opendrain output
    GPIOA->ODR = (1<<14)|(1<<15); // pullups
    GPIOA->CRH = CRH(13, CNF_ODOUTPUT|MODE_SLOW) | CRH(14, CNF_PUDINPUT|MODE_INPUT) | CRH(15, CNF_PUDINPUT|MODE_INPUT);
}

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

UPD: отбой, это я нарукожопил в инициализации uart:
GPIOA->CRH = CRH(9, CNF_AFPP|MODE_NORMAL) | CRH(10, CNF_FLINPUT|MODE_INPUT);

(вместо |= поставил =, в итоге настройки "слетали" в дефолт).

Теперь ковыряюсь с STM32F103. Оказалось, что у него на PA4 нет вывода TIM14CH1, пришлось просто мыргать вторым светодиодом тоже. До USB пока далеко — пытаюсь с АЦП разобраться, что-то не выходит пока.
Код под STM32F103.