ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
1 июля
318680 Топик полностью
Cepгeй Бopщ (29.03.2012 12:52, просмотров: 115) ответил FDA на С этим тоже разобрался! Просто немного запутался с битами control byte. Теперь всё работает!
Да, наверное мне стоило добавить в первое сообщение кроме инициализации еще и немного вывода: void st7548_t::refresh() { if(!PoweredOn) power_on(); // update LCD area for(y_t y_cnt = Buffer.Update.Bottom; y_cnt < Buffer.Update.Top; ++y_cnt ) { uint8_t SetCursorCmd[2]; SetCursorCmd[0] = SET_Y | y_cnt; SetCursorCmd[1] = SET_X | Buffer.Update.Left; if(!I2C.write(CMD_TILL_STOP, SetCursorCmd, sizeof(SetCursorCmd))) return; if(!I2C.write(DATA_TILL_STOP, &Buffer.Data[y_cnt][Buffer.Update.Left], Buffer.Update.Right - Buffer.Update.Left)) return; } Buffer.Update.Left = SIZE_X; Buffer.Update.Right = 0; Buffer.Update.Bottom = SIZE_Y; Buffer.Update.Top = 0; }