|
|
  |
STM32 – вопросы – проблемы - решения. |
|
|
|
Dec 9 2011, 15:02
|

Twilight Zone
  
Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990

|
Цитата(ELEKTROS @ Dec 8 2011, 23:04)  Как правильно запустить ШИМ на базе TIM1 в STM32f, а то перепробывал кучу разных вариантов даже готовые какието кем то деланные, но всёравно не работает. Ну, как-нибудь локализуйте проблему. Что там в этим ШИМ особенного то? У вас именно с Т1 не получатся или вообще с любым другим таймером? Попробуйте задействовать другие таймеры, каналы. Запускал ШИМ на разных таймерах, все работало как задумано. Наверное, где то ляп у Вас в программе.
--------------------
Magic Friend
|
|
|
|
|
Dec 12 2011, 11:39
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(ReRayne @ Dec 12 2011, 15:09)  При старте прошивки в main SRAM поднимается функцией из примера с st.com. Далее функция инициализации переменных все данные инициализирует в SRAM. Криво. Это от незнания так сделано. Цитата(ReRayne @ Dec 12 2011, 15:09)  Можно как-то сделать, чтобы SRAM монополизировался до старта имеджа прошивки? Очевидно, имеется в виду до старта main(), и не монополизировался, а инициализировался :-) Не только можно, но и нужно. Следует подправить startup файл. У меня он называется STM32F10x.s, к примеру. В нём перед переходом в __main следует "поднять SRAM".
|
|
|
|
|
Dec 12 2011, 17:13
|
Местный
  
Группа: Участник
Сообщений: 294
Регистрация: 29-06-11
Пользователь №: 65 952

|
Цитата(Serj78 @ Dec 12 2011, 17:43)  Если вы пользуйтесь кейловским визардом- там есть ошибка- - он не выставляет бит MOE в BTDR , выставляйте руками после этого индусского визарда. я iar пользуюсь и библиотеками к нему, но когда быстродействие нужно то с регистрами работаю. Пробывал и на прямую в регистры писать, без толку.
|
|
|
|
|
Dec 22 2011, 06:18
|

Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 5-04-11
Из: г.Саратов
Пользователь №: 64 137

|
?Что будет если: 1) Включить для ноги альтернативные функции 2) Включить на эту ногу все возможные альтернативные функции (USART, EINT,ADC,PWM и т.д.) В чем идея - на одну ножку приходится больше двух альтернативных функций (по крайней мере в STM32F100). Если бы их было хотя бы 2, причем одна на вход, другая на выход - то понятно, заработала бы та, в соответствии с которой настроена нога. В настройках ноги включается только то что это альтернативная функция, а какая - нигде не указывается.
пример: PA2 USART2_TX/ ADC1_IN2/ TIM2_CH3 / TIM15_CH1
Сообщение отредактировал wedmeed - Dec 22 2011, 06:20
|
|
|
|
|
Dec 22 2011, 07:54
|

Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 5-04-11
Из: г.Саратов
Пользователь №: 64 137

|
Цитата(scifi @ Dec 22 2011, 11:12)  If several peripherals share the same I/O pin, to avoid conflict between these alternate functions only one peripheral should be enabled at a time through the peripheral clock enable bit (in the corresponding RCC peripheral clock enable register). То-есть по-хорошему если я буду пользовать TIM2, то USART2 мне даже тактировать нельзя?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|