
Сообщение от
Tronix
Насчет шумов - а ты сделал, как посоветовал Ramiros - то есть выставить BC1, BDIR = 0, после загнать на шину дату (чтоб она там уже была), потом выставить BC1 и BDIR как надо (в зависимости что пишем регистр или дату) и еще раз записать дату.
Ну вроде как у тебя в 79 посте описано в самом конце так и сделал:
Код:
void Reset()
{
Port->Control(CMD_RESET_STOP);
Port->Control(CMD_RESET_START);
Delay();
Port->Control(CMD_RESET_STOP);
}
void Write(uint_t reg, uint_t val)
{
Port->Control(CMD_SELECT_ADDR);
Port->Data(reg);
Port->Control(CMD_SELECT_DATA);
Port->Data(val);
Port->Control(CMD_WRITE_COMMIT);
}
Значения констант:
Код:
BOOST_STATIC_ASSERT(CMD_SELECT_ADDR == 0xfd);
BOOST_STATIC_ASSERT(CMD_SELECT_DATA == 0xf9);
BOOST_STATIC_ASSERT(CMD_WRITE_COMMIT == 0xfb);
BOOST_STATIC_ASSERT(CMD_RESET_START == 0xf5);
BOOST_STATIC_ASSERT(CMD_RESET_STOP == 0xfd);

Сообщение от
Tronix
С паузой/воспроизведением все хорошо. Но не очень со стопом. Например у меня выбран модуль, он играет. Я жму "СТОП". Потом жму "ПЛЭЙ" и он начинает не с 0 секунды, а с секунды 1 или даже 2 играть. При этом если щелкать мышкой два раза на этом же модуле по плейлисту, то начинает играть с 0 секунды.
Странно. А для обычного вывода (через карту) такое же поведение?