Коллеги, подскажите пожалуйста.
Я не понимаю про порты чего-то очень важного.

1)
Написал вот такой код. На осциллографе наблюдаю время переключения портов.
Почему PB7 переключается медленнее чем PA5 PA11 ?

wacko.gif

Код
  HSI_ON;
  SYSTEM_CLOCK_HSI;

  RCC->AHBENR |= RCC_AHBENR_GPIOBEN | RCC_AHBENR_GPIOAEN;  //включили тактирование портов
  
    GPIOA->MODER &= ~GPIO_MODER_MODER5;
    GPIOA->MODER |= GPIO_MODER_MODER5_0;   //PA5  выход
    GPIOA->OSPEEDR|= GPIO_OSPEEDER_OSPEEDR5;  //Скорость PA5 максимальная

    GPIOA->MODER &= ~GPIO_MODER_MODER11;
    GPIOA->MODER |= GPIO_MODER_MODER11_0;   //PA11  выход
    GPIOA->OSPEEDR|= GPIO_OSPEEDER_OSPEEDR11;  //Скорость PA11 максимальная

    GPIOB->MODER &= ~GPIO_MODER_MODER7;
    GPIOB->MODER |= GPIO_MODER_MODER7_0;   //PB7  выход
    GPIOB->OSPEEDR|= GPIO_OSPEEDER_OSPEEDR7;  //Скорость PB7 максимальная

    while(1)
    {        
        GPIOA->BSRRL=GPIO_BSRR_BS_5;  //высокий уровень на PA5
        GPIOA->BSRRH=GPIO_BSRR_BS_5;  //низкий уровень на PA5

        GPIOA->BSRRL=GPIO_BSRR_BS_11;  //высокий уровень на PA11
        GPIOA->BSRRH=GPIO_BSRR_BS_11;  //низкий уровень на PA11

        GPIOB->BSRRL=GPIO_BSRR_BS_7;   //высокий уровень на PB7
        GPIOB->BSRRH=GPIO_BSRR_BS_7;   //низкий уровень на PB7
  }


2) Но это ещё ничего, мне на PB7 быстро и не надо. Беда вот в чём : при переключении PA5 на ноге VDDA возникает огромная помеха,
и портятся показания АЦП который всё это время работает. Причина помехи в том, что потребление по этой ноге подскакивает .
Схема измерений и осцилограмма того что происходит при передаче байта по SPI1 SCLK которого на PA5 во вложении. На резисторе 10 Ом пульсации 100мВ.
Какие конденсаторы не вешай- всё равно показания АЦП кривые.
При переключении PB7 и PA11 такого эффекта не наблюдается. Хотя PA5 и PA11 переключаются одинаково быстро.