HRP-N3 - серия источников питания с максимальной пиковой мощностью в 350% от MEAN WELL

Различаются определения ADC_TypeDef в файлах stm32f10x_cl.h и stm32f10x_map.h

Новичок
 
Регистрация: 06.04.2016
Сообщений: 4
Репутация: 10
0 1
0 0
 
22.04.2016 16:58 #1
Добрый день!

При компиляции проекта STM32 в IDE Keil различаются определения ADC_TypeDef в файлах stm32f10x_cl.h и stm32f10x_map.h.

Компилятор выдает ошибку:

"stm32f10x_cl.h(153): error: #256: invalid redeclaration of type name "ADC_TypeDef" (declared at line 58 of "..\STM32_MCD\inc\stm32f10x_map.h")
} ADC_TypeDef;"

Подскажите, в чем дело?
Оценка
Специалист
 
Аватар для antonydublin
 
Регистрация: 22.09.2010
Адрес: г. Донецк
Сообщений: 868
Репутация: 380
371 0
3 0
 
22.04.2016 18:19 #2
Цитата:
Сообщение от Sable
error: #256: invalid redeclaration of type name "ADC_TypeDef"
Возникновение ошибки 256 возможно по ряду причин. Исходя из того, что все нужные файлы добавлены в проект, вот стандартные подходы к разрешению проблемы:
-убедиться, что в проекте нет смешанных версий используемых библиотек (в разных версиях конкретной библиотеки файлы .c и .h могут иметь разную структуру и имена); как следствие убедиться, что Keil работает с файлами только из нужных папок (проверить пути в настройках проекта), иначе возможная ситуация, когда часть фалов будет обрабатываться из собственных папок Keil'a (по умолчанию), а часть браться из проекта. Как раз тут несовпадение версий библиотек может вызвать казус вроде переопределения имени, хотя на самом деле в более новой версии его перенесли в другой файл и т.п.
-проверить цепочку #include'ов с тем, чтобы отыскать возможное дублирование (в данном случае ADC_TypeDef определён исходно в stm32f10x_map.h);
-как следствие проверить, не определяется ли один и тот же проблемный тип дважды в каком-либо файле.
Оценка
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
Новичок
 
Регистрация: 22.12.2016
Сообщений: 3
Репутация: 10
0 1
0 0
 
22.12.2016 19:49 #3
Где найти библиотеку STM32F10x_map.h? Проект стоит из-за неё, гугл молчит. Помогите!
Оценка
Специалист
 
Аватар для antonydublin
 
Регистрация: 22.09.2010
Адрес: г. Донецк
Сообщений: 868
Репутация: 380
371 0
3 0
 
22.12.2016 20:35 #4
Вот первая ссылка из google на проект с этим файлом:
http://contiki.sourceforge.net/docs/...93_source.html

Вообще, в любом достаточно старом проекте с github, например, можно найти stm32f10x_map.h.

Но стоит обратить Ваше внимание на то, что начиная где-то с 2009 года в более поздних версиях библиотек периферии для STM32 этот файл переименован в stm32f10x.h

stm32f10x_map.h -> stm32f10x.h

Сравните их заголовки и структуру. В пристёжке stm32f10x.h из библиотеки STM32F10x standard peripheral library v.3.5.0.
Вложения
Тип файла: zip stm32f10x_map.zip (49.7 Кб, 0 просмотров)
Тип файла: zip stm32f10x.zip (62.9 Кб, 0 просмотров)
Оценка
Новичок
 
Регистрация: 22.12.2016
Сообщений: 3
Репутация: 10
0 1
0 0
 
23.12.2016 11:11 #5
Да, после написания своего сообщения спросил у гугла (до этого у яндекса и заковыристо).

У меня такая сложность: хочу реализовать двусторонний UART на STM32 (с одной стороны берёт данные, на другую отправляет - прозрачный режим).
Нашел быстрый старт http://radiokot.ru/articles/43/
Но там в любом примере кроме первого (в самом низу файлы) Keil ругается на отсутствие STM32f10x_lib.h
Её подкрутил и уже из-за неё стал ругаться на STM32f10x_map.h. Ладно, версию 2008 года нашел. Потом еще ругался на два файла STM32f10x_type.h и cortex_m (точно не помню сейчас название), а при их добавлении появлялись ошибки №256 и др, связанные с TypeDef и др. (от 30 шт и выше).

В чем может быть проблема?

Спасибо!
Оценка
Специалист
 
Аватар для antonydublin
 
Регистрация: 22.09.2010
Адрес: г. Донецк
Сообщений: 868
Репутация: 380
371 0
3 0
 
23.12.2016 15:07 #6
Цитата:
Сообщение от sect108
В чем может быть проблема?
sect108, компилируя старый проект в новой версии среды Keil, тем более добавляя хидеры (уже присутствующие под другими именами в собственных папках среды) из библиотек разных версий, Вы неизбежно натыкаетесь на проблему переопределения имён. В остальном - к сказанному во втором посте данной темы больше добавить нечего.

Так как Вы, видимо, только начинаете осваивать STM32, то рекомендую Вам обратиться вот к этому циклу статей http://easyelectronics.ru/arm-uchebn...e-proekta.html и не полениться собрать проект "с нуля", не пользуясь кем-либо заготовленными шаблонами. Скачать нужные библиотеки для ядра и периферии, подключить их к проекту и т.д.

Ваша задача не столь сложна, но всё же начните с простого: а) замигать светодиодом, б) замигать светодиодом по таймеру, в) прикрутить отправку по USART1 (светодиод мигает при отправке); г) отправка по USART очереди из буфера на прерываниях; д) то же самое с приёмом (второй светодиод тоже желательно зажигать); е) аналогично настроить и запустить USART2 и связать с USART1; ж) настроить DMA.

Отлаживать работу USART лучше всего при помощи терминала. Удобнее всего программа Terminal 1.9b. Также понадобится переходник USB -> UART, который не сложно собрать на какой-либо м/с FT232.
Оценка
Новичок
 
Регистрация: 22.12.2016
Сообщений: 3
Репутация: 10
0 1
0 0
 
24.12.2016 00:10 #7
Принял, спасибо.
Пробовал в Keil 4.7.

Вообще вчера много гайдов нашёл (пусть будут в переписке):
http://radiohlam.ru/teory/stm32_1.htm
http://easystm32.ru/stm32vl-discover...32vl-discovery
http://catethysis.ru/stm32_learning/

Здесь 5 страниц, посты в обратном порядке идут (первый самый внизу на 5 стр)
http://microtechnics.ru/category/mik...-nulya/page/5/
Оценка
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Оценка этой теме
Оценка этой теме:
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Электронные компоненты. Бесплатная доставка по России
Часовой пояс GMT +3, время: 19:12.
Обратная связь РадиоЛоцман Вверх