ELEKTROS 0 9 декабря, 2011 Опубликовано 9 декабря, 2011 · Жалоба посмотрел, я также делаю всё, вставил ваш код, не работает, что еще на таймер 1 влиять может? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Danis 0 9 декабря, 2011 Опубликовано 9 декабря, 2011 · Жалоба Как правильно запустить ШИМ на базе TIM1 в STM32f, а то перепробывал кучу разных вариантов даже готовые какието кем то деланные, но всёравно не работает. Ну, как-нибудь локализуйте проблему. Что там в этим ШИМ особенного то? У вас именно с Т1 не получатся или вообще с любым другим таймером? Попробуйте задействовать другие таймеры, каналы. Запускал ШИМ на разных таймерах, все работало как задумано. Наверное, где то ляп у Вас в программе. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ELEKTROS 0 9 декабря, 2011 Опубликовано 9 декабря, 2011 · Жалоба на 2, 3, 15 пробую всё работает, а на 1-м не в какую. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 9 декабря, 2011 Опубликовано 9 декабря, 2011 · Жалоба Последнюю строчку из моего примера точно не просмотрели? TIM1->BDTR |= TIM_BDTR_MOE; // Специальная фишка у T1 и T8 - Main Output Enable Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReRayne 0 12 декабря, 2011 Опубликовано 12 декабря, 2011 · Жалоба Ребят, привет! Имеется STM32F217ZG + 512Kb SRAM. Среда разработки Keil uVision 4. Два вопроса, помогите, пожалуйста: 1. В прошивке очень много статических данных, которые вынесены в SRAM. При старте прошивки в main SRAM поднимается функцией из примера с st.com. Далее функция инициализации переменных все данные инициализирует в SRAM. Очень неудобно дописывать каждый раз при добавлении переменной функцию. Можно как-то сделать, чтобы SRAM монополизировался до старта имеджа прошивки? 2. Можно как-то в Keil прикрутить auto complete кода или к Eclipse CDT прикрутить компилятор Keil? За ссылки буду очень-очень благодарна =) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 12 декабря, 2011 Опубликовано 12 декабря, 2011 · Жалоба При старте прошивки в main SRAM поднимается функцией из примера с st.com. Далее функция инициализации переменных все данные инициализирует в SRAM. Криво. Это от незнания так сделано. Можно как-то сделать, чтобы SRAM монополизировался до старта имеджа прошивки? Очевидно, имеется в виду до старта main(), и не монополизировался, а инициализировался :-) Не только можно, но и нужно. Следует подправить startup файл. У меня он называется STM32F10x.s, к примеру. В нём перед переходом в __main следует "поднять SRAM". Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serj78 0 12 декабря, 2011 Опубликовано 12 декабря, 2011 · Жалоба посмотрел, я также делаю всё, вставил ваш код, не работает, что еще на таймер 1 влиять может? Если вы пользуйтесь кейловским визардом- там есть ошибка- - он не выставляет бит MOE в BTDR , выставляйте руками после этого индусского визарда. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ELEKTROS 0 12 декабря, 2011 Опубликовано 12 декабря, 2011 · Жалоба Если вы пользуйтесь кейловским визардом- там есть ошибка- - он не выставляет бит MOE в BTDR , выставляйте руками после этого индусского визарда. я iar пользуюсь и библиотеками к нему, но когда быстродействие нужно то с регистрами работаю. Пробывал и на прямую в регистры писать, без толку. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wedmeed 0 22 декабря, 2011 Опубликовано 22 декабря, 2011 (изменено) · Жалоба ?Что будет если: 1) Включить для ноги альтернативные функции 2) Включить на эту ногу все возможные альтернативные функции (USART, EINT,ADC,PWM и т.д.) В чем идея - на одну ножку приходится больше двух альтернативных функций (по крайней мере в STM32F100). Если бы их было хотя бы 2, причем одна на вход, другая на выход - то понятно, заработала бы та, в соответствии с которой настроена нога. В настройках ноги включается только то что это альтернативная функция, а какая - нигде не указывается. пример: PA2 USART2_TX/ ADC1_IN2/ TIM2_CH3 / TIM15_CH1 Изменено 22 декабря, 2011 пользователем wedmeed Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 22 декабря, 2011 Опубликовано 22 декабря, 2011 · Жалоба В настройках ноги включается только то что это альтернативная функция, а какая - нигде не указывается. Внимательнее читайте даташит: 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). Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flexz 0 22 декабря, 2011 Опубликовано 22 декабря, 2011 · Жалоба Включите и увидите :) Вообще размещению альтернативных функций посвящен солидный раздел ерраты F1. Вот в F2 переключение функций наконец-то сделано по-человечески, на каждую ножку есть регистр выбирающий какую именно функцию выводить. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wedmeed 0 22 декабря, 2011 Опубликовано 22 декабря, 2011 · Жалоба 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 мне даже тактировать нельзя? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flexz 0 22 декабря, 2011 Опубликовано 22 декабря, 2011 · Жалоба эм.. не совсем так. Коммент мозговыносной. Просто нельзя одновременно включать линии периферии использующие данные ножки. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 22 декабря, 2011 Опубликовано 22 декабря, 2011 · Жалоба То-есть по-хорошему если я буду пользовать TIM2, то USART2 мне даже тактировать нельзя? Если есть конфликт на ножке, то нельзя. Но в ряде случаев конфликт убирается при помощи remap. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tahoe 0 24 декабря, 2011 Опубликовано 24 декабря, 2011 · Жалоба Хочу попробовать работать с USB, используя HSI в качестве опоры PLL. Разумеется, будет предусмотрена подстройка частоты HSI от часового кварца. Вопрос простой, кто-нить уже так делал? Насколько стабильно работает? НА данный момент камень STM32F103, но не думаю, что это принципиально. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться