KEEN SIDE успешно заменяет аналогичные продукты таких известных брендов, как Phoenix Contact, Weidmueller, Degson, Winstar, Hsuan Mao, KLS, G-NOR, 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;"

Подскажите, в чем дело?
Оценка
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
Специалист
 
Аватар для 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 Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW. Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного.
Новичок
 
Регистрация: 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, время: 17:23.
Обратная связь РадиоЛоцман Вверх