上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
開発/AVR/RAM上の変数
をテンプレートにして作成
資料室
開発/AVR/RAM上の変数 をテンプレートにして作成
[
差分
|
バックアップ
|
リロード
]
[ ]
開始行:
WinAVRで,特に属性を付けずに変数を定義すると,AVRのRAM空...
AVRはハーバードアーキテクチャーなんで,プログラムがあるFl...
よく使われる整数データの型は,<inttypes.h>にまとめられて...
<avr/io.h>をインクルードすると,<avr/sfr-defs.h>経由で,<...
定数は,"const"キーワードで定義する。
**<inttypes.h>による定義済みの型
|整数型名|変数サイズ|表現できる範囲|
|int8_t|1|-128~127|
|uint8_t|1|0~255|
|int16_t|2|-32768~32767|
|uint16_t|2|0~65535|
|int32_t|4|-2147483648~2147483647|
|uint32_t|4|0~4294967295|
|int64_t|8|-9.22*10^18~9.22*10^18|
|uint64_t|8|0~1.844*10^19|
**宣言の仕方
uint_8 val; // RAM上に変数を作成
val = 10; // 10にする
**RAM上定数の宣言
const uint8_t ver = 10; // RAM上に定数を設定
定数宣言は,その後値を代入などで変更できないことを除けば...
**レジスタ変数
register uint8_t regval asm("r2");
これで,AVRの汎用レジスタR2上に変数が確保される。
register uint16_t regval_w asm("r2");
このようにすると,R2:R3にワード変数を確保出来る。
**最適化
RAM上の変数を使う場合,AVRではまず,ld/ldd/lds命令で変数...
avrgccは最適化機能を持っているため,ある変数に対する処理...
ローカル変数は,スタックポインタ位置からld/stなどで参照で...
終了行:
WinAVRで,特に属性を付けずに変数を定義すると,AVRのRAM空...
AVRはハーバードアーキテクチャーなんで,プログラムがあるFl...
よく使われる整数データの型は,<inttypes.h>にまとめられて...
<avr/io.h>をインクルードすると,<avr/sfr-defs.h>経由で,<...
定数は,"const"キーワードで定義する。
**<inttypes.h>による定義済みの型
|整数型名|変数サイズ|表現できる範囲|
|int8_t|1|-128~127|
|uint8_t|1|0~255|
|int16_t|2|-32768~32767|
|uint16_t|2|0~65535|
|int32_t|4|-2147483648~2147483647|
|uint32_t|4|0~4294967295|
|int64_t|8|-9.22*10^18~9.22*10^18|
|uint64_t|8|0~1.844*10^19|
**宣言の仕方
uint_8 val; // RAM上に変数を作成
val = 10; // 10にする
**RAM上定数の宣言
const uint8_t ver = 10; // RAM上に定数を設定
定数宣言は,その後値を代入などで変更できないことを除けば...
**レジスタ変数
register uint8_t regval asm("r2");
これで,AVRの汎用レジスタR2上に変数が確保される。
register uint16_t regval_w asm("r2");
このようにすると,R2:R3にワード変数を確保出来る。
**最適化
RAM上の変数を使う場合,AVRではまず,ld/ldd/lds命令で変数...
avrgccは最適化機能を持っているため,ある変数に対する処理...
ローカル変数は,スタックポインタ位置からld/stなどで参照で...
ページ名:
Counter: 0, today: 0, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
フォーラム
お問い合わせ