質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.50%
Arduino

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

Q&A

1回答

1228閲覧

何度実行してもエラーが出ます. 括弧が原因のようなのですが何度確認しても直りません

ponpontarou

総合スコア0

Arduino

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

0グッド

0クリップ

投稿2022/01/19 07:22

エラーメッセージ: In function 'void setup()': 67:18: error: a function-definition is not allowed here before '{' token exit status 1

int rs=4;
int e=6;
int d7=13;
int d6=12;
int d5=11;
int d4=10;

void lcd_write4(int str,int rs_2){
if(rs_2==0){
digitalWrite(rs,0);
}else{
digitalWrite(rs,1);
}
//上位4ビットを0にする
digitalWrite(e,1);
digitalWrite(d7,(str>>7)&0x01);//x
digitalWrite(d6,(str>>6)&0x01);//x
digitalWrite(d5,(str>>5)&0x01); //e
digitalWrite(d4,(str>>4)&0x01); //rs
delay(5);
digitalWrite(e,0);
delay(5);

//下位4ビットを0にする digitalWrite(e,1); digitalWrite(d7,(str>>3)&0x01); //d7 digitalWrite(d6,(str>>2)&0x01); //d6 digitalWrite(d5,(str>>1)&0x01); //d5 digitalWrite(d4,str&0x01);//d4 delay(5); digitalWrite(e,0); delay(5);

}

/そのまま/
int str_e;
int str_rs;
int str_d7;
int str_d6;
int str_d5;
int str_d4;

void lcd_write8(int str){
digitalWrite(e,str_e);
digitalWrite(e,(str_e>>5)&0x01);
digitalWrite(e,str_rs);
digitalWrite(rs,(str_rs>>4)&0x01);
digitalWrite(e,str_d7);
digitalWrite(d7,(str_d7>>3)&0x01);
digitalWrite(e,str_d6);
digitalWrite(d6,(str_d6>>2)&0x01);
digitalWrite(e,str_d5);
digitalWrite(d5,(str_d5>>1)&0x01);
digitalWrite(e,str_e);

digitalWrite(e,str&0x01); digitalWrite(rs,str&0x01); digitalWrite(d7,str&0x01); digitalWrite(d6,str&0x01); digitalWrite(d5,str&0x01); digitalWrite(d4,str&0x01);

}

void setup( ) {
void lcd_init(){ //エラー発生場所
//ポート設定
pinMode(e,OUTPUT);
pinMode(rs,OUTPUT);
pinMode(d7,OUTPUT);
pinMode(d6,OUTPUT);
pinMode(d5,OUTPUT);
pinMode(d4,OUTPUT);

delay(50);

digitalWrite(rs,OFF);
lcd_write8(0x23);

digitalWrite(rs,OFF);
lcd_write8(0x23);

digitalWrite(rs,OFF);
lcd_write8(0x23);

digitalWrite(rs,OFF);
lcd_write8(0x22);

lcd_write4(0x28,0);
lcd_write4(0x0E,0);
lcd_write4(0x06,0);
}
}

/*
void loop() {
void lcd_locate(0,0){ //エラー発生場所
lcd_write4(0x80+x+y*0x40,0);
}

void lcd_print("abc"){ //エラー発生場所
while(null){
lcd_write4("a",1);
}
}
}
*/

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

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

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

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

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

thkana

2022/01/19 12:00

> 何度確認しても直りません なにを確認したのか、というのを教えていただいてもよろしいでしょうか。
guest

回答1

0

void setup( ) {
void lcd_init(){

なぜこうなっているのですか?
関数の中で関数を定義することはできません。

投稿2022/01/19 07:44

itagagaki

総合スコア8402

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問