STM32学习中出现的错误

1.添加了多个文件后编译发现出现了无效的重复声明:

原因:文件(头文件)调用的时候重复调用,

解决办法:每个头文件写的时候包含以下代码:

#ifndef   __STM32F10X_H   //头文件的名字

#define  __STM32F10X_H

#endif

2.声明结构体指针

typedef unsigned int    uint32_t

typedef unsigned int    uint16_t

typedef struct

{

uint32_t    CRL;

uint32_t    CRH;

uint32_t    IDR;

uint32_t    ODR;

uint32_t    BSRR;

uint32_t    BRR;

uint32_t    LCKR;

}GPIO_TypeDef;      //不要忘记加分号

3.如果编译出现declaration may not apprar after executable statement in block,这种错误:

切记:是声明变量的问题,声明变量一定要在函数的开头有,紧接着大括号。这是c语言错误。

4.结构体的使用心得

定义了结构体以后,如果结构体被强制装换位指针形式,引用成员变量时用  ->  的形式来调用。

如果没有被强制转换时,引用成员变量用 . (点)  来调用。

 

原文地址:https://www.cnblogs.com/edan/p/7635414.html