16.07.2018, 14:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,901
Сказал спасибо: 499
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от eddy
|
Одну плату, кстати, почти реанимировал: при тщательном рассмотрении оказалось, что нога boot болтается в воздухе, т.к. второй конец подтяжки на землю не был припаян!
|
Возможно, у горе-паяльщика и флюс "интересный"...
Как минимум - демонтаж, промывка, повторный монтаж... иначе никаких гарантий работоспособности в будущем.
|
|
|
|
16.07.2018, 16:26
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Флюс у него нормальный — обычная спиртоканифоль, я сам давал (ЛТИ не дал, мало ли — начнет SMD ею паять).
Сообщение от AR_Favorit
|
демонтаж, промывка, повторный монтаж
|
вот этого не хотелось бы: и так уже 3.5 месяца потеряно...
UPD. Прозвонил, перепаял кое-что. Реально, проблема была в непропае: из-за отсутствия контакта с землей у диода выгорал импульсник, Rx/Tx UART'а закорочены, сожженые Шоттки...
С одним так и не разобрался до конца: все работает при питании от USB, а вот при попытке питания от 12В, когда должен работать импульсник, выгорает входной мосфет защиты от переполюсовки...
В общем, лишний раз это напомнило мне важное изречение: «Хочешь, чтобы было сделано правильно, сделай это сам!»
__________________
Смерть бандеровской мразоте!
Последний раз редактировалось eddy; 16.07.2018 в 18:11.
|
|
|
|
19.07.2018, 01:53
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,901
Сказал спасибо: 499
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от eddy
|
Реально, проблема была в непропае: из-за отсутствия контакта с землей у диода выгорал импульсник, Rx/Tx UART'а закорочены, сожженые Шоттки...
|
Сообщение от eddy
|
С одним так и не разобрался до конца: все работает при питании от USB, а вот при попытке питания от 12В, когда должен работать импульсник, выгорает входной мосфет защиты от переполюсовки...
|
Обычный "идеальный диод?" А какой мосфет стоит? Может, по ошибке взят с Ugs_max=10V?
Я обычно NTR1P02T1G ставлю. Ну у меня токи меньше ампера, понятно...
|
|
|
|
19.07.2018, 02:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от AR_Favorit
|
Обычный "идеальный диод?" А какой мосфет стоит?
|
Да, обычный. Стоит AO3407. У него 20В, так что запас есть. Скорей всего, что-то где-то в цепи импульсника мой паяльщик выжег (но без напряжения все прозванивается нормально).
__________________
Смерть бандеровской мразоте!
Последний раз редактировалось eddy; 19.07.2018 в 02:56.
|
|
|
|
19.07.2018, 12:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,780
Сказал спасибо: 2,671
Сказали Спасибо 2,645 раз(а) в 1,953 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от eddy
|
выгорает входной мосфет защиты от переполюсовки...
|
По идее его должен успеть опередить предохранитель..
|
|
|
|
23.07.2018, 09:07
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,901
Сказал спасибо: 499
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
STM32L072 со своим даташитом не перестает радовать.
Есть RTC. Требуется периодически будить МК из режима STOP c использованием RTC periodic wakeup. Есть четкое описание и даже пример конфигурации этого режима в даташите. Есть сниппет с примерно тем же примером. Есть в конце концов AN4759 "Using the hardware real-time clock (RTC) in low-power modes with
STM32 microcontrollers" с описанием, в т.ч., порядка конфигурации этого самого RTC periodic wakeup.
И абсолютно нигде нет указания на необходимость каких-либо манипуляций с битом INIT регистра RTC-›ISR для работы с periodic RTC wakeup unit. Более того, есть четко написанное в даташите про регистр ISR:
Цитата:
|
TC initialization and status register (RTC_ISR)
This register is write protected (except for RTC_ISR[13:8] bits). The write access procedure is described in RTC register write protection on page 542.
Address offset: 0x0C
RTC domain reset value: 0x0000 0007
System reset: not affected except INIT, INITF, and RSF bits which are cleared to ‘0‘
|
На деле же пример инита из даташита или AN4759 не работает.
А вот сниппет работает, поскольку там вслед за настройкой periodic wakeup-а есть еще процедура настройки часов, в которой устанавливается, а затем сбрасывается бит INIT в регистре RTC_ISR.
Добавление очистки этого бита к процедуре инициализации RTC Wake-Up, описанной в даташите, чудесным образом заставляет прогу работать. Хотя никто его не взводил, и по ресету он должен быть нулем...
Код - калька из сниппета:
PHP код:
|
void configure_rtc(void) { /* Enable the LSI */ RCC-›CSR |= RCC_CSR_LSION; /* Wait while it is not ready */ while((RCC-›CSR & RCC_CSR_LSIRDY)!=RCC_CSR_LSIRDY){}; /* Enable PWR clock */ RCC-›APB1ENR |= RCC_APB1ENR_PWREN; /* Enable write in RTC domain control register */ PWR-›CR |= PWR_CR_DBP; /* LSI for RTC clock */ RCC-›CSR = (RCC-›CSR & ~RCC_CSR_RTCSEL) | RCC_CSR_RTCEN | RCC_CSR_RTCSEL_1; /* Disable PWR clock */ RCC-›APB1ENR &= ~RCC_APB1ENR_PWREN;
/* Configure RTC */ /* Enable write access for RTC regsiters */ RTC-›WPR = 0xCA; RTC-›WPR = 0x53;
/* Disable wake up timer to modify it */ RTC-›CR &= ~RTC_CR_WUTE;
/* Wait until it is allow to modify wake up reload value */ while((RTC-›ISR & RTC_ISR_WUTWF) != RTC_ISR_WUTWF){}; /* Modify wake upvalue reload counter to have a wake up each 1Hz */ RTC-›WUTR = 0x9C0; /* Enable wake up counter and wake up interrupt */ RTC-›CR = RTC_CR_WUTE | RTC_CR_WUTIE; ////////////////////////////////////////////////////////// // Без вот этой строчки прерываний по RTC WakeUp нет!!! ////////////////////////////////////////////////////////// RTC-›ISR = ~RTC_ISR_INIT; ////////////////////////////////////////////////////////// /* Disable write access for RTC regsiters */ RTC-›WPR = 0xFE; RTC-›WPR = 0x64; /* Configure exti and nvic for RTC IT */ /* unmask line 20 */ EXTI-›IMR |= EXTI_IMR_IM20; /* Rising edge for line 20 */ EXTI-›RTSR |= EXTI_RTSR_TR20; /* Set priority */ NVIC_SetPriority(RTC_IRQn, 0); /* Enable RTC_IRQn */ NVIC_EnableIRQ(RTC_IRQn); }
|
"Читайте даташит", говорили они... "Периферия почти такая же, как в STM8L", говорили они...
Ну вот как так-то?
Последний раз редактировалось AR_Favorit; 23.07.2018 в 09:10.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо AR_Favorit за это сообщение:
|
|
|
23.07.2018, 15:04
|
|
Почётный гражданин KAZUS.RU
Регистрация: 14.03.2009
Сообщений: 1,601
Сказал спасибо: 1,069
Сказали Спасибо 1,560 раз(а) в 857 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от AR_Favorit
|
Ну вот как так-то?
|
Обычные дела
|
|
|
Сказали "Спасибо" laser532
|
|
|
24.07.2018, 09:15
|
|
Гражданин KAZUS.RU
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 683
Сказал спасибо: 362
Сказали Спасибо 757 раз(а) в 359 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от AR_Favorit
|
Периферия почти такая же, как в STM8L
|
А в RM0031 для STM8L15x в описании процедуры инициализации RTC упомянут регистр
предделителя PRER, которого там и в помине нет, зато есть в STM32.
Все смешалось; возможно, в фирме ST изначально распилили один STM32 на четыре STM8-х,
и одному из огрызков как раз достался этот регистр; отсюда и зло-копипаст мануалов
|
|
|
|
24.07.2018, 17:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,672
Сказал спасибо: 130
Сказали Спасибо 1,074 раз(а) в 517 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Такие объемные доки обычно набирают не с "нуля". Скорее всего берут что-то из близкого семейства и правят. Но бывает правят невнимательно.
|
|
|
|
26.07.2018, 19:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Мужики, есть у кого-нибудь USB CDC для STM32F0 без всякой лишней дряни (вроде SPL или кала)?
Поделитесь, пожалуйста...
__________________
Смерть бандеровской мразоте!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:19.
|
|