G2508_U35_MCP23017_I/Oエキスパンダー(出力)
2025年1月8日
11:11
G2508_lpc11u35_MCP23017_io_expander_output_report
実験後の考察
16bit I2C I/Oエキスパンダー MCP23017: 半導体 秋月電子通商-電子部品・ネット通販
uint8_t bnk,bit_no;
// 誤動作防止のため、実装されていないバンクはアドレスゼロ設定必要
Exp_23017_add_tbl[0] = 0x4E;
Exp_23017_add_tbl[1] = 0;
Exp_23017_add_tbl[2] = 0;
Exp_23017_add_tbl[3] = 0;
// 16ビットすべて出力に設定する
MCP23017_out_init(0); // バンク単位出力設定
MCP23017_out_init(1); // バンク単位出力設定
// 出力データ初期化
Exp_23017_dat[0] = 0; MCP23017_wrt(0);
Exp_23017_dat[1] = 0; MCP23017_wrt(1);
実験コマンドは同じにします
// Bxyy x BNK yy Bit
// 今回もオルタネート処理します
bnk = cha_dec_to_int(rcv_buf,1,1);
bit_no = cha_dec_to_int(rcv_buf,2,2);
if(MCP23017_bit_chk(bnk,bit_no) == 0)
MCP23017_bit_set(bnk,bit_no,1);
else
MCP23017_bit_set(bnk,bit_no,0);
MCP23017_wrt(bnk);
実験結果
速度計測