Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: VS1033 и AT45DB041 не работает
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Ivan Kuznetzov
Отправляю с помощью меги128 поток из AT45DB041 в VS1033 - последняя молчит...

P.S.
Раньше с VS1011 все работало... Где грабли?
Ivan Kuznetzov
Чуть не забыл: датафлеш и VS1033 сидят на одной SPI, CS, естественно разные.

Косяк я все-таки решил вот как:
1) Читаю из датафлешки страницу в 264 байта и пишу ее в массив
2) Шлю массив в VS1033, через каждые 33 байта проверяю DREQ - пашет отлично!

Код
extern unsigned char Buff[264];


void Voiceout(unsigned int Startpage, unsigned int Endpage)
{
unsigned int Page_mem, temp;

vs_write(VS_MODE,0x0804);
vs_setvolume(15);

for (Page_mem = Startpage; Page_mem<Endpage;Page_mem++)
{
    ENABLE_DF();
    delay_us(1);

    SPI(MAIN_MEMORY_PAGE_READ2);                 //command Current_page_read
        
    SPI(Page_mem>>7);
    SPI(Page_mem<<1);
    SPI(0x00);

    SPI(0x00);                          // write don't care byte
    SPI(0x00);                          // write don't care byte
    SPI(0x00);                          // start at buffer address 0
    SPI(0x00);                          // write don't care byte

    for (temp=0;temp<264;temp++) Buff[temp]=SPI(0xFF);
  
    DISABLE_DF();
    
    for(temp=0;temp<sizeof(Buff);temp+=33) // пересчет байт по сектору
    {
    while (!(DREQ));                            
    vs_stream(&Buff[temp],33); // если не подошли к концу файла то выведем (отдадим) байт
    }
}
  
delay_ms(100);
vs_setvolume(vol_ee);
}


Вопрос к спецам - можно ли обойтись без буфера в 264 байта? - а то памяти жалко ((
Григорий2000
Уважаемый! Извини может не в тему... тут мало отвечающих по этой группе м/сх(может коммерческие тайны и т.п.)
Не подскажешь ты не регулировал громкость "на лету" во время воспроизведения? Со звуком все впорядке?
По твоему вопросу не отвечу, поскольку сам на vs1011 сижу(или она на мне...)
Ivan Kuznetzov
Цитата(Григорий2000 @ May 21 2009, 13:39) *
Уважаемый! Извини может не в тему... тут мало отвечающих по этой группе м/сх(может коммерческие тайны и т.п.)
Не подскажешь ты не регулировал громкость "на лету" во время воспроизведения? Со звуком все впорядке?
По твоему вопросу не отвечу, поскольку сам на vs1011 сижу(или она на мне...)

Громкостьу меня, конечно же, регулируется плавно, "на лету", без рывков в звуке (иначе что это за плеер был бы) - это было сделано еще во времена vs1001, с новыми м/c тоже хорошо работает.
Регулиорвать ее надо в перерывах между отправкой 512-и байт звукового потока в vs-ку
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.