This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

uint32_t undefined

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

Parents
  • 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.

Reply
  • 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.

Children
No data