roboforum.ru

Технический форум по робототехнике.

STM32F4Discovery + L6470

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

STM32F4Discovery + L6470

Сообщение Radist_3W » 31 янв 2014, 23:22

Всем привет!
Прошу помощи у знатоков электронщиков-программистов!
Есть отладочная плата STM32F4 и отладочная платка с драйвером шаговика от того же STMicro - L6470. На сайте производителя есть библиотеки для работы, но они под STM32F100... К сожалению у меня нет достаточных знаний (точнее вообще нет:( ) в программировании. Подскажите пожалуйста, как переписать библиотеку с одного контроллера на другой? Работаю в IAR'e. Пытался хедарах проекта прописывать f4, вместо f1, изменял настройки препроцессора и линкера... Как следствие - куча ошибок, решить которые у меня не хватает знаний... Может быть у кого-то есть опыт работы с такими драйверами? Заранее благодарю!
Последний раз редактировалось Radist_3W 01 фев 2014, 09:39, всего редактировалось 1 раз.
Radist_3W
 
Сообщения: 3
Зарегистрирован: 31 янв 2014, 23:06

Re: STM32F4Discovery + L6470

Сообщение dccharacter » 01 фев 2014, 01:24

Если речь вот об этом "STM32F1xx motor control firmware library for the L6470 dSPIN IC", то это будет достаточно сложно, особенно без опыта. Вообще за что ненавижу СТМ-щиков, так это за их документацию и "библиотеки". Нифига толком не сделаешь без месяца траханья с их кодом.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: STM32F4Discovery + L6470

Сообщение Radist_3W » 01 фев 2014, 09:38

Да, об этой библиотеке. Не думал что так заморочено будет... Неужели эти семейства так сильно отличаются и не поддерживают друг друга,что столько маяты при переходе с одного на другое? Есть какие другие пути решения проблемы?
Radist_3W
 
Сообщения: 3
Зарегистрирован: 31 янв 2014, 23:06

Re: STM32F4Discovery + L6470

Сообщение dccharacter » 01 фев 2014, 10:05

Либо изучай сам, либо нанимай кого-нить, либо ищи добрых людей
Мороки там много учитывая что твоего железа ни у кого нет
Если сам начнешь - ставь IAR Embedded ARM Workbench, открывай библиотеку, переназначай все дефайныс F1 на F4 и пытайся скомпилировать. Там куча ошибок посыпется, отлавливай по одной (меняй хедеры, приводи несоответствующие функции и т.д.

А, есть еще "более хороший" путь - забей на библиотеку и фигачь сам все без нее.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: STM32F4Discovery + L6470

Сообщение elmot » 01 фев 2014, 10:49

Семейства СТщных контроллеров отличаются друг от друга именно периферией, причем иногда весьма сильно. Пытаться просто заменять F1 на F4 - безблагодатное дело. Имеющиеся варианты:
- купить дешевую плату на F1xx (В России или в Китае), взять библиотеку как есть, а Discovеry использовать как программатор к ней.
- взять дискавери, ее стандартный пример для использования SPI и перетащить туда код из библиотеки.
- взять дискавери, ее стандартный пример для использования SPI, далее по даташиту драйвера сделать все, что надо.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: STM32F4Discovery + L6470

Сообщение dccharacter » 01 фев 2014, 20:28

Третий день сижу пытаюсь отпортировать пример для _того же самого микроконтроллера_ с одной платы (STM32F4_EVAL) на другую (STM32F4_DISCOVERY). Я бы этим СТМ-щикам ноги бы поотрывал...

Добавлено спустя 1 час 36 минут 24 секунды:
Уф, фсе, сделал. Сорри за оффтоп, но если кто будет заниматься портированием с EVAL на DISCOVERY, хитрость там в следующем - на ЕВАЛЕ стоит кварц 25 МГц, а на Дискавери - 8. Соответственно надо поменять значение HSE_VALUE (можно в настройках препроцессора сделать HSE_VALUE=8000000) и поменять значение мультипликатора PLL_M с 25 на 8.

Добавлено спустя 4 минуты 2 секунды:
Вот за что не люблю СТМ-щиков. Должна быть с экземплами всегда процедура накатывания на другие борды. типа "Пункт первый - откройте файл stm32f4xx_system.c и выставите значения, соответвуюшие вашей борде. Необходимо поменять: HSE_VALUE и PLL_M. Пункт второй - ..."
и т.д.
А они пишут библиотеки под одну конкретную конфигурацию. Т.е. стараются как бы под мног, но получается хреново.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: STM32F4Discovery + L6470

Сообщение Radist_3W » 02 фев 2014, 22:24

Спасибо ребят!
Буду пробовать предложенные вами варианты. Для начала попробую перетащить код из библиотеки в рабочий проект с SPI'ем для stm32f4. Достал платку с f1 контроллером... Но там какая-то бадяга=) Подключил к компу, прошил проект аля помигай диодами... Всё бы ничего, но решил передвинуть на столе чтоб поудобственней наблюдать за миганием... и чуть руку не обжог :shock: Контроллер раскалился как кипятильник! Осмотрел плату, нигде видимой козы не видно... Включил, опять греется, мягко говоря... При этом прошивается, работает. Померил ток потребления, чуть не упал со стула - 850мА!!! Думал, прибор китайский глючит. Померил другим, более точным прибором - 830 мА! Зажал "резет", включил - то же самое... Что там может так есть??? Это ж в 3,5 раза больше чем по даташиту! В общем хрен знает что с этой платой... Завтра на работе под микроскопом посмотрю и буду пытаться в своей дыре найти этот камень, чтоб перепаять...
Radist_3W
 
Сообщения: 3
Зарегистрирован: 31 янв 2014, 23:06

Re: STM32F4Discovery + L6470

Сообщение elmot » 02 фев 2014, 22:30

проверь стабилизатор на плате и напряжение питания МК. Питать такой мк можно напряжением не более 3.6В. Обычно ставят стаб 3.3. Если стаб закорочен(пробит), то на МК идет 5В и поведение контроллера непредсказуемо.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6