- 3 March 2009
- 4,041
Ξεκινώ πάλι τις δοκιμές δίχως την μετακίνηση του bit, γιατί παρατηρώντας το πινακάκι, αυτό μας λέει ότι μας ενδιαφέρει το byte3 και οι θέσεις bit 0,1,2,3 δηλ. <4 και όχι μεγαλύτερο του 3 που έδινα.
Αναμείνατε...
--- Αυτόματη συγχώνευση μηνύματος ---
Δοκιμή με reg16 & reg17 ως ακολούθως
if (input > 1) {
uint8_t INTSTAT = ReadRegister(wm8805, 11); // poll (and clear) interrupt register;
//uint8_t SPDSTAT = ReadRegister(wm8805, 12);
//uint8_t RXCHAN4 = ReadRegister(wm8805, 16);
uint8_t RXCHAN4 = ReadRegister(wm8805, 17);
//uint8_t SpdifSampleRate2 = SpdifReadSampleRate();
// uint8_t SpdifSampleRate = (SPDSTAT >> 4) & 0x07;
//uint8_t SpdifSampleRate2 =(RXCHAN4 << 4) & 0x07;
uint8_t SpdifSampleRate2 = RXCHAN4;
if (INTSTAT != 0 || SpdifSampleRate2 != SpdifSampleRateOld) {
// If something has changed do a screen refresh.
Serial.print("INTSTAT:");Serial.println(INTSTAT,HEX);
//Serial.print("SPDSTAT:");Serial.println(SPDSTAT,HEX);
Serial.print("Spdif Sample rate:");Serial.println(SpdifSampleRate2,HEX);
Serial.print("Spdif Sample rate:");Serial.println(RXCHAN4,HEX);
switch (SpdifSampleRate2) {
case 0:
...
Συνεχίζει να δίνει ως τιμή μόνο την τιμή 0 (case 0)
πάω με την πρόταση του ΔημΔημ...
--- Αυτόματη συγχώνευση μηνύματος ---
Τζίφος και πάλι!
Αναμείνατε...
--- Αυτόματη συγχώνευση μηνύματος ---
Δοκιμή με reg16 & reg17 ως ακολούθως
if (input > 1) {
uint8_t INTSTAT = ReadRegister(wm8805, 11); // poll (and clear) interrupt register;
//uint8_t SPDSTAT = ReadRegister(wm8805, 12);
//uint8_t RXCHAN4 = ReadRegister(wm8805, 16);
uint8_t RXCHAN4 = ReadRegister(wm8805, 17);
//uint8_t SpdifSampleRate2 = SpdifReadSampleRate();
// uint8_t SpdifSampleRate = (SPDSTAT >> 4) & 0x07;
//uint8_t SpdifSampleRate2 =(RXCHAN4 << 4) & 0x07;
uint8_t SpdifSampleRate2 = RXCHAN4;
if (INTSTAT != 0 || SpdifSampleRate2 != SpdifSampleRateOld) {
// If something has changed do a screen refresh.
Serial.print("INTSTAT:");Serial.println(INTSTAT,HEX);
//Serial.print("SPDSTAT:");Serial.println(SPDSTAT,HEX);
Serial.print("Spdif Sample rate:");Serial.println(SpdifSampleRate2,HEX);
Serial.print("Spdif Sample rate:");Serial.println(RXCHAN4,HEX);
switch (SpdifSampleRate2) {
case 0:
...
Συνεχίζει να δίνει ως τιμή μόνο την τιμή 0 (case 0)
πάω με την πρόταση του ΔημΔημ...
--- Αυτόματη συγχώνευση μηνύματος ---
Τζίφος και πάλι!