如何让一个.h里的变量让其他.c都能访问到

假设现在有一个tool.c,tool.h,两个文件 A.c ,B.c 欲调用tool.c里的变量

tool.h

#ifndef led_control
#define led_control
#include <stdio.h>

extern int LED_IO_MY;
extern int led_state;

void led_gpio_init();
void led_listen_task();
#endif

tool.c

#include<led_control.h>
int LED_IO_MY = 7;
int led_state = 0;


void led_gpio_init(){
    int ret;
    //将功能设置成GPIO
	ret = hi_io_set_func(LED_IO_MY, HI_IO_FUNC_GPIO_10_GPIO);
	printf("1 ret = %u\n", ret);

	// sleep(1);
	//控制方向设置成输出方向
	ret = hi_gpio_set_dir(LED_IO_MY, HI_GPIO_DIR_OUT);
	printf("2 ret = %u\n", ret);

	// sleep(1);
	//输出高电平
	(void)hi_gpio_set_ouput_val(LED_IO_MY, HI_GPIO_VALUE1);
}


void led_listen_task(){
    while(1){
        if(led_state){
        	(void)hi_gpio_set_ouput_val(LED_IO_MY, HI_GPIO_VALUE1);
        }
        else{
    	    (void)hi_gpio_set_ouput_val(LED_IO_MY, HI_GPIO_VALUE0);
        }
        sleep(1);
    }
}

在一个tool.h里声明extern ,在tool.c里面定义.
这样其他文件就可以包含了

如果其他文件并不需要用这个变量,可以加static修饰符,这样就是仅当前文件可见此变量.

posted @ 2024-06-19 10:30  LZH_03  阅读(0)  评论(0编辑  收藏  举报