Микроконтроллеры STM32 - тонкости работы, отладочные платы

Кто любит RISC в жизни, заходим, не стесняемся.
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Martian »

Правильно. И ещё варистор, и лучше из новых, GMOV, например. Ну и автомат, обычный, класса С. А то вдруг действительно и 230 прилетит, а там может и 15 киловольт с подстанции притащится.
Возникает куча вопросов: зачем ставить такой ненадёжный LDO, откуда подрезаемые помехи и почему бы не защитить не только отладчик, но и собственно изделие?
И да, самое главное: не забудьте прилепить молниеотвод. С заземлением, разумеется.
Реклама
Аватара пользователя
НовыйДень
Потрогал лапой паяльник
Сообщения: 362
Зарегистрирован: Вс апр 03, 2022 07:01:29

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение НовыйДень »

L1117-3.3 понижает с 9 до 3,3? Ой, многовато, особенно если он в SOT-223 корпусе. LDO - это low-drop, с низким падением напряжения. Для него оптимально 5-6 В понижать до 3,3. А вот с 9 - рискованно. Входное 15 В в даташите написано при выходном токе 0 мА. А при 800 мА указано входное 8,3 В, но при температуре кристалла 25°. На практике она начнет быстро повышаться и наступит хана. У меня был случай, когда пробило насквозь при перегреве. Так что тут надо пересмотреть концепцию питания. Можно поставить импульсный DC-DC понижатель, можно двуступенчато с 9 до 5 (только не LDO), а затем до 3,3 LDO
Реклама
Аватара пользователя
do-vitas
Потрогал лапой паяльник
Сообщения: 363
Зарегистрирован: Вс мар 03, 2019 08:18:34
Откуда: Волгоград

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение do-vitas »

Не у меня ее тупо пробивает что на входе то на входе!(разочаровали они в общем). току у меня за 0,2 не перевалит. Поставлю еще крен 5в. Да не в этом проблема я же говорю с питанием я как-то разберусь это не проблема! микросхему выбивает когда подключаешь программатор к компу для отладки. Без сетевого напряжения все работает с питанием по отладчику и без отладки тоже все работает. Надо думать а то отлаживать ацп методом тыка долго....
dim3740
Нашел транзистор. Понюхал.
Сообщения: 156
Зарегистрирован: Вс сен 28, 2014 07:54:21

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение dim3740 »

Здравствуйте. Надо "разлочить", видимо, клон STM32F103 Blue pill.
Юзаю оригинальный S-LINK v.2 через SWD. Нет связи, Core Reset не помогает. Вычитал , что якобы попробовать через UART1.

Я готов перерезать дорожки и т.п., но... объясните - смысл? Это только чтоб разлочить или тогда всегда прошивку надо будет заливать таким методом?

Потом. еще не понятно в одном ролике: дескать надо очистить память программ. Как это? Откуда программа, если модуль новый?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Eddy_Em »

dim3740, если connect under reset не помогает, то нужно подключить к USART1 (ЕМНИП, PA9/PA10) преобразователь UART-USB, выставить перемычки для загрузки во встроенный бутлоадер, включить питание и подключиться к USB компьютера. Стереть прошивку (можно заодно прошить новую).
Никакие дорожки для этого перерезать не нужно!

Единственная модификация, требуемая китайским "синим таблеткам" (если там, конечно, STM32 стоит, а не черт-те что) - удалить убогую 10к подтяжку DP+ USB, да припаять резистор 1к5 0603 между DP+ и соседней ногой PA15. Тогда можно будет спокойно программно пересоединяться, а не дергать каждый раз шнурок! Вот, ссылочка на мой ЖЖ
Последний раз редактировалось Eddy_Em Вт июл 12, 2022 16:41:39, всего редактировалось 1 раз.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Реклама
dim3740
Нашел транзистор. Понюхал.
Сообщения: 156
Зарегистрирован: Вс сен 28, 2014 07:54:21

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение dim3740 »

спасибо. Что значит" стереть прошивку"? Ее там нет. И "заодно" не могу и (не хочу прошивать), потому что прошивку надо же отлаживать многократно. Поясните пожалуйста.

И про "дорожки".... модуль/плата впаяна в плату. Возможно (надо посмотреть) UART1 (его пины) уже используются. Как же не перерезать?

Я посмотрел Ваш ЖЖ. Это 2020 год. Мне кажется, что это ( что у меня) клоны, которые пошли в 2021 году из за дефицита полупроводников.
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Мурик »

Не обязательно шить через USART. Достаточно перевести МК в режим загрузчика. Тогда прошивка не будет мешать подключится по SWD.
На плате Blue pill для этого есть перемычки boot0 и boot1.
dim3740 писал(а):И "заодно" не могу и (не хочу прошивать), потому что прошивку надо же отлаживать многократно.
Отладка в ОЗУ?
Читайте http://purebasic.mybb.ru/viewtopic.php?id=564#p7664
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Eddy_Em »

dim3740, я недавно получил липовую "синюю таблетку" (аж пять штук: повелся на дешевизну, по 117р за штучку!). Вместо STM32F103C6T6 там было распаяно нечто: мигало светодиодиком, выдавало себя за нормальный камень, делало вид, что прошивается. Но даже простейшая прошивка, которая должна была элементарно зажечь светодиод, не запустилась. Ну, можно будет по крайней мере использовать хоть печатные платки в качестве девборд для F072 или F303…
модуль/плата впаяна в плату
Жесть-то какая! Девборды - они на то и девборды, чтобы на них тренироваться. На худой конец - сговноляпить что-то временное, пока нормальную не сделал (абы это временное в таком виде десятилетиями потом не висело).
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Eddy_Em »

del
Моя рукожопость зело велика: прошивку для C6T6 я делал с линкером от C8T6! Естественно, т.к. оперативы не 20кБ, а только 10, адрес стека вычислялся неправильно, что, похоже, приводило к хардфолту.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
Рязанцев Владислав
Мудрый кот
Сообщения: 1781
Зарегистрирован: Пн июн 24, 2013 23:00:42
Откуда: Казахстан

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Рязанцев Владислав »

Надо кое куда поставить STm32G030 в корпусе TSSOP20. Внутреннему осцилятору я не особо доверяю, привык кварц цеплять везде. Так вот в корпусе тсоп20 OSC OUT назначить невозможно, но на алиэкспрессе есть отладочные платы где резонатор на 8МГц стоит. Можно его как-то повесить на один вывод, или китайцы сами не знают что сделали?
Изображение
Ваши хотелки за ваши деньги
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение VladislavS »

А если выход с МСО взять? Антинаучно, но вдруг загенерит если пнуть?
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение MLX90640 »

Можете подключить не кварц, а кварцевый генератор, у него как раз один выход. А на микроконтроллере включить режим HSE Bypass, он будет работать как вход внешнего генератора
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение VladislavS »

Таки это кварц.
Изображение
Аватара пользователя
Рязанцев Владислав
Мудрый кот
Сообщения: 1781
Зарегистрирован: Пн июн 24, 2013 23:00:42
Откуда: Казахстан

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Рязанцев Владислав »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4342435#p4342435"]Таки это кварц.[/uquote]
Вот об этом я и говорю. Китайцы настолько тупые, или настолько умные?)
Я не удивлюсь если они его на OSC32 повесили)
Изображение
Ваши хотелки за ваши деньги
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение VladislavS »

[uquote="Рязанцев Владислав",url="/forum/viewtopic.php?p=4342445#p4342445"]Я не удивлюсь если они его на OSC32 повесили)[/uquote]Это запросто. Любопытство стоит дороже 216 руб. ? :)
Аватара пользователя
Рязанцев Владислав
Мудрый кот
Сообщения: 1781
Зарегистрирован: Пн июн 24, 2013 23:00:42
Откуда: Казахстан

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение Рязанцев Владислав »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4342452#p4342452"]Любопытство стоит дороже 216 руб. ? :)[/uquote]
Я не дождусь. Да и куда мне их еще. Есть еще штук 10 всяких черных синих таблеток и куча стм8 кроме того что на фото

Изображение
Изображение
Ваши хотелки за ваши деньги
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение MLX90640 »

Эмм.. Когда лежать вот так вот россыпью, мелкие ножки с шагом 0,5 могут чутка загибаться и менять свой шаг. Было уже так. Поэтому я храню либо в ленте, в которой они приходят, либо на подложке рядами. Внавалку всё-такие не следует.
Аватара пользователя
TEPEM
Нашел транзистор. Понюхал.
Сообщения: 153
Зарегистрирован: Чт дек 05, 2019 16:28:11
Откуда: Самара

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение TEPEM »

Здравствуйте! Я подключаю дисплей на ST7735 к stm32f411ceu6, все работает 0.3 секунды после нажатия ресета, потом белый экран. При инициализации только - рябь 0.3сек, при заливке - заливка на 0.3 сек. Пробовал менять экран та же лажа только цвет заливки другой. Менял инициализацию на другие та же лажа, эту я уже успешно использовал до того. Подскажите пожалуйста люди добрые нубу местному, что я где ни так делаю.
Вот код если вдруг кто захочет глянуть

Код: Выделить всё

void Send_CMD(uint8_t dat)
{ //Otpravka komand
      GPIOB->ODR &= ~(1<<7);  //ChipSelect loy
	GPIOB->ODR &= ~(1<<6);  //DC LoyLevel	
	SPI1->CR1 &= ~SPI_CR1_DFF;
	
	while (!(SPI1->SR & SPI_SR_TXE));
	SPI1->DR = dat;

	 while (!(SPI1->SR & SPI_SR_TXE));
	while ((SPI1->SR & SPI_SR_BSY));
        GPIOB->ODR |= (1<<7);  //ChipSelect Up
}
void Send_DAT(uint8_t dat){ // danue 8 bit
     GPIOB->ODR &= ~(1<<7);  //ChipSelect loy
	GPIOB->ODR |= (1<<6);  //DC UpLevel
		
	SPI1->CR1 &= ~SPI_CR1_DFF;	
	
	while (!(SPI1->SR & SPI_SR_TXE));
	SPI1->DR = dat;

	while (!(SPI1->SR & SPI_SR_TXE));
	while ((SPI1->SR & SPI_SR_BSY));	
        
	GPIOB->ODR |= (1<<7);  //ChipSelect Up
}
void Send_DAT16(uint16_t dat){ // danue 16 bit
         GPIOB->ODR &= ~(1<<7);  //ChipSelect loy
	GPIOB->ODR |= (1<<6);  //DC UpLevel
	
	SPI1->CR1 |= SPI_CR1_DFF;
		
	while (!(SPI1->SR & SPI_SR_TXE)){};
	SPI1->DR = dat;

	while (!(SPI1->SR & SPI_SR_TXE)){};
	while ((SPI1->SR & SPI_SR_BSY)){};
       
       GPIOB->ODR |= (1<<7);  //ChipSelect Up
}

void LCD_Init(){  
        SPI1->CR1 |= SPI_CR1_SPE;//On Spi1
        GPIOB->ODR |= (1<<4);  //RST Hay
        delay(15);
	GPIOB->ODR &= ~(1<<4);  //RST loy
	delay(15);
        GPIOB->ODR |= (1<<4);  //RST Hay
	delay(15);
        
        Send_CMD(0x01);//Sbros nastroek 
        delay(50);
        Send_CMD(0x28);//Programnoe wukl
        Send_CMD(0xC0);//Obuchnaja pitanie
	Send_CMD(0x11);//SlipOut
	delay(150);
        Send_CMD(0x29);//DispOn  
	Send_CMD(0x3A);	 //Format peredachi piksela
	Send_DAT(0x55);		
	Send_CMD(0x20);//Vukl inversiu
	Send_CMD(0x36);//hz  
	Send_DAT(0x80);
     	Send_DAT(0x40);
        Send_DAT(0x08);
        Send_DAT(0x20);	
}

void SetWindow(uint16_t startX, uint16_t startY, uint16_t stopX, uint16_t stopY) {
	Send_CMD(0x2A);
	Send_DAT(startX >> 8);
	Send_DAT(startX);
	Send_DAT(stopX >> 8);
	Send_DAT(stopX);  
	Send_CMD(0x2B);
	Send_DAT(0x00);
	Send_DAT(startY);
	Send_DAT(stopY);
}
void bufer()
{
  uint16_t x = 0, y = 0;
  SetWindow(0, 0, 240, 320);
	Send_CMD(0x2C);
        while(y++ < 320)
        {
          x=0;
          while(x++ <  240)
          {
            Send_DAT16(0xFFE0);//0xFFE0
          }
        }
}
В теле программы только одна строка - вызов инициализации, пробовал в цикл сунуть безтолку.
Лоу левел инит вот так выглядит

Код: Выделить всё

#define RCC_PLLCFGR_PLLP_div2              (0x0U << RCC_PLLCFGR_PLLP_Pos)
#define RCC_PLLCFGR_PLLP_div4              (0x1U << RCC_PLLCFGR_PLLP_Pos)
#define RCC_CFGR_MCO2_HSE                  (0x2U << RCC_CFGR_MCO2_Pos)
#define RCC_CFGR_MCO2PRE_div1              (0x0U << RCC_CFGR_MCO2PRE_Pos)
#define RCC_CFGR_MCO1PRE_div1              (0x0U << RCC_CFGR_MCO1PRE_Pos)
#define RCC_CFGR_I2SSRC_PLLI2S             (0x0U << RCC_CFGR_I2SSRC_Pos)
#define RCC_CFGR_MCO1_HSE                  (0x2U << RCC_CFGR_MCO1_Pos)

#include <stddef.h>
#include "stm32f411xe.h" 

#ifdef __cplusplus
extern "C" {
#endif

int __low_level_init(void)
{
  
   //Kvarc 25MHz, Proc 100MHzbegin
 RCC->CR = _VAL2FLD(RCC_CR_HSITRIM,16) | RCC_CR_HSION | RCC_CR_HSEON;
  while(!(RCC->CR & RCC_CR_HSERDY));
 RCC->PLLCFGR = RCC_PLLCFGR_PLLSRC_HSE | _VAL2FLD(RCC_PLLCFGR_PLLQ,4) | _VAL2FLD(RCC_PLLCFGR_PLLN,192) | _VAL2FLD(RCC_PLLCFGR_PLLM,25) | RCC_PLLCFGR_PLLP_div2; 
  RCC->CR = _VAL2FLD(RCC_CR_HSITRIM,16) | RCC_CR_HSION | RCC_CR_HSEON | RCC_CR_PLLON;
  while(!(RCC->CR & RCC_CR_PLLRDY));
  RCC->CFGR = RCC_CFGR_MCO2_HSE | RCC_CFGR_MCO2PRE_div1 | RCC_CFGR_MCO1PRE_div1 | RCC_CFGR_I2SSRC_PLLI2S | RCC_CFGR_MCO1_HSE
         | _VAL2FLD(RCC_CFGR_RTCPRE,8) | RCC_CFGR_PPRE2_DIV1 | RCC_CFGR_PPRE1_DIV2 | RCC_CFGR_HPRE_DIV1  | RCC_CFGR_SW_PLL;
  FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS;
  //*///Kvarc 25MHz, Proc 100MHz End
  //Timer begin
  RCC->APB1ENR |=  RCC_APB1ENR_TIM2EN;// Taktirovanie Timer 2
   __enable_irq ();
  //Timer end
    RCC->APB2ENR |= RCC_APB2ENR_SPI1EN; //Taktirovanie SPI1
    RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN;//Taktirovanie Port B
    GPIOB->AFR[0] |= 0x00505000;
    GPIOB->MODER |= ( GPIO_MODER_MODER4_0 | GPIO_MODER_MODER6_0 | GPIO_MODER_MODER7_0 | GPIO_MODER_MODER8_0 | GPIO_MODER_MODER10_0 ); // Port B Vihod
    GPIOB->PUPDR |= ( GPIO_PUPDR_PUPD4_1 | GPIO_PUPDR_PUPD6_1 | GPIO_PUPDR_PUPD7_1 | GPIO_PUPDR_PUPD8_1 | GPIO_PUPDR_PUPD10_1 );    // Port B Vihod
    GPIOB->MODER |= (GPIO_MODER_MODER3_1 | GPIO_MODER_MODER5_1);
    GPIOB->OSPEEDR |= (3<<10)|(3<<6)|(3<<8)|(3<<12)|(3<<14)|(3<<19);  // HIGH Speed for PA5, PA6, PA7, PA9
    SPI1->CR1  |= (SPI_CR1_MSTR | SPI_CR1_SSM | SPI_CR1_SSI);
     NVIC_EnableIRQ(TIM2_IRQn); //Prerivania
  return 0; 
}

#ifdef __cplusplus
}
#endif
Спасибо братцы!
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение VladislavS »

1. Собака не включена случайно?
2. main покажи
3. __low_level_init() пусть 1 возвращает. Поверь, так будет лучше. Подробности в документации в качестве самообразования.

Добавлено after 4 minutes 13 seconds:
Re: Микроконтроллеры STM32 - тонкости работы, отладочные платы
4. Латентность флэш надо до переключения тактирования настраивать.
5. В Cortex-M глобальные прерывания по умолчанию включены. Если раньше не выключали, нет смысла включать ещё раз.
6. Дёргать ногами через ODR отучайтесь раз и навсегда.

Добавлено after 2 minutes 47 seconds:
Re: Микроконтроллеры STM32 - тонкости работы, отладочные платы
7. Включаете прерывания таймера, а настройка и обработчик где?
Аватара пользователя
TEPEM
Нашел транзистор. Понюхал.
Сообщения: 153
Зарегистрирован: Чт дек 05, 2019 16:28:11
Откуда: Самара

Re: Микроконтроллеры STM32 - тонкости работы, отладочные пла

Сообщение TEPEM »

Что такое собака?
По таймеру не стал просто копипастить, вот оно

Код: Выделить всё

static uint8_t flagon = 1;

void delay(uint32_t _delay){
  TIM2->PSC =9600;
  TIM2->ARR = _delay*10;//ms
  TIM2->CR1 |= TIM_CR1_CEN;
   TIM2->DIER |= TIM_DIER_UIE;
  flagon = 1;
  while(flagon);}

 void TIM2_IRQHandler(void)
{
  TIM2->SR &= ~TIM_SR_UIF;
  TIM2->CR1 &= ~TIM_CR1_CEN;
  flagon = 0;
}
А как правильно дергать?

Майн

Код: Выделить всё

//Draiver displeja, svistok stm32F411CEU6, TFT 126x160 ST7735
/*3.3v PB3(SPI1_SCK)-SCL
       PB5(SPI1_MOSI)-SDA
       PB4-RES
       PB6-DC (Dannye|Komandy)
       PB7-CS
       PB8-BL (Pitanie???)
       PB10-HL na GND
*/
#include <stddef.h>
#include "stm32f411xe.h" 
#include "displey.h"

int main()
{ 
 
  //GPIOB->ODR |= 0x400;//On svetodiod
    GPIOB->ODR |= 0x100;//On podsvetka
  
   LCD_Init();
 //bufer();
while(1){ 
   delay(1000);//1s
 
    //    GPIOB->ODR |= (1<<8);//On svetodiod
     // delay(1000);//1s
    //    GPIOB->ODR &= ~(1<<8);//On svetodiod
} }
void SystemInit(void){}
Если правильно понял - поставил первой строкой, не изменилось с экраном(
Я кст пока мучал тактирование и делители плл - 4 платы убил)))

Код: Выделить всё

 //Kvarc 25MHz, Proc 100MHzbegin
   FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS;
 RCC->CR = _VAL2FLD(RCC_CR_HSITRIM,16) | RCC_CR_HSION | RCC_CR_HSEON;
  while(!(RCC->CR & RCC_CR_HSERDY));
   
 RCC->PLLCFGR = RCC_PLLCFGR_PLLSRC_HSE | _VAL2FLD(RCC_PLLCFGR_PLLQ,4) | _VAL2FLD(RCC_PLLCFGR_PLLN,192) | _VAL2FLD(RCC_PLLCFGR_PLLM,25) | RCC_PLLCFGR_PLLP_div2; 
  RCC->CR = _VAL2FLD(RCC_CR_HSITRIM,16) | RCC_CR_HSION | RCC_CR_HSEON | RCC_CR_PLLON;
  while(!(RCC->CR & RCC_CR_PLLRDY));
  RCC->CFGR = RCC_CFGR_MCO2_HSE | RCC_CFGR_MCO2PRE_div1 | RCC_CFGR_MCO1PRE_div1 | RCC_CFGR_I2SSRC_PLLI2S | RCC_CFGR_MCO1_HSE
         | _VAL2FLD(RCC_CFGR_RTCPRE,8) | RCC_CFGR_PPRE2_DIV1 | RCC_CFGR_PPRE1_DIV2 | RCC_CFGR_HPRE_DIV1  | RCC_CFGR_SW_PLL;
Ответить

Вернуться в «ARM»