Hirdetés

!! SZERVERLEÁLLÁS, ADATVESZTÉS INFORMÁCIÓK !!
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!

Új hozzászólás Aktív témák

  • weiss

    addikt

    válasz Tankblock #9190 üzenetére

    #include "xtensa/core-macros.h"
    #include "sound.h"

    #define DAC_PIN 25

    void setup()
    {
    Serial.begin(115200);
    pinMode(DAC_PIN, OUTPUT);
    }

    void loop()
    {
    int start = micros();
    play_music();
    int stop = micros();
    Serial.println(stop - start);

    delay(1000);
    Serial.println(".");
    }

    void play_music()
    {
    uint32_t wait_start = 0;
    uint32_t num_tick_to_wait = F_CPU / SAMPLE_RATE;

    for(int i = 0; i < NUM_SOUND_SAMPLES; i++)
    {
    wait_start = xthal_get_ccount();
    dacWrite(DAC_PIN, sound_samples[i] + 128);

    while((xthal_get_ccount() - wait_start) < (num_tick_to_wait - 86))
    {
    NOP();
    }
    }
    }

    A micros() helyett próbáltam xthal_get_ccount()-ot használni, de az sem volt konstans. Próbáltam kikommentelni a dacWrite-ot is, de az sem segített. Már csak arra tudok gondolni, hogy az Arduino fordít valami dinamikus cuccot oda.

Új hozzászólás Aktív témák