leoniv (leoniv) wrote,
leoniv
leoniv

Categories:

Бальзам

DSC_8250_s

Пост-загадка, или бальзам на душу для противников SPL. Это не ошибка в SPL, а лишь пример того, как библиотека может способствовать ошибкам программиста. Вот такой код может приводить к неработоспособности порта PA5. Столкнулся на F4, но то же самое будет и на F1.


  RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
  DAC_InitTypeDef DAC_InitStructure;
  DAC_InitStructure.DAC_Trigger = DAC_Trigger_None;
  DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
  DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable;
  DAC_Init(DAC_Channel_1, &DAC_InitStructure);


Порт PA5 ведет себя непредсказуемо (а он у меня используется как выход SCK SPI1). Если что-то поменять в совершенно не связанным с этим делом месте программы, начинает работать. Еще что-то поменять - перестает. А может быть еще хитрее: включаем питание устройства - порт сидит в нуле и ни на что не реагирует. Подаем "сброс" на процессор - порт начинает нормально работать. И это всегда повторяется. Если эту же функциональность фрагмента переписать без SPL, глюк исчезает. Каков механизм глюка?

Комментарии включены для всех.
Tags: electronics, stm32, программирование
Subscribe

  • Ничего

    Ничего - подарок для человека, у которого всё есть. Ссылка на AliExpress: nothing.

  • НГ

    Приближается Новый год. Праздник. Можно себе позволить еду не на каждый день, эксклюзивную. Закупил продукты для мясного салата, а сегодня варю…

  • Болею

    Вчера приключилась какая-то хворь. Похоже на пищевое отравление. Дикое расстройство желудка и температура 38. Сегодня лежу. Говорят, болеть плохо.…

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 44 comments

  • Ничего

    Ничего - подарок для человека, у которого всё есть. Ссылка на AliExpress: nothing.

  • НГ

    Приближается Новый год. Праздник. Можно себе позволить еду не на каждый день, эксклюзивную. Закупил продукты для мясного салата, а сегодня варю…

  • Болею

    Вчера приключилась какая-то хворь. Похоже на пищевое отравление. Дикое расстройство желудка и температура 38. Сегодня лежу. Говорят, болеть плохо.…