Hallo, Leute! Immer für mein Projekt, mit dem ich seit lange euch nerve... Ich weiß nicht, ob ich was falsches mache, oder ob einfach der VS1011e "mülltonnenbereit" ist Wenn ich den Wecker einschalte, lese ich die Lautstärke von einer Konfigurationsdatei auf der SD-Karte und schicke den Wert dem VS1011e. Nur sehr selten ist diese Lautstärke richtig. Fast immer ist es entweder zu laut oder zu leise. Auch wenn ich später die Lautstärke ändern, der Wert X ist fast nie die gleiche Lautstärke. Auf gutem Deutsch: es gibt keine echte Korrespondenz zwischen den Wert, den ich dem VS1011e schicke, und die Lautstärke des Signals, das vom Lautsprecher kommt. Zweites Problem: das Signal kommt NUR von einem Kanal, manchmal der rechte, manchmal der linke. Eine Änderung der Lautstärke hat oft als Folge, daß das Signal von dem anderen Kanal zu hören ist (aber nicht mehr von dem vorigen). Ich bezweifel, daß ich was falsches vom Programm mache, denn ich die Lautstärke nur so ändern:
1 | vsClearChipSelect(); |
2 | _delay_ms(10); |
3 | spiWriteByte(VS1001_WRITE); |
4 | _delay_ms(10); |
5 | spiWriteByte(SCIREGISTER_VOLUME); |
6 | _delay_ms(10); |
7 | spiWriteByte(volume); |
8 | _delay_ms(10); |
9 | spiWriteByte(volume); |
10 | _delay_ms(10); |
11 | vsSetChipSelect(); |
12 | _delay_ms(100); |
volume ist ein uint8_t und SCIREGISTER_VOLUME ist 0x0B. Alles wie in der Dokumentation geschrieben. Eure Meinung? Danke Luca Bertoncello