所以我想知道为什么我收到以下错误:
错误 1 未定义对“MIN_COUNTER”的引用 C:\Users\Wyatt Crosby\Dropbox\Atmel Studio\ReflowController\ReflowController\ReflowController\Debug/.././ReflowController.c 146 1 ReflowController
在 PID.h 中时,我有:
#ifndef PID_H
#define PID_H
#define LCD_SCREEN_SIZE 16
#define MAX_COUNTS 180
#define OVEN_MAX_TEMP 260
#define OVEN_MIN_TEMP 0
#define MIN_COUNTER(x,a) tempLookupArray[x] < a ? x : MIN_COUNTER(x+1,a)
#define FIND_COUNTER(a) a <= OVEN_MIN_TEMP ? MAX_COUNTS : MIN_COUNTER(0,a)
const float tempLookupArray[MAX_COUNTS];
...
tempLookupArray 在 PID.c 中进一步定义:
const float tempLookupArray[MAX_COUNTS] = {
260.00,
260.00,
260.00,
259.99,
259.98,
259.96,
...
在 ReflowController.c 我包括 PID.h 并写:
TriggerCounter = FIND_COUNTER(PIDgain);
其中 PIDgain 是本地的,类型为“float”,TriggerCounter 是全局的,类型为“volatile int”
似乎是我试图从 MIN_COUNTER 内部调用 MIN_COUNTER并且还没有任何类型的原型(如果它是一个函数)。. .
各位聪明人有什么想法吗?
谢谢!