Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2015
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.11 KB | None | 0 0
  1.  
  2. void board_setFS(uint8_t fs)
  3. {
  4.     //cli();
  5.     uint16_t ratio = 0;
  6.    
  7.     RST_CS_PORT &= ~(1<<RST_CS_PIN); //CS8416 power down
  8.     AD_RST_PORT &= ~(1<<AD_RST_PIN); //reset AD
  9.     _delay_ms(50);
  10.     switch(fs)
  11.     {
  12.         case 0b010: //44.1
  13.             set_mck(0);
  14.             set_pdur(1);
  15.             ratio = 0;
  16.         break;
  17.        
  18.         case 0b000:
  19.             set_mck(1);
  20.             set_pdur(1);
  21.             ratio = 0;
  22.         break;
  23.        
  24.         case 0b110:
  25.             set_mck(0);
  26.             set_pdur(1);
  27.             ratio = 1;
  28.         break;
  29.        
  30.         case 0b100:
  31.             set_mck(1);
  32.             set_pdur(1);
  33.             ratio = 1;
  34.         break;
  35.        
  36.         case 0b011:
  37.             set_mck(0);
  38.             set_pdur(0);
  39.             ratio = 2;
  40.         break;
  41.            
  42.         case 0b001: //192
  43.             set_mck(1);
  44.             set_pdur(0);
  45.             ratio = 2;
  46.         break;
  47.     }
  48.    
  49.     _delay_ms(50);
  50.     RST_CS_PORT |= (1<<RST_CS_PIN); //CS8416 power up
  51.     AD_RST_PORT |= (1<<AD_RST_PIN);
  52.        
  53.     //nastavení AD1955 přes SPI
  54.    
  55.     ratio = (ratio << 8);
  56.    
  57.     spi_send(0x201, RIGHT);
  58.     _delay_ms(1);
  59.     spi_send((ratio | 0xC00), RIGHT);
  60.     _delay_ms(1);
  61.     spi_send(0x201, LEFT); //see datasheet of the AD1955
  62.     _delay_ms(1);
  63.     spi_send((ratio | 0x800), LEFT);
  64.    
  65.     _delay_ms(50);
  66.     RE_MUTE_PORT |= (1<<RE_MUTE_PIN);
  67.     _delay_ms(10);
  68.     //sei();
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement