前
2010年
6月
次
日
月
火
水
木
金
土
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
setup diary
トップ
«前の日記(2010-06-16)
最新
次の日記(2010-06-23)»
編集
2007|
12
|
2008|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
09
|
10
|
11
|
12
|
2009|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
09
|
10
|
11
|
12
|
2010|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
09
|
10
|
11
|
12
|
2011|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
09
|
10
|
11
|
12
|
2012|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
10
|
11
|
12
|
2013|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
09
|
10
|
11
|
12
|
2014|
01
|
02
|
03
|
04
|
06
|
08
|
11
|
2015|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
10
|
11
|
12
|
2016|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
09
|
10
|
11
|
12
|
2017|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
09
|
10
|
11
|
12
|
2018|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
09
|
10
|
11
|
12
|
2019|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
09
|
10
|
11
|
12
|
2020|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
09
|
10
|
11
|
12
|
2021|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
09
|
10
|
11
|
12
|
2022|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
09
|
10
|
11
|
12
|
2023|
01
|
02
|
03
|
04
|
05
|
06
|
07
|
08
|
09
|
10
|
11
|
2010-06-21
AVRのconst
_
AVRの定数をflashに置く
以前、flashにconstを作るときには、よく分からずにやっていたが、やり方が分かったので、書いておこう。まず、宣言のところでは、型の後に"PROGMEM"を入れるか、"prog_"が頭についた、flash専用の型で宣言する。以前のプログラムでは、
const prog_uint16_t number[0x60];
としていた。次に、定数の値を読むときには、pgm_read_byte, pgm_read_word,pgm_read_dwordを使う。
p=pgm_read_word(&number[c-0x20]);
などと、アドレスを引数にする必要がある。宣言はさておき、読み取るときの命令が面倒だと感じる。今後、定数を使うときには、flashを有効利用するようにしよう。
[
ツッコミを入れる
]