函数和变量声明
语法
函数
函数定义:
函数返回值 函数名(函数形参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;
可以实现在其他文件中使用和修改。 但是这种方法声明变量通常是不安全的,队内代码中禁止出现