Dut*_*ber 10 c function arduino
在编译一些Arduino C文件时,我收到一个错误"对`readArms()'的未定义引用"
代码可以在粘贴箱中找到.
但基本上会发生什么:
在INO文件中我使用:
readArms();
Run Code Online (Sandbox Code Playgroud)
在"armfunctions.h"和"armfunctions.c"中声明了
.h文件包含
void readArms(void);
Run Code Online (Sandbox Code Playgroud)
和.c文件:
void readArms(void){
float motor1 = 0.0;
int motor = 0;
motor = analogRead(READMOTOR1);
motor1 = (float)motor;
motor1 = (motor1 - 87.0) * (400.0/(1007.0-87.0));
delay(1000);
}
Run Code Online (Sandbox Code Playgroud)
Mad*_*vad 28
我今天已经研究了几个小时,制作和测试各种草图,并且发现(正如你已经发现的)将它们更改.cpp为一种解决方法,但如果你想专门创建一个ac文件,你必须将原型包装在标头让它编译.有一些关于它的好帖子,但问题的关键,在你的.h文件中:
#ifdef __cplusplus
extern "C" {
#endif
void readArms(void);
#ifdef __cplusplus
}
#endif
Run Code Online (Sandbox Code Playgroud)