uVision puzzles me a fair bit.
In my project I have declared instances of TIM_TimeBaseInitTypeDef, RCC_ClocksTypeDef, I2S_InitTypeDef without any problems.
Now I'm trying to declare an instance of DMA_InitTypeDef and get this error:
main.c(460): error: #20: identifier "uint32_t" is undefined
I am able to define the following:
#define ADC1_DR_Address ((uint32_t)0x4001244C)
which doesn't give me an error.
this is wierd so any advice?
The newbie Thomas
uint32_t should normally be defined in stdint.h - maybe you need to add a line:
#include <stdint.h<
early in your source file.
Another thing. #define SYMBOL RANDOM_RUBBISH will not produce any errors since #define is handled by the preprocessor. It isn't until you get the preprocessor to expand SYMBOL that the compiler will see RANDOM_RUBBISH and can generate a compilation error.
So a #define can contain undefined data types or variable names without any errors - unless you make use of the #defined symbol.