Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Было бы просто замечательно указать на мои косяки, чтобы я их исправил!Для меня была очень неочевидна ваша работа с EPnR, точнее, тамошними наркоманскими битами. Думаю, у меня все же сделано более наглядно.
P.P.S. Не стоит озираться на мух! Пусть сидят на своих форточкахТут вопрос не только в форточках, но и в следовании стандарту. Сегодня линукс косяки прощает, а потом придет обновление и все. Тем более что это почти ничего не стоит.
P.P.P.S. Подобные вещи надо публиковать и в приличных местах: хоть на той же ЖЖшке и всяких блогах изиэлектроникса.Если хотите, скопируйте, мне не жалко. Кому будет интересно найдут. Для меня же это скорее конспект, чтобы через полгода не забыть как оно работает.
Что до модернизации «синей таблетки»Может, кому и пригодится. У меня-то самодельная плата, которой почти не пользуюсь (l151 удобнее). Тут было бы интереснее подсмотреть как vusb умудряется отключать себя от хоста и адаптировать под stm. Но поскольку я ей толком не пользуюсь, заниматься этим лень.
было бы интереснее подсмотреть как vusb умудряется отключать себя от хоста и адаптировать под stm
Оказалось, все довольно просто: надо было отключить модуль USB и подтянуть D+ к земле:
USB->CNTR = USB_CNTR_FRES; // Force USB Reset
USB->CNTR = USB_CNTR_PDWN;
GPIO_manual( USB_DP, GPIO_OD50 );
GPO_OFF(USB_DP);
for(uint32_t ctr = 0; ctr < 100000; ++ctr) asm volatile("nop"); // wait >1ms
GPIO_manual( USB_DP, GPIO_HIZ );Таким образом, можно подтяжку сделать прямо на питание, и никаких проблем с реконнектом не будет.
Скажите мне, какой наркоман додумался в одном регистре
USB на регистрах: STM32L1 / STM32F1