Sfoglia il codice sorgente

Update analog.c

main
shkshk90 7 anni fa
parent
commit
b90f36c8b7
Nessun account collegato all'indirizzo email del committer
1 ha cambiato i file con 3 aggiunte e 6 eliminazioni
  1. +3
    -6
      teensy3/analog.c

+ 3
- 6
teensy3/analog.c Vedi File

} else { } else {
DAC0_C0 = DAC_C0_DACEN | DAC_C0_DACRFS; // 3.3V VDDA is DACREF_2 DAC0_C0 = DAC_C0_DACEN | DAC_C0_DACRFS; // 3.3V VDDA is DACREF_2
} }
if (val < 0) val = 0; // TODO: saturate instruction?
else if (val > 4095) val = 4095;
__asm__ ("usat %[value], #12, %[value]\n\t" : [value] "+r" (val));


*(volatile aliased_int16_t *)&(DAC0_DAT0L) = val; *(volatile aliased_int16_t *)&(DAC0_DAT0L) = val;
#elif defined(__MKL26Z64__) #elif defined(__MKL26Z64__)
// use whatever voltage is on the AREF pin // use whatever voltage is on the AREF pin
DAC0_C0 = DAC_C0_DACEN | DAC_C0_DACSWTRG; // 3.3V VDDA DAC0_C0 = DAC_C0_DACEN | DAC_C0_DACSWTRG; // 3.3V VDDA
} }
if (val < 0) val = 0;
else if (val > 4095) val = 4095;
__asm__ ("usat %[value], #12, %[value]\n\t" : [value] "+r" (val));


*(volatile aliased_int16_t *)&(DAC0_DAT0L) = val; *(volatile aliased_int16_t *)&(DAC0_DAT0L) = val;
#endif #endif
} else { } else {
DAC1_C0 = DAC_C0_DACEN | DAC_C0_DACRFS; // 3.3V VDDA is DACREF_2 DAC1_C0 = DAC_C0_DACEN | DAC_C0_DACRFS; // 3.3V VDDA is DACREF_2
} }
if (val < 0) val = 0; // TODO: saturate instruction?
else if (val > 4095) val = 4095;
__asm__ ("usat %[value], #12, %[value]\n\t" : [value] "+r" (val));


*(volatile aliased_int16_t *)&(DAC1_DAT0L) = val; *(volatile aliased_int16_t *)&(DAC1_DAT0L) = val;
} }

Loading…
Annulla
Salva