Отладочные платы для STM32
08.11.2011, 13:45
|
|
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Начинаю пробовать
Сообщение от Easyrider83
|
|
#include "stm32_GPIO.h"
|
Это наверное как раз тот самый stm32f10xx_gpio.h?
Сообщение от Easyrider83
|
|
во второй перепишите их названия и подключите файл регистров.
|
Что такое файл регистров?
|
|
|
|
08.11.2011, 13:55
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Отладочные платы для STM32
Сообщение от CMaxx22
|
|
Это наверное как раз тот самый stm32f10xx_gpio.h
|
Нет. Это мой файл нижнего уровня для работы с портами STM32. Текст вы уже видели.
Сообщение от CMaxx22
|
|
Что такое файл регистров?
|
Это файл, где перечислены регистры вашего контроллера. Чтобы компилятор понял, что вы имеете в виду, когда пишете IDR, ODR, GPIO, BSR...
В данном случае это stm32f10x_map.h
|
|
|
|
08.11.2011, 18:50
|
|
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Я сделал файл gpio.c
|
Цитата:
|
#include "gpio.h"
void PIN_ON(GPIO_TypeDef * GPIOx,u16 PINx)
{
GPIOx-›BSRR=PINx;
}
void PIN_OFF(GPIO_TypeDef * GPIOx,u16 PINx)
{
GPIOx-›BRR=PINx;
}
u8 PIN_IN(GPIO_TypeDef * GPIOx, u16 PINx)
{
if((GPIOx-›IDR&PINx)!=0)
{return 1;}
else
{return 0;}
}
void PIN_INV(GPIO_TypeDef * GPIOx, u16 PINx)
{
if(PIN_IN(GPIOx, PINx)!=0)
{PIN_OFF(GPIOx, PINx);}
else
{PIN_ON(GPIOx, PINx);}
}
|
и gpio.h
|
Цитата:
|
#include "stm32f10x_map.h"
void PIN_ON(GPIO_TypeDef * GPIOx,u16 PINx);
void PIN_OFF(GPIO_TypeDef * GPIOx,u16 PINx);
u8 PIN_IN(GPIO_TypeDef * GPIOx, u16 PINx);
void PIN_INV(GPIO_TypeDef * GPIOx, u16 PINx);
|
как вы сказали, прикрепил к рабочему проекту все сишные файлы что вы дали и я сделал, положил в папку main все *.h, откомпилировал и кеил изрыгнул вот это
|
Цитата:
|
Build target '?????????'
compiling core_cm3.c...
compiling system_stm32f10x.c...
assembling startup_stm32f10x_hd.s...
compiling main.c...
compiling stm32f10x_it.c...
compiling USART.C...
compiling delays.c...
compiling DS1822.c...
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(23): error: #256: invalid redeclaration of type name "s32" (declared at line 312 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef signed long s32;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(27): error: #256: invalid redeclaration of type name "sc32" (declared at line 316 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef signed long const sc32; /* Read Only */
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(31): error: #256: invalid redeclaration of type name "vs32" (declared at line 320 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef volatile signed long vs32;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(35): error: #256: invalid redeclaration of type name "vsc32" (declared at line 324 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef volatile signed long const vsc32; /* Read Only */
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(39): error: #256: invalid redeclaration of type name "u32" (declared at line 328 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef unsigned long u32;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(43): error: #256: invalid redeclaration of type name "uc32" (declared at line 332 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef unsigned long const uc32; /* Read Only */
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(47): error: #256: invalid redeclaration of type name "vu32" (declared at line 336 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef volatile unsigned long vu32;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(51): error: #256: invalid redeclaration of type name "vuc32" (declared at line 340 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef volatile unsigned long const vuc32; /* Read Only */
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(55): error: #101: "FALSE" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {FALSE = 0, TRUE = !FALSE} bool;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(55): error: #101: "TRUE" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {FALSE = 0, TRUE = !FALSE} bool;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(55): error: #256: invalid redeclaration of type name "bool" (declared at line 345 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {FALSE = 0, TRUE = !FALSE} bool;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(57): error: #101: "RESET" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(57): error: #101: "SET" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(57): error: #256: invalid redeclaration of type name "FlagStatus" (declared at line 348 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(57): error: #256: invalid redeclaration of type name "ITStatus" (declared at line 348 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(59): error: #101: "DISABLE" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(59): error: #101: "ENABLE" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(59): error: #256: invalid redeclaration of type name "FunctionalState" (declared at line 350 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(62): error: #101: "ERROR" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(62): error: #101: "SUCCESS" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(62): error: #256: invalid redeclaration of type name "ErrorStatus" (declared at line 353 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(30): error: #55: too many arguments in macro invocation
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __ISB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(30): error: #79: expected a type specifier
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __ISB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(31): error: #55: too many arguments in macro invocation
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __DSB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(31): error: #79: expected a type specifier
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __DSB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(32): error: #55: too many arguments in macro invocation
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __DMB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(32): error: #79: expected a type specifier
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __DMB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h(5 : error: #256: invalid redeclaration of type name "ADC_TypeDef" (declared at line 389 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: } ADC_TypeDef;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h(154): error: #256: invalid redeclaration of type name "BKP_TypeDef" (declared at line 488 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: } BKP_TypeDef;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h(163): error: #256: invalid redeclaration of type name "CAN_TxMailBox_TypeDef" (declared at line 500 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: } CAN_TxMailBox_TypeDef;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: Source\User\Main\DS1822.c: 0 warnings, 30 errors
compiling CRC.c...
compiling 1-Wire.c...
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(23): error: #256: invalid redeclaration of type name "s32" (declared at line 312 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef signed long s32;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(27): error: #256: invalid redeclaration of type name "sc32" (declared at line 316 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef signed long const sc32; /* Read Only */
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(31): error: #256: invalid redeclaration of type name "vs32" (declared at line 320 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef volatile signed long vs32;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(35): error: #256: invalid redeclaration of type name "vsc32" (declared at line 324 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef volatile signed long const vsc32; /* Read Only */
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(39): error: #256: invalid redeclaration of type name "u32" (declared at line 328 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef unsigned long u32;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(43): error: #256: invalid redeclaration of type name "uc32" (declared at line 332 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef unsigned long const uc32; /* Read Only */
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(47): error: #256: invalid redeclaration of type name "vu32" (declared at line 336 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef volatile unsigned long vu32;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(51): error: #256: invalid redeclaration of type name "vuc32" (declared at line 340 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef volatile unsigned long const vuc32; /* Read Only */
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(55): error: #101: "FALSE" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {FALSE = 0, TRUE = !FALSE} bool;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(55): error: #101: "TRUE" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {FALSE = 0, TRUE = !FALSE} bool;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(55): error: #256: invalid redeclaration of type name "bool" (declared at line 345 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {FALSE = 0, TRUE = !FALSE} bool;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(57): error: #101: "RESET" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(57): error: #101: "SET" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(57): error: #256: invalid redeclaration of type name "FlagStatus" (declared at line 348 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(57): error: #256: invalid redeclaration of type name "ITStatus" (declared at line 348 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(59): error: #101: "DISABLE" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(59): error: #101: "ENABLE" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(59): error: #256: invalid redeclaration of type name "FunctionalState" (declared at line 350 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(62): error: #101: "ERROR" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(62): error: #101: "SUCCESS" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(62): error: #256: invalid redeclaration of type name "ErrorStatus" (declared at line 353 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(30): error: #55: too many arguments in macro invocation
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __ISB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(30): error: #79: expected a type specifier
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __ISB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(31): error: #55: too many arguments in macro invocation
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __DSB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(31): error: #79: expected a type specifier
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __DSB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(32): error: #55: too many arguments in macro invocation
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __DMB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(32): error: #79: expected a type specifier
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __DMB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h(5 : error: #256: invalid redeclaration of type name "ADC_TypeDef" (declared at line 389 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: } ADC_TypeDef;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h(154): error: #256: invalid redeclaration of type name "BKP_TypeDef" (declared at line 488 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: } BKP_TypeDef;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h(163): error: #256: invalid redeclaration of type name "CAN_TxMailBox_TypeDef" (declared at line 500 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: } CAN_TxMailBox_TypeDef;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: Source\User\Main\1-Wire.c: 0 warnings, 30 errors
compiling GPIO.c...
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(23): error: #256: invalid redeclaration of type name "s32" (declared at line 312 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef signed long s32;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(27): error: #256: invalid redeclaration of type name "sc32" (declared at line 316 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef signed long const sc32; /* Read Only */
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(31): error: #256: invalid redeclaration of type name "vs32" (declared at line 320 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef volatile signed long vs32;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(35): error: #256: invalid redeclaration of type name "vsc32" (declared at line 324 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef volatile signed long const vsc32; /* Read Only */
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(39): error: #256: invalid redeclaration of type name "u32" (declared at line 328 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef unsigned long u32;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(43): error: #256: invalid redeclaration of type name "uc32" (declared at line 332 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef unsigned long const uc32; /* Read Only */
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(47): error: #256: invalid redeclaration of type name "vu32" (declared at line 336 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef volatile unsigned long vu32;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(51): error: #256: invalid redeclaration of type name "vuc32" (declared at line 340 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef volatile unsigned long const vuc32; /* Read Only */
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(55): error: #101: "FALSE" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {FALSE = 0, TRUE = !FALSE} bool;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(55): error: #101: "TRUE" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {FALSE = 0, TRUE = !FALSE} bool;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(55): error: #256: invalid redeclaration of type name "bool" (declared at line 345 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {FALSE = 0, TRUE = !FALSE} bool;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(57): error: #101: "RESET" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(57): error: #101: "SET" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(57): error: #256: invalid redeclaration of type name "FlagStatus" (declared at line 348 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(57): error: #256: invalid redeclaration of type name "ITStatus" (declared at line 348 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(59): error: #101: "DISABLE" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(59): error: #101: "ENABLE" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(59): error: #256: invalid redeclaration of type name "FunctionalState" (declared at line 350 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(62): error: #101: "ERROR" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(62): error: #101: "SUCCESS" has already been declared in the current scope
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h(62): error: #256: invalid redeclaration of type name "ErrorStatus" (declared at line 353 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ type.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(30): error: #55: too many arguments in macro invocation
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __ISB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(30): error: #79: expected a type specifier
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __ISB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(31): error: #55: too many arguments in macro invocation
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __DSB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(31): error: #79: expected a type specifier
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __DSB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(32): error: #55: too many arguments in macro invocation
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __DMB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h(32): error: #79: expected a type specifier
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: void __DMB(void);
.\Source\STM32F10x_StdPeriph_Driver\inc\cortexm3_m acro.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h(5 : error: #256: invalid redeclaration of type name "ADC_TypeDef" (declared at line 389 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: } ADC_TypeDef;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h(154): error: #256: invalid redeclaration of type name "BKP_TypeDef" (declared at line 488 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: } BKP_TypeDef;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h(163): error: #256: invalid redeclaration of type name "CAN_TxMailBox_TypeDef" (declared at line 500 of ".\Source\CMSIS\Core\CM3\stm32f10x.h")
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: } CAN_TxMailBox_TypeDef;
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: ^
.\Source\STM32F10x_StdPeriph_Driver\inc\stm32f10x_ map.h: Source\User\Main\GPIO.c: 0 warnings, 30 errors
compiling ILI932x.c...
compiling hz16.c...
compiling bmp.c...
compiling RTC.C...
compiling ADC.C...
compiling misc.c...
compiling stm32f10x_flash.c...
compiling stm32f10x_gpio.c...
compiling stm32f10x_rcc.c...
compiling stm32f10x_usart.c...
compiling stm32f10x_exti.c...
compiling stm32f10x_tim.c...
compiling stm32f10x_rtc.c...
compiling stm32f10x_bkp.c...
compiling stm32f10x_pwr.c...
compiling stm32f10x_adc.c...
compiling stm32f10x_dma.c...
Target not created
|
Видимо чтото сделал не так
|
|
|
|
08.11.2011, 21:20
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Отладочные платы для STM32
Кладите сюда ваш проект, иначе мы долго еще буксовать будем. У вас половина проекта использует файл описания типов stm32f10x.h, а вторая половина stm32f10x_ type.h. Компилятор пытается понять, почему и как с этими типами работать, но увы, не в силах.
|
|
|
|
08.11.2011, 21:54
|
|
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Может быть зря я прикрепил *.c файлы и надо было просто положить их в папку с проектом?
|
|
|
|
08.11.2011, 21:56
|
|
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Вы сможете разобрать чужой проект? Респект! Я там так нагадил уже лишними библиотеками. Щас немного приберу...
|
|
|
|
08.11.2011, 22:15
|
|
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Вот такой проект, это китайский пример для считывания температуры со встроенного датчика температуры STM32 на котором я тренируюсь  Она работала пока я не подключил файлы 1-wire...
|
|
|
|
09.11.2011, 00:05
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Отладочные платы для STM32
CMaxx22, с вашего позволения, посмотрю завтра на работе. Дома нет кеила.
|
|
|
|
09.11.2011, 07:57
|
|
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Я никуда не спешу, спасибо вам огромное, что взялись помочь!
|
|
|
|
09.11.2011, 10:12
|
|
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
И ещё если разберётесь посмотрите там в main.c вызывается процедура ADC_filter() для обращения к АЦП и выборки среднего результата. Функция описана в ADC.c . По умолчанию ADC.с проводила инициализацию АЦП и ДМА, калибрацию и запуск АЦП на 16 ногу (встр. темп. датчик) один раз. Потом уже из main.с вызывалась процедура ADC_Filter() которая возвращала усреднённое значение 16 ноги. Я переделал функцию для того, чтобы она имела вид ADC_Filter(u8 channels) чтобы иметь возможность менять ногу. Пришлось перенести пару строк инициализации внутрь процедуры. Получилось, что когда main.c вызывает ADC_Filter(нога) то последний подключает АЦП к нужной ноге и мерит напряжение на ней. После этого стало както плохо мерить, разброс увеличился, скорее всего я не туда поместил строчки, проверьте тоже плиз.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:06.
|
|