extern u8 RX4_polling();与不加extern 的区别???
时间: 2024-06-14 11:09:25 浏览: 94
extern u8 RX4_polling(); 是函数声明,它告诉编译器该函数的定义在其他文件中。这样在当前文件中使用该函数时,编译器会知道该函数的存在,并且可以正确地进行类型检查和链接。
不加extern 的情况下,默认为函数的定义。也就是说,编译器会在当前文件中寻找该函数的定义。如果找不到定义,编译器会报错。
总结来说,extern u8 RX4_polling(); 是函数声明,告诉编译器该函数的定义在其他文件中;而不加extern 的情况下,默认为函数的定义,编译器会在当前文件中寻找该函数的定义。
相关问题
..\HARDWARE\USART3\usart3.h(21): error: #147: declaration is incompatible with "uint8_t USART2_RX_BUF[512]" (declared at line 12 of "..\SYSTEM\usart\usart.h") extern u8 USART2_RX_BUF[
这个错误是因为你在usart3.h中定义了一个名为USART2_RX_BUF的变量,但是在usart.h中也已经定义了一个同名的变量,并且它们的类型不一致,导致冲突。
解决这个错误的方法是修改usart3.h中的变量名,或者使用usart.h中定义的同名变量。如果你确定需要在usart3.h中定义一个新的变量,那么应该修改变量名以避免与其他文件中的变量冲突。
#ifndef __HX711_H #define __HX711_H #include "sys.h" #define HX711_SCK PBout(0)// PB0 #define HX711_DOUT PBin(1)// PB1 extern void Init_HX711pin(void); extern u32 HX711_Read(void); extern void Get_Maopi(void); extern void Get_Weight(void); extern u32 HX711_Buffer; extern u32 Weight_Maopi; extern s32 Weight_Shiwu; extern u8 Flag_Error; #endif
这段代码是关于 HX711 模块的驱动程序。首先定义了 HX711 模块的时钟线和数据线的引脚,分别是 PB0 和 PB1。然后定义了一些函数和变量,包括初始化引脚、读取数据、获取毛皮重量、获取实物重量等。其中,HX711_Buffer 是一个用于存储读取到的数据的缓冲变量,Weight_Maopi 是一个用于存储毛皮重量的变量,Weight_Shiwu 是一个用于存储实物重量的变量,Flag_Error 是一个标志位,用于表示是否出现错误。
阅读全文
相关推荐















