ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
149319 Топик полностью
Argon (25.02.2009 19:52, просмотров: 271) ответил yakuzaa на ну тогда фрагмент софтверной инициализации можно посмотреть?
Ну если это поможет...   void VS1033_Init(void) { SPI_Enable(0); //0 указывает на инициализацию медленного SPI FIOMASK &= ~(BIT10 | BIT12 | BIT15 | BIT22); FIODIR |= BIT22; //XDS FIODIR |= BIT10; //xRESET FIODIR |= BIT12; //xDCS/XDCS FIODIR &= ~BIT15; //DREQ VS1033_Reset(); VS_XDCS_HIGH(); //Устанавливаем и больше нигде не трогаем, т.к. будет SM_SDISHARED = 1 VS1033_XCS_HIGH(); General_Delay.Wait(2); //по докам после сброса д.б. 20000 клоков (для худшего случая, 12 Мгц это вроде 1.(6) мсек) SCI_Write(SCI_VOL, 0xffff); //аналоговый шатдаун //SCI_Write(SCI_VOL, 0x0000); //аналоговый антишатдаун (чтобы быстрее зарядились кондеры для минимальногов времени щелчка) /* if(VS1033_ClockF&0x7ff >= 4000) //говорит о том, что частота кварца > 24 МГц SCI_MODE_Content = SM_CLK_RANGE | SM_SDINEW | SM_SDISHARE | SM_LAYER12; else SCI_MODE_Content = SM_SDINEW | SM_SDISHARE | SM_LAYER12; */ //SCI_MODE_Content = SM_SDINEW | SM_SDISHARE | SM_LAYER12; // это только для кварца <= 13 МГц //SCI_Write(SCI_MODE, SCI_MODE_Content); // это только для кварца <= 13 МГц SCI_Write(SCI_MODE, SM_SDINEW | SM_SDISHARE | SM_LAYER12); // это только для кварца <= 13 МГц SCI_Write(SCI_CLOCKF, VS1033_ClockF); General_Delay.Wait(2); //по докам после установки д.б. 11000 клоков SCI_Write(SCI_BASS, 0x7a00); SPI_Enable(VS1033_ClockF); //инициализация с требуемой частотой SCK return; }