G2013_MCP4726_DA変換IC
2024年12月11日
12:37
G2013_lpc812_MCP4726_DA_report
MCP4726搭載12ビットD/A変換モジュール: 半導体 秋月電子通商-電子部品・ネット通販
// 複数デバイスの実装は調査できていません
// 0xC0 アドレスの実験のみです
ad_dat = cha_dec_to_int(rcv_buf,1,4);
mcp4726_wrt(ad_dat); // DA出力
// 2024.12.11 WED (12:44) goma0099 -6919894-
// MCP4726 DA変換
uint32_t mcp4726_wrt(uint16_t prm_dat)
{
// 複数デバイスの実装は調査できていません
// 0xC0 アドレスの実験のみです
// 電源5Vを利用した場合
// 4095 5.11
// 2048 2.57
// 1024 1.28
// 0 0.001
// 注意 放置するとスリープしてしまうのか、アドレスエラーが出る
// あるいは 4095 を設定すると問題あるのか?
char snd_buf[16+2];
char rcv_buf[16+2];
uint32_t i2c_err;
uint16_t i2c_add = 0xC0;
uint8_t dat_tbl[2+1];
dec_int16_to_int8(prm_dat,dat_tbl); // 上位下位分解
snd_buf[0] = dat_tbl[1]; // HI_dat
snd_buf[1] = dat_tbl[0]; // LOW_dat
i2c_err = LPC_i2c_snd_rcv(i2c_add,2,0,snd_buf,rcv_buf,16);
return(i2c_err);
}
4000 -> 3.22 1=0.805 mV
2V 出したかったら 2000/0.805 = 2484
処理速度を計ります
mcp4726_wrt(2000); // DA出力
2024.12.11 WED (19:41) goma0099 -6919894-
追記