2015/04/16

LinkIt ONE小發現:類別的方法無實作,造成整支程式無法執行

一支很簡單的程式,如果沒有紅色的部份,就可以正常執行,LED會閃爍,序列埠可接收訊息。

#define BAUDRATE 115200
#define LED_PIN 13

class MyClass
{
public:
  void aMethod();
};

void aFunction(){
  MyClass x;
  x.aMethod();
}


void setup(){
  Serial.begin(BAUDRATE);
  pinMode(LED_PIN, OUTPUT);
}

void loop(){
  digitalWrite(LED_PIN, HIGH);
  Serial.println("LED high");
  delay(300);
  digitalWrite(LED_PIN, LOW);
  Serial.println("LED low");
  delay(300);
}


但若有紅色的部份,建置時會出現警告訊息「warning: undefined reference」,但編譯、連結仍成功,也可以燒錄到板子裡,但卻無法執行,LED不會動,序列埠什麼東西也沒有。

2 comments: