質問編集履歴

2

情報追加

2016/12/18 10:30

投稿

minato_hy
minato_hy

スコア68

test CHANGED
File without changes
test CHANGED
@@ -38,9 +38,9 @@
38
38
 
39
39
  source_b/Ret.c:3:12: error: `HEADER_A' undeclared (first use in this function)
40
40
 
41
- return HEADER_A * 2;
41
+ int x = HEADER_A * 2;
42
-
42
+
43
- ^
43
+ ^
44
44
 
45
45
  1 error generated.
46
46
 
@@ -188,7 +188,11 @@
188
188
 
189
189
  int ret_a(void){
190
190
 
191
- return HEADER_A * 2;
191
+ int x = HEADER_A * 2;
192
+
193
+ int y = HEADER_B * 2;
194
+
195
+ return x + y;
192
196
 
193
197
  }
194
198
 
@@ -202,6 +206,8 @@
202
206
 
203
207
  #define HEADER_A eeprom_data[0x01] * 10 //EEPROM領域のデータ
204
208
 
209
+ #define HEADER_B eeprom_data[0x02] * 10
210
+
205
211
  ```
206
212
 
207
213
 

1

情報の追加

2016/12/18 10:30

投稿

minato_hy
minato_hy

スコア68

test CHANGED
File without changes
test CHANGED
@@ -4,6 +4,10 @@
4
4
 
5
5
  [CYPRESSのアプリケーションノート](http://www.cypress.com/file/296741/download)を参考に、Makefileを記述しCソースのコンパイルをしようとしているのですが、インクルードしたヘッダファイル内で`#define`されているはずの変数が、`undeclared`でエラーになります。
6
6
 
7
+ なお問題の変数は、EEPROM領域のデータを読み出して変数として定義したものです。
8
+
9
+ EEPROM領域というのは、マイコンメモリのflash領域の一部をEEPROMとみなしてデータを格納している部分という大雑把な認識なのですが、不正確ならすみません。
10
+
7
11
 
8
12
 
9
13
  申し訳ありませんが対象のプロジェクトは外部に出せないものなので、以降それをイメージした簡易なプロジェクト例で説明させていただきます。また、この簡易プロジェクトだと同様のエラーを再現できていませんので、あくまでイメージとさせてください。
@@ -196,7 +200,7 @@
196
200
 
197
201
  ```C
198
202
 
199
- #define HEADER_A 12
203
+ #define HEADER_A eeprom_data[0x01] * 10 //EEPROM領域のデータ
200
204
 
201
205
  ```
202
206