2016-08-18 40 views
0

スクリプトへのダウンロードリンクがなかったのでYouTubeのビデオからスクリプトをコピーしましたが、今はいつも同じエラーメッセージが表示されています何をすべきかわからない。私たちを手伝ってくれますか?無効な型 'uint8_t {別名unsigned char} [int]'配列の添え字

これは私のコードです:

#include <VirtualWire.h> 
 

 
int ledPassive = 5; 
 
int ledActive = 7; 
 
int motor = 8; 
 

 
void setup() { 
 
    // put your setup code here, to run once: 
 
pinMode(ledPassive,OUTPUT); 
 
pinMode(ledActive,OUTPUT); 
 
pinMode(motor,OUTPUT); 
 
vw_set_ptt_inverted(true); 
 
vw_set_rx_pin(12); 
 
vw_setup(4000); 
 
vw_rx_start(); 
 

 
} 
 

 
void loop() 
 
{ 
 
    
 
digitalWrite(ledPassive,HIGH); 
 
digitalWrite(motor,LOW); 
 
digitalWrite(ledActive,LOW); 
 
uint8_t buf(VW_MAX_MESSAGE_LEN); 
 
uint8_t buflen = VW_MAX_MESSAGE_LEN; 
 

 
if (vw_get_message(buf, &buflen)) { 
 
    if (buf[0]=='X'){ 
 
    digitalWrite(ledPassive,LOW); 
 
    for (int i=0;i<10;i++){ 
 
     digitalWrite(motor,LOW); 
 
     digitalWrite(ledActive,HIGH); 
 
     delay(200); 
 
     digitalWrite(motor,HIGH); 
 
     digitalWrite(ledActive,LOW); 
 
     delay(200); 
 
    } 
 
} 
 
    else if (buf[0]!='x'){ 
 
    digitalWrite(ledPassive,HIGH); 
 
    } 
 
} 
 
}

そして、これはエラーメッセージです:

Arduino: 1.6.10 (Windows 10), Board:"Arduino Nano, ATmega328" 
 

 
In function 'void loop()': 
 

 
sketch_aug18e_self_made:29: error: invalid types 'uint8_t {aka unsigned char}[int]' for array subscript 
 

 
    if (buf[0]=='X'){ 
 

 
      ^
 

 
sketch_aug18e_self_made:40: error: invalid types 'uint8_t {aka unsigned char}[int]' for array subscript 
 

 
    else if (buf[0]!='x'){ 
 

 
       ^
 

 
exit status 1 
 
invalid types 'uint8_t {aka unsigned char}[int]' for array subscript 
 

 
This report would have more information with 
 
"Show verbose output during compilation" 
 
option enabled in File -> Preferences.

私は悪い言語のため申し訳ありません英語

+0

'uint8_t buf(VW_MAX_MESSAGE_LEN);'を置き換えてください。 'uint8_t buf [VW_MAX_MESSAGE_LEN];' (角括弧に注意してください) –

+0

ありがとう、それは動作します! – Simon

答えて

1

でとても良いとオランダではないあなたは、配列を宣言するため、不適切な構文を使用している

uint8_t buf[VW_MAX_MESSAGE_LEN];

uint8_t buf(VW_MAX_MESSAGE_LEN);

を交換してみてください。

関連する問題