FerengiOrFoe
Member
WavFilePlayer - Problems with DAC on the 3.6
Hello All
I'm using Teensy 3.6 without the an audio adapter (just using DAC0) trying to run WavFilePlayer example but am encountering problems:
So as it is above all that happens is I get to monitor about a million serial messages a second saying "Playing SDTEST1.WAV" while I sit in silence.
If I enable the if (!(SD.begin(SDCARD_CS_PIN))) handler, the program does nothing i.e. no serial activity to monitor, not even the error message"Unable to access SD card".
When I run cardInfo, all is well...
Any advice?
Please excuse my blatant lack of wisdom on the subject.
Hello All
I'm using Teensy 3.6 without the an audio adapter (just using DAC0) trying to run WavFilePlayer example but am encountering problems:
Code:
// Simple WAV file player example
//
// Three types of output may be used, by configuring the code below.
//
// 1: Digital I2S - Normally used with the audio shield:
// http://www.pjrc.com/store/teensy3_audio.html
//
// 2: Digital S/PDIF - Connect pin 22 to a S/PDIF transmitter
// https://www.oshpark.com/shared_projects/KcDBKHta
//
// 3: Analog DAC - Connect the DAC pin to an amplified speaker
// http://www.pjrc.com/teensy/gui/?info=AudioOutputAnalog
//
// To configure the output type, first uncomment one of the three
// output objects. If not using the audio shield, comment out
// the sgtl5000_1 lines in setup(), so it does not wait forever
// trying to configure the SGTL5000 codec chip.
//
// The SD card may connect to different pins, depending on the
// hardware you are using. Uncomment or configure the SD card
// pins to match your hardware.
//
// Data files to put on your SD card can be downloaded here:
// http://www.pjrc.com/teensy/td_libs_AudioDataFiles.html
//
// This example code is in the public domain.
#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
AudioPlaySdWav playWav1;
// Use one of these 3 output types: Digital I2S, Digital S/PDIF, or Analog DAC
//AudioOutputI2S audioOutput;
//AudioOutputSPDIF audioOutput;
AudioOutputAnalog audioOutput;
AudioConnection patchCord1(playWav1, 0, audioOutput, 0);
AudioConnection patchCord2(playWav1, 1, audioOutput, 1);
//AudioControlSGTL5000 sgtl5000_1;
// Use these with the audio adaptor board
#define SDCARD_CS_PIN BUILTIN_SDCARD
//#define SDCARD_MOSI_PIN 7
//#define SDCARD_SCK_PIN 14
void setup() {
Serial.begin(9600);
// Audio connections require memory to work. For more
// detailed information, see the MemoryAndCpuUsage example
AudioMemory(8);
// SPI.setMOSI(SDCARD_MOSI_PIN);
// SPI.setSCK(SDCARD_SCK_PIN);
// if (!(SD.begin(SDCARD_CS_PIN))) {
//// // stop here, but print a message repetitively
// while(1){
// Serial.println("Unable to access the SD card");
// delay(500);
// }
// }
}
void playFile(const char *filename)
{
Serial.print("Playing file: ");
Serial.println(filename);
// Start playing the file. This sketch continues to
// run while the file plays.
playWav1.play(filename);
// A brief delay for the library read WAV info
delay(5);
// Simply wait for the file to finish playing.
while (playWav1.isPlaying()) {
}
}
void loop() {
playFile("SDTEST1.WAV"); // filenames are always uppercase 8.3 format
delay(500);
// playFile("SDTEST2.WAV");
// delay(500);
// playFile("SDTEST3.WAV");
// delay(500);
// playFile("SDTEST4.WAV");
// delay(1500);
}
So as it is above all that happens is I get to monitor about a million serial messages a second saying "Playing SDTEST1.WAV" while I sit in silence.
If I enable the if (!(SD.begin(SDCARD_CS_PIN))) handler, the program does nothing i.e. no serial activity to monitor, not even the error message"Unable to access SD card".
When I run cardInfo, all is well...
Any advice?
Please excuse my blatant lack of wisdom on the subject.
Last edited: