🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

1回答

3750閲覧

ArduinoIDEで発生した「expected unqualified-id before ...」というエラーについて

_kimura_

総合スコア14

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2019/09/19 08:10

こんにちは。
現在ESP32でBlynkを使ってスマートフォンから正弦波の周波数制御を行う装置を製作しようとしているのですが、エラーが発生してしまい解決できずにいます。

発生している問題・エラーメッセージ

以下が発生したエラーです

Arduino

1exit status 1 2expected unqualified-id before 'static'

#該当のソースコード
以下がソースコードです

Arduino

1/************************************************************* 2 Download latest Blynk library here: 3 https://github.com/blynkkk/blynk-library/releases/latest 4 5 Blynk is a platform with iOS and Android apps to control 6 Arduino, Raspberry Pi and the likes over the Internet. 7 You can easily build graphic interfaces for all your 8 projects by simply dragging and dropping widgets. 9 10 Downloads, docs, tutorials: http://www.blynk.cc 11 Sketch generator: http://examples.blynk.cc 12 Blynk community: http://community.blynk.cc 13 Social networks: http://www.fb.com/blynkapp 14 http://twitter.com/blynk_app 15 16 Blynk library is licensed under MIT license 17 This example code is in public domain. 18 19 ************************************************************* 20 This example shows how to use ESP32 BLE 21 to connect your project to Blynk. 22 23 Warning: Bluetooth support is in beta! 24 *************************************************************/ 25 26/* Comment this out to disable prints and save space */ 27#define BLYNK_PRINT Serial 28 29#define BLYNK_USE_DIRECT_CONNECT 30 31#include <BlynkSimpleEsp32_BLE.h> 32#include <BLEDevice.h> 33#include <BLEServer.h> 34 35// You should get Auth Token in the Blynk App. 36// Go to the Project Settings (nut icon). 37char auth[] = "jSR3Ru98Hz2oZJggwBpTUjGMXBh1mdbA"; 38 39********************************************************* 40///////////////// 以上テンプレート ////////////////////// 41********************************************************* 42#include "Table.h" 43int i; 44unsigned int now = 0; unsigned int prev = 0; 45volatile int interval; 46 47void setup() 48{ 49 // Debug console 50 Serial.begin(9600); 51 52 Serial.println("Waiting for connections..."); 53 54 Blynk.setDeviceName("Blynk"); 55 56 Blynk.begin(auth); 57} 58 59 60void loop() 61{ 62 Blynk.run(); 63 64 now = micros(); 65 if ( now - prev > interval) 66 { 67 prev = micros(); 68 dacWrite( 25 , SineWave_8Bit[i]); 69 i++; 70 if (i>255) 71 { 72 i = 0; 73 } 74 } 75 Serial.print("dacWrite: "); 76 77 Serial.println(SineWave_8Bit [i]); 78} 79 80BLYNK_WRITE(V0) 81{ 82 interval = param.asInt(); 83}

正弦波出力を行うためのデータファイル"Table.h"です。

Arduino

1PROGMEM static int SineWave_8Bit [256] = 2{ 3 128, 134, 140, 146, 152, 158, 165, 170, 4 176, 182, 188, 193, 198, 203, 208, 213, 5 218, 222, 226, 230, 234, 237, 240, 243, 6 245, 248, 250, 251, 253, 254, 254, 255, 7 255, 255, 254, 254, 253, 251, 250, 248, 8 245, 243, 240, 237, 234, 230, 226, 222, 9 218, 213, 208, 203, 198, 193, 188, 182, 10 176, 170, 165, 158, 152, 146, 140, 134, 11 128, 121, 115, 109, 103, 97, 90, 85, 12 79, 73, 67, 62, 57, 52, 47, 42, 13 37, 33, 29, 25, 21, 18, 15, 12, 14 10, 7, 5, 4, 2, 1, 1, 0, 15 0, 0, 1, 1, 2, 4, 5, 7, 16 10, 12, 15, 18, 21, 25, 29, 33, 17 37, 42, 47, 52, 57, 62, 67, 73, 18 79, 85, 90, 97, 103, 109, 115, 121, 19 128, 134, 140, 146, 152, 158, 165, 170, 20 176, 182, 188, 193, 198, 203, 208, 213, 21 218, 222, 226, 230, 234, 237, 240, 243, 22 245, 248, 250, 251, 253, 254, 254, 255, 23 255, 255, 254, 254, 253, 251, 250, 248, 24 245, 243, 240, 237, 234, 230, 226, 222, 25 218, 213, 208, 203, 198, 193, 188, 182, 26 176, 170, 165, 158, 152, 146, 140, 134, 27 128, 121, 115, 109, 103, 97, 90, 85, 28 79, 73, 67, 62, 57, 52, 47, 42, 29 37, 33, 29, 25, 21, 18, 15, 12, 30 10, 7, 5, 4, 2, 1, 1, 0, 31 0, 0, 1, 1, 2, 4, 5, 7, 32 10, 12, 15, 18, 21, 25, 29, 33, 33 37, 42, 47, 52, 57, 62, 67, 73, 34 79, 85, 90, 97, 103, 109, 115, 121 35};

試したこと

先週の段階で目的の出力が実行できるプログラムが製作できていたのですがデータを飛ばしてしまい、もう一度作り直そうとして手詰まりとなってしまいました。
もし原因をご存じの方がいましたら、お教えください。
#補足
以下が実行環境です。
Arduino 1.8.9.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

PROGMEM static int SineWave_8Bit [256] =

このPROGMEMというのはなんでしょうか。
おそらくこのせいでエラーが出ています

投稿2019/09/19 08:21

y_waiwai

総合スコア88038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_kimura_

2019/09/19 08:30

Arduino IDEにてFlashメモリにデータを格納するための修飾子とのことです。 本来Arduino UNO などのAVRマイコンチップのためのものなので、ESP32ではコンパイルエラーの原因になってしまうかもしれません。 このPROGMEMを取り除いて正常にコンパイルができるか試してみます。
_kimura_

2019/09/19 09:09

PROGMEMを取り除いても同じエラーが出てしまいました。
y_waiwai

2019/09/19 09:13

ならそのヘッダファイルをインクルードしているところでなにかまちがってますね。 > ///////////////// 以上テンプレート ////////////////////// そこんところを提示できるでしょうか
_kimura_

2019/09/19 10:09

********************************************************* ///////////////// 以上テンプレート ////////////////////// ********************************************************* と書いていた個所を取り除いたところ、コンパイルがうまくいきました。 PROGMEMと合わせて変な書式でコメントを挿入していたのがコンパイルが うまくいかなかった原因だったみたいです。 アドバイスいただきありがとうございました。
y_waiwai

2019/09/19 10:31

それそのまんまでしたか。。 コメントの形式にしないと、そりゃエラーが出ますわなw
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問