/** * センサー値を格納する */ static void vStoreSensorValue() { // パルス数の読み込み bAHI_Read16BitCounter(E_AHI_PC_0, &sAppData.sSns.u16PC1); // 16bitの場合 // パルス数のクリア bAHI_Clear16BitPulseCounter(E_AHI_PC_0); // 16bitの場合 // パルス数の読み込み bAHI_Read16BitCounter(E_AHI_PC_1, &sAppData.sSns.u16PC2); // 16bitの場合 // パルス数のクリア bAHI_Clear16BitPulseCounter(E_AHI_PC_1); // 16bitの場合 // センサー値の保管 sAppData.sSns.u16Adc1 = sAppData.sObjADC.ai16Result[TEH_ADC_IDX_ADC_1]; #ifdef USE_TEMP_INSTDOF_ADC2 sAppData.sSns.u16Adc2 = sAppData.sObjADC.ai16Result[TEH_ADC_IDX_TEMP]; #else sAppData.sSns.u16Adc2 = sAppData.sObjADC.ai16Result[TEH_ADC_IDX_ADC_2]; #endif sAppData.sSns.u8Batt = ENCODE_VOLT(sAppData.sObjADC.ai16Result[TEH_ADC_IDX_VOLT]); // ADC1 が 1300mV 以上(SuperCAP が 2600mV 以上)である場合は SUPER CAP の直結を有効にする if (sAppData.sSns.u16Adc1 >= VOLT_SUPERCAP_CONTROL) { vPortSetLo(DIO_SUPERCAP_CONTROL); } // センサー用の電源制御回路を Hi に戻す vPortSetSns(FALSE); }
/** * センサー値を格納する */ static void vStoreSensorValue() { // センサー値の保管 sAppData.sSns.u16Adc1 = sAppData.sObjADC.ai16Result[TEH_ADC_IDX_ADC_1]; #ifdef USE_TEMP_INSTDOF_ADC2 sAppData.sSns.u16Adc2 = sAppData.sObjADC.ai16Result[TEH_ADC_IDX_TEMP]; #else sAppData.sSns.u16Adc2 = sAppData.sObjADC.ai16Result[TEH_ADC_IDX_ADC_2]; #endif sAppData.sSns.u8Batt = ENCODE_VOLT(sAppData.sObjADC.ai16Result[TEH_ADC_IDX_VOLT]); // ADC1 が 1300mV 以上(SuperCAP が 2600mV 以上)である場合は SUPER CAP の直結を有効にする if (sAppData.sSns.u16Adc1 >= VOLT_SUPERCAP_CONTROL) { vPortSetLo(DIO_SUPERCAP_CONTROL); } }