Заметки электроника
Простое - надёжнее!
Меню
  • Главная
  • Погода
  • Заметки
  • Календарь
  • Фотогалерея
  • Песни
  • Чтиво
  • Программы
  • Скачать
  • Связь и ссылки
  • Чехия
  • Lavka

Живёшь в Чехии?

Линда - Северный ветер

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Песни
Категория: Песни настроения, демотивация
Создано: 23 сентября 2016
Обновлено: 23 сентября 2016
Просмотров: 2642
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Шпаргалки по настройке периферии микроконтроллеров

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Программирование микроконтроллеров
Создано: 22 сентября 2016
Обновлено: 22 сентября 2016
Просмотров: 2852
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

https://eewiki.net/display/microcontroller/Home

 

ODB II где находится

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Жизнь
Создано: 21 сентября 2016
Обновлено: 21 сентября 2016
Просмотров: 2791

Рейтинг: 5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна

Начиная делать своей машине компьютерную диагностику, у нас иногда возникает вопрос «Где расположен диагностический разьем ODB2 ?» Эта страница покажет Вам, где расположен разъем для диагностики автомобиля.
Источник: http://www.avtodiagnostika.info/raspolozhenie-razema-diagnostiki-odb-2/

День недели по дате: алгоритм Си

  • Печать
  • E-mail
Информация о материале
Родительская категория: Заметки
Категория: Программирование
Создано: 29 января 2013
Обновлено: 21 сентября 2016
Просмотров: 5817
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Быстрый алгоритм определения дня недели по дате:

Учтите, что месяц задаётся от 0 (январь) до 11 (декабрь).

Получаемый день недели - от 0 (воскресенье) до 6 (суббота).

unsigned short dayofweek(unsigned short year, unsigned short month, unsigned short day)
{
 unsigned short t1, t2, t2r, t3;
 const unsigned short m[12] = {0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5};
  t1 = year - 2000;
  t2 = t1 / 100;
  t2r = t1 % 100;
  t3 = t1 + (t1 >> 2) - t2 + (t2 >> 2) - 1;
  if ( ((t1 & 0x0003 == 0) && ((t2r != 0) || (t2 & 0x0003 == 0))) && (month < 2) ) t3--;
 return (t3 + m[month] + day) % 7;
}

Алгоритм неоднократно проверялся

STM32L051 инициализация для низкого энергопотребления

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Программирование микроконтроллеров
Создано: 19 сентября 2016
Обновлено: 19 сентября 2016
Просмотров: 5794
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

+Сниппеты (примеры) на С для L0 серии от самих ST:

http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32snippets/stm32snippetsl0.html

Пример инициализации:

https://www.snip2code.com/Snippet/258709/STM32L051C8-Current-Consumption-Test

 #include "stm32l0xx.h"
/*
* Stop mode/LSE/RTC: 1.28uA
* Stop mode without RTC: 0.4uA
**/
//#define RTC_ENABLE
 
int main(void)
{
/** */
RCC->APB1ENR |= (RCC_APB1ENR_PWREN);
PWR->CR = (PWR->CR & ~(PWR_CR_VOS)) | PWR_CR_VOS_0;
while(PWR->CSR & PWR_CSR_VOSF);
 
/** DBP enable */
PWR->CR |= PWR_CR_DBP;
 
/* Disable PWR clock */
RCC->APB1ENR &= (uint32_t)(~RCC_APB1ENR_PWREN);
 
/* Enable HSI, wait until ready */
RCC->CR |= RCC_CR_HSION | RCC_CR_HSIDIVEN;
while ((RCC->CR & (RCC_CR_HSIRDY |RCC_CR_HSIDIVF)) != (RCC_CR_HSIRDY |RCC_CR_HSIDIVF));
 
/* Enable PLL, set HSI as PLL source, wait until PLL is ready */
RCC->CFGR |= RCC_CFGR_PLLSRC_HSI | RCC_CFGR_PLLMUL8 | RCC_CFGR_PLLDIV2;
RCC->CR |= RCC_CR_PLLON;
while ((RCC->CR & RCC_CR_PLLRDY) == 0);
 
/* Choose PLL as System clock */
RCC->CFGR |= RCC_CFGR_SW_PLL;
while ((RCC->CFGR & RCC_CFGR_SWS_PLL) == 0);
 
/* Enable all GPIO clock */
RCC->IOPENR |= RCC_IOPENR_GPIOAEN | RCC_IOPENR_GPIOBEN | RCC_IOPENR_GPIOCEN | \
RCC_IOPENR_GPIODEN | RCC_IOPENR_GPIOHEN;
 
/* Take care of PA4, set to Analog input */
// PA4 is set as input by default, this cause current leakage(~4uA)
GPIOA->MODER |= (0x03 << 4*2);
 
/* Disable GPIO clock for stop mode */
RCC->IOPENR &= (uint32_t)~(RCC_IOPENR_GPIOAEN | RCC_IOPENR_GPIOBEN | RCC_IOPENR_GPIOCEN | \
RCC_IOPENR_GPIODEN | RCC_IOPENR_GPIOHEN);
 
#ifdef RTC_ENABLE
 
/** reset RTC */
RCC->CSR |= RCC_CSR_RTCRST;
RCC->CSR &= ~RCC_CSR_RTCRST;
 
/** enable LSE */
RCC->CSR |= RCC_CSR_LSEON;
while((RCC->CSR & RCC_CSR_LSERDY)!=RCC_CSR_LSERDY);
 
/** Enable RTC, use LSE as clock */
RCC->CSR = (RCC->CSR & ~RCC_CSR_RTCSEL) | RCC_CSR_RTCEN | RCC_CSR_RTCSEL_0;
 
/* Enable Alarm interrupt */
RTC->WPR = 0xCA;
RTC->WPR = 0x53;
RTC->CR &=~ RTC_CR_ALRAE;
while((RTC->ISR & RTC_ISR_ALRAWF) != RTC_ISR_ALRAWF)
{
/* add time out here for a robust application */
}
RTC->ALRMAR = 0;
RTC->CR = RTC_CR_ALRAIE | RTC_CR_ALRAE;
RTC->WPR = 0xFE;
RTC->WPR = 0x64;
 
/** */
EXTI->IMR |= EXTI_IMR_IM17;
EXTI->RTSR |= EXTI_RTSR_TR17;
NVIC_SetPriority(RTC_IRQn, 0);
NVIC_EnableIRQ(RTC_IRQn);
 
RTC->WPR = 0xCA;
RTC->WPR = 0x53;
RTC->ISR |= RTC_ISR_INIT;
while((RTC->ISR & RTC_ISR_INITF)!=RTC_ISR_INITF)
{
/* add time out here for a robust application */
}
RTC->PRER = 0x00010001;
RTC->TR = 0; /* (5) */
RTC->DR = 0x00002101;
RTC->CR = (RTC->CR & ~RTC_CR_FMT);
RTC->ISR &=~ RTC_ISR_INIT;
RTC->WPR = 0xFE;
RTC->WPR = 0x64;
 
#endif
 
while (1) /* Infinite loop */
{
/* Set SLEEPDEEP bit of Cortex System Control Register */
SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
 
/* Enable PWR clock */
RCC->APB1ENR |= RCC_APB1ENR_PWREN;
 
/* Disable the Power Voltage Detector */
PWR->CR &= (uint32_t)(~PWR_CR_PVDE);
PWR->CR = ( PWR->CR & (uint32_t)(~PWR_CR_PLS) )| PWR_CR_PLS_LEV4;
 
/* Set MCU in ULP (Ultra Low Power) */
PWR->CR |= PWR_CR_ULP;
 
/*Enable fast wakeUp*/
PWR->CR |= (uint32_t)(PWR_CR_FWU);
 
/* Enter Stop mode(not standby mode) when mcu enters deepsleep */
PWR->CR &= (uint32_t)(~PWR_CR_PDDS);
 
/* Regulator is in low power mode */
PWR->CR |= PWR_CR_LPSDSR;
 
/* WeakUp flag must be cleared before enter sleep again */
PWR->CR |= (uint32_t)(PWR_CR_CWUF);
while( (PWR->CSR & PWR_CSR_WUF) == PWR_CSR_WUF );
 
/* Disable PWR clock */
RCC->APB1ENR &= (uint32_t)(~RCC_APB1ENR_PWREN);
 
__WFI();
}
}
  1. Ждёт ли "жижу" дно?
  2. SRU-12VDC-SD-C
  3. Расшифровка ошибок CAN
  4. Классика жанра таргетированной статьи для разгона акций. Скопировал ради примера, на что нельзя вестись, чтобы не пропало

Страница 144 из 199

  • 139
  • ...
  • 141
  • 142
  • 143
  • 144
  • ...
  • 146
  • 147
  • 148

Back to Top

© 2026 Заметки электроника

Top.Mail.Ru