We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Dear everyone,
I want to add new struct type called I2C_TypeDef to the CMSDK_CM3.h I followed the format, added right below the other CMSDK_TypeDef, but strangely the Keil IDE cannot recognize my new type. Here is what I added
/*------------------- I2C ----------------------------------------------*/ /** @addtogroup I2C @{ */ typedef struct { __IO uint32_t PRER; // <h> I2C Prescaler Register (R/W) </h> __IO uint32_t CTR; // <h> I2C Control Register (R/W) </h> __O uint32_t TXR; // <h> I2C Transmit Register (W) </h> __I uint32_t RXR; // <h> I2C Receive Register (R) </h> union { __O uint32_t CR; // <h> I2C Command Register (W) </h> __I uint32_t SR; // <h> I2C Status Register (R) </h> }; } I2C_TypeDef; /*@}*/ /* end of group I2C */
it is compiled but whenever I try to use the I2C_TypeDef in main, for example, I2C_TypeDef mySensor;
It doesn't compile with an 'error: unknown type name 'I2C_TypeDef' I am sure that I have included the CMSDK_CM3.h since the other CMSDK_xxx_typedef work just fine. Also, when I declare the struct in the same file as the main. It recognizes the struct and now compiles. Please, anybody know what is the problem? I am using Keil MDK5 by the way. Thank you for any help.