チップ内蔵温度センサーの読み方
チップ内蔵温度センサーが内蔵されています。ADを読み取り、値を処理します。
/* E_AHI_ADC_SRC_TEMP 温度センサーで読み取る */ vAHI_AdcEnable( E_AHI_ADC_SINGLE_SHOT, E_AHI_AP_INPUT_RANGE_1, /* 0-Vref (=1.2Vレンジ) */ E_AHI_ADC_SRC_TEMP); vAHI_AdcStartSample(); // ADC開始 /* ... ADC 完了後 (割り込み受信後、暫く待つなど) */ /* AD値を読みだす */ uint16 u16AdcValue = u16AHI_AdcRead(); /* 温度に変換します */ float fTemperatureC = 25 - (((int16)(u16AdcValue - 2560U)) / 5.46F);
※ float の演算ライブラリはバイナリサイズを増大させるため、整数演算化する事をお勧めします。
※ より精度を求める場合は、1点キャリブレーションを実施します。25℃におけるAD値を計算しておいて ソース中の 2560U (25℃のAD基準値)と差し替えます。予めフラッシュなどに保存しておき、起動時に読み出します。