‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

Category:

worklog: загадочные приключения ФАПЧа и SPI через DMA в STM32F072.

Собрал платку с оным чипом. Мне от неё надо только два порта SPI и USB, заодно ещё вытащил I2C и пару уартов - может быть, пригодится.
Кварц (хотя он и не особо нужен) на 8 МГц - осциллом смотрю: генератор стартовал.
А вот инициализация ФАПЧа из кода, порождённого CubeMX, не работает по непонятным пока причинам.
Рыться в этой лапше я не хочу - придётся, как в старые времена, снова написать самому.

Загадка в том, что иногда (редко) плата таки стартует после сброса, так что причина может быть не совсем программной.

Тупые индусы нахуевертили "совместимый" и "переносимый" код так, что сам Сатана будет плакать, пытаясь понять, что это за вонючая херь.
Написал просто инициализацию HSE и PLL - заработало как должно.




Оказалось, что победить передачу одного байта "в лоб", простой записью в регистр данных SPI, не так-то просто. Два байта - легко, а вот один не получается: передаётся всё равно два (записанный и нулевой). Потому что регистр данных в модуле SPI 16-битный, но даже если обращаться к нему как к 8-битному, всё равно почему-то передаётся два байта. Бодался-бодался, плюнул, написал функцию, которая делает то же самое, но при помощи DMA -- заработало. Хош один байт, хош десять. Работает!
Tags: worklog
Subscribe

  • (no subject)

    Как я застукал бычка (?) за вылазкой из норки

  • Hi-res/Crop

    Сейчас разглядел, насколько по-разному они выглядят. Может, это три разных представителя трёх разных видов крабов? Второго я нашёл вот…

  • Hi-res/Crop/Resize

    Был не очень прав насчёт этих таракашек - они есть, но теперь гораздо дальше от берега, чем раньше. Пришлось очень хорошо понырять, чтобы найти…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 7 comments