|
|
  |
STM32 – вопросы – проблемы - решения. |
|
|
|
Feb 19 2012, 11:56
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 4-05-08
Пользователь №: 37 272

|
Цитата(valera_o @ Feb 19 2012, 12:15)  Объясните пожалуйста, что происходит? Запутался в том какие файлы надо обязательно подключать к проекту. Такое чувство, что наподключал лишнего, теперь не могу понять за какую веревочку дернуть, чтобы это узел развязался. Второй день втыкаю, не могу понять. Из того, что вы показали - вы нигде не используете НИЧЕГО из StdPeriph_Lib. (Я тоже ей не пользуюсь) Следовательно, ни один из её заголовочников вам не нужен. Ещё замечание: то, что вы делаете с RCC->CFGR - чистые грабли (запись промежуточного значения). Вы не может использовать RCC->CFGR как временный регистр. Это я про ваше и+или. Хотя в вашем конкретном случае это не сказавается, т.к. промежуточное значение == конечному. П.С. Внешний генератор и синтезатор частоты не могут быть выключены пока не произойдёт переключение на RC.
Сообщение отредактировал Юрий_СВ - Feb 19 2012, 12:08
|
|
|
|
|
Feb 19 2012, 12:23
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 2-04-08
Пользователь №: 36 402

|
Вроде разобрался. В файле system_stm32f10x.c закомментировал строку #define SYSCLK_FREQ_72MHz 72000000 В симе сразу инициализировался CR 0x00000083. Прошил плату - заработало. Мегалка работает!!! Спасибо за ответ! Бум дальше разбираться. С конфигурацией я понял, там значение и так 0. В свойствах группы STM32F10x_StdPeriph_Lib убрал галку с Include in Target Build - компилится нормально. Потом удалил совсем - компилится.
Сообщение отредактировал valera_o - Feb 19 2012, 12:52
|
|
|
|
|
Feb 20 2012, 16:34
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 2-04-08
Пользователь №: 36 402

|
Вопрос по ЦАПу. Выставил период срабатывания таймера 6, например 100мкс. Формирование каждой ступеньки треугольного сигнала происходит именно через эти 100мкс? Так же и с "белым" шумом?
|
|
|
|
|
Feb 20 2012, 17:25
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 30-06-06
Пользователь №: 18 486

|
Вопрос по правильному подключению VDDA и VSSA. Если я не использую ADC и DAC,а использую PLL и POR достаточно ли подключить VDDA->VDD и VSSA->VSS? Ведь это общее питание для аналогового домена. Или все таки нужно подключать через фильтр и VDDA и VSSA.
|
|
|
|
|
Feb 20 2012, 20:57
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(valera_o @ Feb 20 2012, 20:34)  Вопрос по ЦАПу. Выставил период срабатывания таймера 6, например 100мкс. Формирование каждой ступеньки треугольного сигнала происходит именно через эти 100мкс? Так же и с "белым" шумом? Да и да. Цитата(Kavlav @ Feb 20 2012, 21:25)  Вопрос по правильному подключению VDDA и VSSA. Если я не использую ADC и DAC,а использую PLL и POR достаточно ли подключить VDDA->VDD и VSSA->VSS? Ведь это общее питание для аналогового домена. Или все таки нужно подключать через фильтр и VDDA и VSSA. Я не парюсь и просто соединяю VDDA->VDD и VSSA->VSS. В том числе в случаях, когда не требуется феноменальная точность АЦП/ЦАП. Ставлю рекомендованные ёмкости. У меня обычные условия: импульсный блок питания с пульсациями порядка 50 мВ. Проблем не было. Теоретически можно себе представить, что в условиях зашумленного питания (шум с частотами порядка 100 МГц) будет сбоить PLL. Было ли такое у кого-либо на практике - интересный вопрос. От 100 МГц хорошо помогают ферритовые бусины. Кстати, видел их на схемах DEMO плат для фильтрации питания PLL, но у других МК.
|
|
|
|
|
Feb 28 2012, 17:17
|

Группа: Участник
Сообщений: 13
Регистрация: 31-01-12
Из: Новоуральск
Пользователь №: 69 990

|
поделитесь исходниками для работы с энкодером от мышки (колесико) желательно под stm32f4. С использованием таймеров в режиме " Encoder interface mode". Можно с описанием принципов работы, чтоб понятней было.
Сообщение отредактировал mrcrook - Feb 28 2012, 17:27
|
|
|
|
|
Feb 28 2012, 18:33
|

Группа: Участник
Сообщений: 13
Регистрация: 31-01-12
Из: Новоуральск
Пользователь №: 69 990

|
да читал я эту статью. во первых не работает функция 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 - Feb 28 2012, 18:38
|
|
|
|
|
Feb 29 2012, 00:26
|
Частый гость
 
Группа: Участник
Сообщений: 181
Регистрация: 26-11-10
Пользователь №: 61 198

|
Коллеги, подкажите по АЦП в STM32F100R (TQFP-64): насколько я понимаю что раз выводов для внешнего опорного Vref+, Vref- в этом корпусе нет, то опорное берется напрямую с VDDA/VSSA; тут на стр. 160 (табл. 57) сказано, что VDDA должно быть то ли равно VDD, то ли вообще они должны быть соединены. То есть даже нельзя сделать, например, VDD=3.3В, а VDDA=2.5В? Как в этом случае лучше отвязать аналог от цифры и подать опорное от прецизионного источника? Прошу прощения если уже обсуждалось.
|
|
|
|
|
Feb 29 2012, 02:09
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(stas00n @ Feb 29 2012, 04:26)  То есть даже нельзя сделать, например, VDD=3.3В, а VDDA=2.5В? Нет, нельзя. Цитата(stas00n @ Feb 29 2012, 04:26)  Как в этом случае лучше отвязать аналог от цифры и подать опорное от прецизионного источника? Прошу прощения если уже обсуждалось. Никак. Можно попробовать выход источника опорного напряжения подать на VDDA, а на цифровую часть подать его же через буфер. Естественно, в корпуче TQFP100 такой проблемы нет.
|
|
|
|
|
Feb 29 2012, 04:50
|
Частый гость
 
Группа: Участник
Сообщений: 181
Регистрация: 26-11-10
Пользователь №: 61 198

|
Цитата(scifi @ Feb 29 2012, 04:09)  Можно попробовать выход источника опорного напряжения подать на VDDA, а на цифровую часть подать его же через буфер. А я думаю подать на цифровую часть например с простого стабилизатора вроде 78L033, а на аналоговую - с прецизионного типа REF3033; VDD и AVDD соединить через два встречно включенных диода, чтобы при включении сильно не перекашивало между этими питаниями. Так можно?
|
|
|
|
|
  |
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|