Ребят помогите пожалуйста, имеется индикатор WG16080A и ATMega8535, скачал библиотеку для контроллеров индикаторов LC7981
http://www.frozeneskimo.com/electronics ... msung-lcd/Пробую запустить тот пример, что приведен в библиотеки, только без функции draw_peguin()
В результате получаю, что весь экран полностью закрашен (то есть все пикселы темные (горят)).
Подключение проверил (несколько раз) вроде все правильно.
Код:
#include "oscope.h"
#include "lc7981.h"
#include "graphics.h"
int main(void)
{
lcd_graphics_init();
lcd_graphics_clear();
g_draw_rectangle(6, 5, 100, 30);
g_draw_rectangle(8, 7, 100, 30);
g_draw_rectangle(10, 9, 100, 30);
g_draw_rectangle(12, 11, 100, 30);
g_draw_string(17, 15, "Graphics Demo!\nHello World!");
g_draw_string(22, 44, "!\"#$%&'=\n()*+,-./\n:;<>?@\[\n]^_`|{}");
while (1);
return 0;
}
Да и еще добавил пару строчек, кода при инициализации в функцию lcd_graphics_init, чтобы управлять пинами CS, DISP OFF, RESET
Код:
LCD_CTRL_DDR |= (1<<LCD_CTRL_CS)|(1<<LCD_CTRL_DISP)|(1<<LCD_CTRL_RST);
lcd_cs_low();
lcd_disp_high();
lcd_rst_low();
_delay_ms(50);
lcd_rst_high();
_delay_ms(50);
Макросы в lc7981.h:
Код:
#define lcd_cs_high() (LCD_CTRL_PORT |= (1<<LCD_CTRL_CS))
#define lcd_cs_low() (LCD_CTRL_PORT &= ~(1<<LCD_CTRL_CS))
#define lcd_disp_high() (LCD_CTRL_PORT |= (1<<LCD_CTRL_DISP))
#define lcd_disp_low() (LCD_CTRL_PORT &= ~(1<<LCD_CTRL_DISP))
#define lcd_rst_high() (LCD_CTRL_PORT |= (1<<LCD_CTRL_RST))
#define lcd_rst_low() (LCD_CTRL_PORT &= ~(1<<LCD_CTRL_RST))
И последнее: пробывл с различными реализациями lcd_wait_busy в lc7981.c