Например TDA7294

Форум РадиоКот • Просмотр темы - Изучение STM32
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 15:07:46

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 65 ]    , 2, ,  
Автор Сообщение
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Ср ноя 25, 2015 15:50:59 
Нет, вот такие - [bred][/bred]
Злой кот заценит! :)))


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Чт ноя 26, 2015 12:07:38 
Вымогатель припоя
Аватар пользователя

Карма: 3
Рейтинг сообщений: 253
Зарегистрирован: Вт июн 25, 2013 18:45:07
Сообщений: 606
Рейтинг сообщения: 0
За наводку на stm32snippets спасибо :)


Вернуться наверх
 
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Вс июн 05, 2016 11:09:34 
Как в STM32F103 задействовать GPIO через DMA? В каком режиме - Mem2Mem или Periph<->Mem? В RM0008 ничего не нашёл как привязать DMA к GPIO.


Вернуться наверх
   
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Вс июн 05, 2016 11:26:07 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 2
Periph<->Mem


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Чт июн 09, 2016 13:07:01 
Чем отличаются Cristal-less USB от обычного в F070? Перевод с английского не пойму нифига, да и отличия что то никак не осознаются... :(
Изображение


Вернуться наверх
   
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Чт июн 09, 2016 13:53:14 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 2
Chettuser, без внешнего кварца, очевидно же. Стабильность внутреннего осциллятора на высоте...


Вернуться наверх
 
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Чт июн 09, 2016 15:57:21 
Тьху, б..я! Кто ж знал что "Crystal" имелось ввиду кварц! Сенкс, сэр.


Вернуться наверх
   
 
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Вт окт 04, 2016 10:59:31 
Продублирую вопрос тут:
Застрял с настройкой HSE+PLL. Чего я натворил? Вроде всё по RM с регистров переписывал.
Спойлер
Код:
    RCC->CR |= RCC_CR_HSEON;                    // Включить HSE
    while((RCC->CR & RCC_CR_HSERDY) == 0) {}    // Ждём включения HSE

    RCC->CFGR2 |= RCC_CFGR2_PREDIV1_DIV1;       // Предделитель PLL отключён
    RCC->CFGR |= RCC_CFGR_PLLSRC_HSE_PREDIV;    // Используем HSE для PLL

    RCC->CFGR |= RCC_CFGR_HPRE_DIV1;        // SYSCLK без деления
    RCC->CFGR |= RCC_CFGR_PPRE_DIV1;        // HCLK без деления

//    RCC->CFGR |= (uint32_t) (RCC_CFGR_SW_HSE);
//    while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSE) {}

    RCC->CR &= (uint32_t)(~RCC_CR_PLLON);                       // Отключаем PLL
    while((RCC->CR & RCC_CR_PLLRDY) != 0) {}                    // Ждём пока PLL отключится
    RCC->CFGR = RCC->CFGR & (~RCC_CFGR_PLLMUL) | (RCC_CFGR_PLLMUL6);    // Устанавливаем множитель
    RCC->CR |= (uint32_t) (RCC_CR_PLLON);                       // Включаем PLL
    while((RCC->CR & RCC_CR_PLLRDY) == 0) {}                    // Ждём установления PLL
    RCC->CFGR |= (uint32_t) (RCC_CFGR_SW_PLL);                  // Выбираем PLL как источник
    while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL) {}   // Ждём пока PLL включится

    RCC->CR |= RCC_CFGR_MCO_SYSCLK;     // Включаем на PA8 выход системной частоты

Спасибо.


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Вт окт 04, 2016 11:44:52 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 3
Код:
FLASH->ACR = FLASH_ACR_PRFTBE | FLASH_ACR_LATENCY;


Перед - конфигом множителя PLL. Системная тактовая уже больше 24МГц...

Ну и рекомендованная секвенция включения PLL

Код:
      if ((RCC->CFGR & RCC_CFGR_SWS) == RCC_CFGR_SWS_PLL)  /* (1) */
         {
          RCC->CFGR &= (uint32_t) (~RCC_CFGR_SW); /* (2) */
          while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSI) /* (3) */
          {
          /* For robust implementation, add here time-out management */
          }
         }
         
         RCC->CR &= (uint32_t)(~RCC_CR_PLLON); /* (4) */
         while((RCC->CR & RCC_CR_PLLRDY) != 0) /* (5) */
         {
          /* For robust implementation, add here time-out management */
         }
         
         RCC->CR |= RCC_CR_HSEON;                    // Включить HSE
      while((RCC->CR & RCC_CR_HSERDY) == 0) {}    // Ждём включения HSE

      //RCC->CFGR2 |= RCC_CFGR2_PREDIV1_DIV1;       // Предделитель PLL отключён
      RCC->CFGR |= RCC_CFGR_PLLSRC_HSE_PREDIV;    // Используем HSE для PLL
         
         
         FLASH->ACR = FLASH_ACR_PRFTBE | FLASH_ACR_LATENCY;
         
         RCC->CFGR = (RCC->CFGR & (~RCC_CFGR_PLLMUL)) | (RCC_CFGR_PLLMUL6); /* (6) */
         RCC->CR |= RCC_CR_PLLON; /* (7) */
         while((RCC->CR & RCC_CR_PLLRDY) == 0) /* (8) */
         {
          /* For robust implementation, add here time-out management */
         }
         RCC->CFGR |= (uint32_t) (RCC_CFGR_SW_PLL); /* (9) */
         while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL)  /* (10) */
         {
          /* For robust implementation, add here time-out management */
         }
         }


Вернуться наверх
 
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Ср окт 05, 2016 18:22:45 
Увы, нет. Заработал другой код, в котором я пока не разбирался.


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Ср окт 05, 2016 19:09:04 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Что увы??? Это полностью рабочий код.
Скрины с дебагера показать?
Здесь может быть только одно - г. кварц, конденсаторы+косяки в разводке. Для это добавляем задержку при старте HSE. У меня компоненты отличные и заводится все на раз


Последний раз редактировалось dosikus Ср окт 05, 2016 19:12:55, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Ср окт 05, 2016 19:12:20 
Не спорю. Пытаюсь разобраться сам почему так.
В любом случае спасибо за помощь.


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Ср окт 05, 2016 19:14:01 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Да, и камень то какой? У меня F072C8 , у других есть небольшие отличия в источниках PLL.


Вернуться наверх
 
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Ср окт 05, 2016 19:22:35 
Да похожий, F030. Некогда сейчас, потом разберусь. Пойду спать. :)


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Ср окт 05, 2016 19:27:30 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
F030 , именно в нем по другому. Завтра буду смотреть...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Чт окт 06, 2016 09:23:16 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 3
Хорошим примером будет функция SetSysClock. Она точно работает.
Код:
static void SetSysClock(void)
{
  __IO uint32_t StartUpCounter = 0, HSEStatus = 0;

  /* SYSCLK, HCLK, PCLK configuration ----------*/
  /* Enable HSE */
  RCC->CR |= ((uint32_t)RCC_CR_HSEON);

  /* Wait till HSE is ready and if Time out is reached exit */
  do
  {
    HSEStatus = RCC->CR & RCC_CR_HSERDY;
    StartUpCounter++;
  } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));

  if ((RCC->CR & RCC_CR_HSERDY) != RESET)
  {
    HSEStatus = (uint32_t)0x01;
  }
  else
  {
    HSEStatus = (uint32_t)0x00;
  }

  if (HSEStatus == (uint32_t)0x01)
  {
    /* Enable Prefetch Buffer and set Flash Latency */
    FLASH->ACR = FLASH_ACR_PRFTBE | FLASH_ACR_LATENCY;

    /* HCLK = SYSCLK */
    RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;

    /* PCLK = HCLK */
    RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE_DIV1;

    /* PLL configuration = HSE * 6 = 48 MHz */
    RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL));
    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL6);

    /* Enable PLL */
    RCC->CR |= RCC_CR_PLLON;

    /* Wait till PLL is ready */
    while((RCC->CR & RCC_CR_PLLRDY) == 0)
    {
    }

    /* Select PLL as system clock source */
    RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));
    RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL;

    /* Wait till PLL is used as system clock source */
    while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL)
    {
    }
  }
  else
  { /* If HSE fails to start-up, the application will have wrong clock
         configuration. User can add here some code to deal with this error */
  }
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Чт окт 06, 2016 11:01:48 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 3
Мурик, хорошим примером будет в отладчике смотреть что и как и где виснет.

Приведенная тобой функция имеет отличие только в таймауте ожидания HSE.
И она не универсальная, в линейке F0 есть отличия в системе тактирования и существенные.
Кстати - возьми даташит и RM и проштудируй сей вопрос - найди Clock tree и води пальцем от HSE до System clock...



Изображение
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Чт окт 06, 2016 11:42:12 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 0
dosikus писал(а):
Приведенная тобой функция имеет отличие только в таймауте ожидания HSE.
Если HSE не работает (кварц не запускается или его вовсе нет) программа не повиснет в цикле, в отличие от кода Chettuser и от вашего кстати тоже. Правда частота будет 8 МГц.

dosikus писал(а):
И она не универсальная
Функция для F030 и совместимых с ним.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Чт окт 06, 2016 14:53:38 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Мурик, вот когда допишешь эти хотелки , тогда оно и сбудется . :)))
См последнее else.
Запомни, эти функции лишь для изучения и мы с Chettuser отлаживаем основы.
Вот когда они заработают, можно и обслугу писать но не так как в примере а с прерываниями на CSS.
Та же ситуация и с SPL и HAL, наивно полагать что там уже все законченно-совершенно ...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Изучение STM32
СообщениеДобавлено: Чт окт 06, 2016 15:10:11 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 0
dosikus писал(а):
См последнее else.
Я написал
Мурик писал(а):
Правда частота будет 8 МГц.
Если нужно, не составляет труда дописать код, включающий PLL и умножающий частоту HSI до необходимой.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 65 ]    , 2, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: shtepa и гости: 29


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y