Перейти к содержанию
    

STM32 – вопросы – проблемы - решения.

Объясните пожалуйста, что происходит?

Запутался в том какие файлы надо обязательно подключать к проекту. Такое чувство, что наподключал лишнего, теперь не могу понять за какую веревочку дернуть, чтобы это узел развязался. Второй день втыкаю, не могу понять.

Из того, что вы показали - вы нигде не используете НИЧЕГО из StdPeriph_Lib. (Я тоже ей не пользуюсь)

Следовательно, ни один из её заголовочников вам не нужен.

 

Ещё замечание: то, что вы делаете с RCC->CFGR - чистые грабли (запись промежуточного значения).

Вы не может использовать RCC->CFGR как временный регистр. Это я про ваше и+или.

Хотя в вашем конкретном случае это не сказавается, т.к. промежуточное значение == конечному.

 

П.С.

Внешний генератор и синтезатор частоты не могут быть выключены пока не произойдёт переключение на RC.

Изменено пользователем Юрий_СВ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вроде разобрался.

В файле system_stm32f10x.c закомментировал строку

#define SYSCLK_FREQ_72MHz 72000000

В симе сразу инициализировался CR 0x00000083. Прошил плату - заработало. Мегалка работает!!!

Спасибо за ответ!

Бум дальше разбираться.

С конфигурацией я понял, там значение и так 0.

В свойствах группы STM32F10x_StdPeriph_Lib убрал галку с Include in Target Build - компилится нормально. Потом удалил совсем - компилится.

 

Изменено пользователем valera_o

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос по ЦАПу.

Выставил период срабатывания таймера 6, например 100мкс. Формирование каждой ступеньки треугольного сигнала происходит именно через эти 100мкс? Так же и с "белым" шумом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос по правильному подключению VDDA и VSSA.

Если я не использую ADC и DAC,а использую PLL и POR достаточно ли подключить VDDA->VDD и VSSA->VSS?

Ведь это общее питание для аналогового домена. Или все таки нужно подключать через фильтр и VDDA и VSSA.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос по ЦАПу.

Выставил период срабатывания таймера 6, например 100мкс. Формирование каждой ступеньки треугольного сигнала происходит именно через эти 100мкс? Так же и с "белым" шумом?

Да и да.

 

Вопрос по правильному подключению VDDA и VSSA.

Если я не использую ADC и DAC,а использую PLL и POR достаточно ли подключить VDDA->VDD и VSSA->VSS?

Ведь это общее питание для аналогового домена. Или все таки нужно подключать через фильтр и VDDA и VSSA.

Я не парюсь и просто соединяю VDDA->VDD и VSSA->VSS. В том числе в случаях, когда не требуется феноменальная точность АЦП/ЦАП. Ставлю рекомендованные ёмкости. У меня обычные условия: импульсный блок питания с пульсациями порядка 50 мВ. Проблем не было.

Теоретически можно себе представить, что в условиях зашумленного питания (шум с частотами порядка 100 МГц) будет сбоить PLL. Было ли такое у кого-либо на практике - интересный вопрос. От 100 МГц хорошо помогают ферритовые бусины. Кстати, видел их на схемах DEMO плат для фильтрации питания PLL, но у других МК.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне требуется отлавливать прерыания от GPIO как по фронту так и по спаду. Не нашел регистра из которого можно было бы узнать какое из этих событий произошло. Вижу способ только читать значение самого пина. Есть ли регистр в котором фиксируется событие?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне требуется отлавливать прерыания от GPIO как по фронту так и по спаду. Не нашел регистра из которого можно было бы узнать какое из этих событий произошло. Вижу способ только читать значение самого пина. Есть ли регистр в котором фиксируется событие?

Нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Камень STM32F217

OS: FreeRTOS 7.0.1

LwIp: 1.3.4 Socket

Проблема в следующем: крутится прием данных по HTTP. Получив данные в статический буфер, LwIp закрывает сокет командой close.

В произвольный момент времени, внезапно, LwIP начинает принимать пакеты крайне не равномерно.

Кто-нибудь встречался?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

поделитесь исходниками для работы с энкодером от мышки (колесико) желательно под stm32f4. С использованием таймеров в режиме " Encoder interface mode". Можно с описанием принципов работы, чтоб понятней было.

Изменено пользователем mrcrook

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да читал я эту статью. во первых не работает функция PIN_CONFIGURATION() точнее ее вообще не находит, во вторых инициализация

    RCC->APB1ENR = RCC_APB1ENR_TIM3EN;

    TIM2->CCMR1 = TIM_CCMR1_CC1S_0 | TIM_CCMR1_CC2S_0;
    TIM2->CCER = TIM_CCER_CC1P | TIM_CCER_CC2P;
    TIM2->SMCR = TIM_SMCR_SMS_0 | TIM_SMCR_SMS_1;
    TIM2->ARR = 100;
    TIM2->CR1 = TIM_CR1_CEN;

подправил на 3й таймер он поддерживает энкодер в stm32f4. компилятор ошибок не выдает но ничего не заводится.

 

 

 

p.s. ноги я естественно сконфигурировал RA6,7 соотв.

Изменено пользователем mrcrook

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вы же не для красного словца просили "желательно с описанием принципов работы"? Описание там есть, всё объяснено. Или вам надо тупо скопипастить?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Коллеги, подкажите по АЦП в STM32F100R (TQFP-64): насколько я понимаю что раз выводов для внешнего опорного Vref+, Vref- в этом корпусе нет, то опорное берется напрямую с VDDA/VSSA; тут на стр. 160 (табл. 57) сказано, что VDDA должно быть то ли равно VDD, то ли вообще они должны быть соединены. То есть даже нельзя сделать, например, VDD=3.3В, а VDDA=2.5В? Как в этом случае лучше отвязать аналог от цифры и подать опорное от прецизионного источника? Прошу прощения если уже обсуждалось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То есть даже нельзя сделать, например, VDD=3.3В, а VDDA=2.5В?

Нет, нельзя.

 

Как в этом случае лучше отвязать аналог от цифры и подать опорное от прецизионного источника? Прошу прощения если уже обсуждалось.

Никак.

Можно попробовать выход источника опорного напряжения подать на VDDA, а на цифровую часть подать его же через буфер.

Естественно, в корпуче TQFP100 такой проблемы нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно попробовать выход источника опорного напряжения подать на VDDA, а на цифровую часть подать его же через буфер.

А я думаю подать на цифровую часть например с простого стабилизатора вроде 78L033, а на аналоговую - с прецизионного типа REF3033; VDD и AVDD соединить через два встречно включенных диода, чтобы при включении сильно не перекашивало между этими питаниями. Так можно?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...