函数和变量声明

语法

函数

函数定义:

函数返回值 函数名(函数形参1,函数形参2,...){  
    函数体  
} 

函数声明:

函数返回值 函数名(函数形参1,函数形参2,...);

函数定义写在.c文件里,函数声明一般写在同名.h文件里,.c文件要包含同名的.h文件,函数定义和函数声明的函数返回值、函数名和函数形参要保持一致。 另外,宏定义和typedef通常也要写到.h文件中

变量声明

extern 变量类型 变量名

在一个文件中如果想要使用另一个文件中的定义的变量,可以在当前文件中使用extern来使用其他文件中的变量,记得extern中的变量类型和变量名要保持一致,即表示此变量的作用域扩展到了当前文件中。

用法

函数

控制写入引脚 .h文件中:

...
int8_t  bsp_gpio_write_pin(bsp_gpio_t  gpio,  bool  value);    
...

.c文件中:

#include "bsp_gpio.h"
...
int8_t bsp_gpio_write_pin(bsp_gpio_t gpio, bool value) {
  HAL_GPIO_WritePin(bsp_gpio_map[gpio].gpio, bsp_gpio_map[gpio].pin, value);
  return BSP_OK;
}
...

使用时引用函数所在文件的头文件,即可调用该函数 在陀螺仪设备文件中控制引脚:

...
#include "bsp_gpio.h"
...
void fun(param){
    ...
    bsp_gpio_write_pin(BSP_GPIO_IMU_ACCL_CS, true);
    ...
} 如果只在代码块使用了头文件中的内容,而函数参数和返回值中没有使用头文件中的变量类型,则不需要在当前的.h中包含此头文件,在.c中包含即可。

变量声明

在file.c文件中存在全局非静态变量

int a;

在另一个文件中若要使用,可以通过下面的方法声明

extern int a;

可以实现在其他文件中使用和修改。 但是这种方法声明变量通常是不安全的,队内代码中禁止出现