FSSR( FLAG Source Sensitivity Register )はプログラマブル・フラグの割り込み種別を決めます。
このレジスタは16ビットのビットマップレジスタです。初期値は0x0000です。
各ビットはPF入力ピンに対応しています。FSSRレジスタにデータを書き込むと、1に対応するPF入力はエッジセンス割り込みになります。0に対応するPF入力はレベルセンス割り込みになります。
レベルセンスの場合、割り込みはアクティブレベルで発生します。エッジセンスの場合、割り込みはアクティブエッジで発生します。FSPRを使ってアクティブレベルとアクティブエッジを変更できます。
発生条件を以下の表にまとめます。H/LはPFに加えられる電圧レベルをあらわします。↑↓はそれぞれ電圧の立ち上がりと立下りをあらわします。表の○がついている条件で割り込みが発生します。
制御レジスタ | PFピンの状態 | |||||
---|---|---|---|---|---|---|
FSBER | FSSR | FSPR | H | L | ↑ | ↓ |
0 | 0 | 0 | x | x | 〇 | - |
0 | 0 | 1 | x | x | - | 〇 |
0 | 1 | 0 | 〇 | - | x | x |
0 | 1 | 1 | - | 〇 | x | x |
1 | 0 | 0 | x | x | 〇 | 〇 |
1 | 0 | 1 | x | x | 〇 | 〇 |
1 | 1 | 0 | 〇 | - | x | x |
1 | 1 | 1 | - | 〇 | x | x |
C/C++言語用に以下のインターフェースが用意されています。宣言はsysreg.hで行われています。FSSRにアクセスする前には必ずIOPGにGeneral_Purpose_IOを設定してください。
// #include <sysreg.h> // #include <def2191.h> sysreg_write(sysreg_IOPG, General_Purpose_IO) // PFページに設定 io_space_write(FSSR, 値) // FSSRに値を設定 変数 = io_space_read(FSSR) // FSSRの値を取得
項目 | マニュアルのページ等 |
---|---|
レジスタ構造 | HR 14-44 |