When the preamplifier output is saturated we start with the standard SAR.
1262void aggiustamento_SAR(
bool *saturazione_canale,
int attesa,
char *nodo_di_misura_1){
1264 for( canale=0;canale<2;canale++){
1265 if( saturazione_canale[canale]){
1266 Trimmer_offset_preampli[canale].fine_offset=0x80;
1267 Imposta_canale_del_trimmer_ennesimo_al_valore_I2CA (canale, preampli_fine_offset_trimmer, 0x80);
1268 Trimmer_offset_preampli[canale].coarse_offset =0;
1271 signed char posizione_bit_di_test;
1273 for( posizione_bit_di_test =7; posizione_bit_di_test>=0;posizione_bit_di_test--){
1274 for( canale=0;canale<2;canale++){
1275 if( saturazione_canale[canale]){
1276 Trimmer_offset_preampli[canale].coarse_offset |=(1 << posizione_bit_di_test) & 0xFF;
1277 Imposta_canale_del_trimmer_ennesimo_al_valore_I2CA (canale, preampli_corse_offset_trimmer, Trimmer_offset_preampli[canale].coarse_offset);
1280 if ( saturazione_canale[0] | saturazione_canale[1]){
1283 for( canale=0;canale<2;canale++){
1284 if( saturazione_canale[canale]){
1286 risultato=correzione_misura_ADC(coeffcienti_misura_ADC_nodi[nodo_di_misura_1[canale]], risultato);
1287 if ( (risultato >= saturazione_positiva) ){
1289 saturazione_canale[canale]=
true;
1292 if( (risultato <= saturazione_negativa) ){
1294 Trimmer_offset_preampli[canale].coarse_offset &= ~(1 << posizione_bit_di_test);
1295 saturazione_canale[canale]=
true;
1298 saturazione_canale[canale]=
false;
void aggiustamento_SAR(bool *saturazione_canale, int attesa, char *nodo_di_misura_1)
When the preamplifier output is saturated we start with the standard SAR.
void Aspetta_tanti_ms(int millisecondi)
The timing function.