vic1850 0 13 августа, 2015 Опубликовано 13 августа, 2015 · Жалоба Не могу запустить wex0128064E. Документация на него очень скудная. В частности совершенно не понятно как работать с сигналом DISP, на сколько я понимаю это включение дисплея, но после подачи на него 0 или 1 ничего не происходит. Подключаю дисплей к STM32L151 через GPIO. Буду благодарен любой помощи, ссылки на подробную документацию или листинги кода хотя-бы по принципу: RES=0 delay_us(1) RES=1 DC=1 CS=0 delay_us(10) ..... CS=1 и тд Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gte 6 13 августа, 2015 Опубликовано 13 августа, 2015 · Жалоба Не могу запустить wex0128064E. wex012864elpp3n10000 запустился с нижеследующим кодом на основе примера для контроллера дисплея. После инициализации включение дисплея сигналом DISP. /******************************************************************************* * Начальная инициализация дисплея * * void Ssd1305_Reset * *******************************************************************************/ void Ssd1305_Reset(void) { Ssd1305_RES_ON; _delay_ms(100); // задержка на 100 мсек Ssd1305_RES_OFF; // Производим сброс установкой нуля на выводе /RES, _delay_100_us(); // 14 вывод ЖКИ, RES удерживаетя не менее 3 мксек Ssd1305_RES_ON; _delay_100_us(); // После сброса ожидание не менее 3 мксек /*Display off*/ Write_Cmd_1305(0xAE); // Команда выключения дисплея Write_Cmd_1305(0x20); // Set Memory Addressing Mode Write_Cmd_1305(ADDR_MODE); // Page Addressing Mode Home_Addr(); // На начало ОЗУ экрана // Write_Cmd_1305(0x21); // Display Column Address // Write_Cmd_1305(0x00); // // Write_Cmd_1305(0x83); // // Write_Cmd_1305(0x22); // Display Page Address // Write_Cmd_1305(0x00); // // Write_Cmd_1305(0x07); // Write_Cmd_1305(0x81); // Set contrast Control for BANK0 Write_Cmd_1305(0x3F); // Write_Cmd_1305(0x40); // Set Display Start line #if (DISP_ORIENTATION == 0) // Set Display Segment Re_map mode Write_Cmd_1305(0xA0); #elif (DISP_ORIENTATION == 180) Write_Cmd_1305(0xA1); //Set Segment Re-map =>0xa0:column addr. 0 is mapped to SEG0 #endif Write_Cmd_1305(0xA4); //Entire Display On =>0xa4:resume to RAM content display Write_Cmd_1305(0xA6); //Set Normal/Inverse Display =>0xa6:Normal,0xa7:inverse /*Display Multiplex Ratio*/ Write_Cmd_1305(0xA8); // Display Multiplex Ratio Write_Cmd_1305(0x3F); // от 16 до 63 (0x3F) /*Display Internal DCDC Disable*/ //////////// Нет в этой верии #if (DISP_ORIENTATION == 0) //Set Display COM Output Scan Direction Write_Cmd_1305(0xC8); //0xc8);//Set COM Output Scan Direction =>0xc0:scan from COM0 to COM63, 0xc8:scan from #elif (DISP_ORIENTATION == 180) Write_Cmd_1305(0xC0); // #endif /*Display Page start Address of page mode*/ Write_Cmd_1305(0xB0); // DeviceWrite(0xB0); Write_Cmd_1305(0xD3); // Set Display Offset Write_Cmd_1305(0x00); // no vertical offset /*Display Frame Frequence*/ Write_Cmd_1305(0xD5); // DeviceWrite(0xD5); Write_Cmd_1305(0x70); // или (0x51); Write_Cmd_1305(0xD8); // Set Area Color Mode ON/OFF & Low Power Display Mode Write_Cmd_1305(0x00); // Monochrome Mode // 0x05:monochrome mode and low power display mode Write_Cmd_1305(0xD9); // Display Pre_charge period Write_Cmd_1305(0xF1); // /*Display COM Configuration*/ Write_Cmd_1305(0xDA); // COM Pin Configuration Write_Cmd_1305(0x12); // Write_Cmd_1305(0xDB); // Set VComh Deselect Level Write_Cmd_1305(0x34); // Write_Cmd_1305(0x2E); // deactivate scroll Write_Cmd_1305(0xAF); //Display ON - команда включения дисплея _delay_ms(200); // задержка на 200 мсек (После команды включения дисплея // ожидание не менее 100 мсек) } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться