STM32

CMSISに従った変数宣言

通常CMSIS
-signedlong-int32_t
-signedshort-int16_t
-signedchar-int8_t
-signedlongconstconst int32_t
-signedshortconstconst int16_t
-signedcharconstconst int8_t
Volatilesignedlong-___O int32_t
___IO int32_t
Volatilesignedshort-___O int16_t
___IO int16_t
Volatilesignedchar-___O int8_t
___IO int8_t
Volatilesignedlongconst___I int32_t
Volatilesignedshortconst___I int16_t
Volatilesignedcharconst___I int8_t
-unsignedlong-uint32_t
-unsignedshort-uint16_t
-unsignedchar-uint8_t
-unsignedlongconstconst uint32_t
-unsignedshortconstconst uint16_t
-unsignedcharconstconst uint8_t
Volatileunsignedlong-___O uint32_t
___IO uint32_t
Volatileunsignedshort-___O uint16_t
___IO uint16_t
Volatileunsignedchar-___O uint8_t
___IO uint8_t
Volatileunsignedlongconst___I uint32_t
Volatileunsignedshortconst___I uint16_t
Volatileunsignedcharconst___I uint8_t

記憶クラス

auto

オブジェクトに自動記憶クラスを与える。関数内でのみ使用可。

register

変数の使用頻度が高いことをコンパイラに知らせる。他はautoと同じ。

static

オブジェクトに静的な記憶クラスを与える。関数の中でも外でも使用可。
staticな局所変数は定義時に0で初期化される。普通の局所変数のように関数がコールされた時のみ存在するのではなく、永久に存在する。しかし、外部変数とは異なり、他の関数からは利用は出来ない。セットされた値は関数が終了しても保持され、再び関数がコールされた時には前回の値が残っていて、そのまま利用可能。

extern

オブジェクト用のメモリが他のどこかで定義されていることを示す。

typedef

型に別名を付ける。構文の便宜上記憶クラス指定子に分類されている。

コラム

stdint.h内で宣言されている

int8_t型とchar型はgccでは別の型と見なされるのでstdint.hの修正が必要な場合がある。

IOタイプ識別子

const

constを付けるとROMに割り当てられる

Volatile


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS