GLCD 실행하기 질문입니다.
페이지 정보
작성자 전자학습자 작성일20-04-23 11:48 조회18,015회 댓글2건본문
안녕하세요. 책보면서 예제대로 그대로 했는데 동작이 잘되지않아 질문드리려고합니다.
글로 장황하게 쓰면 전달이 잘안될것같아 그림으로 편집을 했는데
사진이 너무커서 확대를 해서 봐야할거같습니다..
문제는 화면에 글씨가 나타나지않는것입니다.
알아보다보니 제가 참고하고있는 책은 KS0108 드라이버 칩이 적용된 제품으로 했다고합니다.
그래서 제가 구매한 제품이 무슨 드라이버인지 구매처에 문의했지만 알려줄수없다는 답변만 받았습니다..
제가 무언가 실수한건지 드라이버의 문제인지 궁금합니다.
u8g 라이브러리는 https://code.google.com/archive/p/u8glib/ 에서 for AVR 버젼으로 다운로드하였습니다.
http://www.devicemart.co.kr/goods/view?no=12500013 구매한 GLCD 링크입니다
--사용 코드--
#define F_CPU 16000000L
#include <avr/io.h>
#include "u8g.h"
u8g_t u8g;
void u8g_setup(void)
{
u8g_Init8Bit(&u8g, &u8g_dev_ks0108_128x64, PN(5,0), PN(5,1), PN(5,2), PN(5,3), PN(5,4), PN(5,5), PN(5,6), PN(5,7),
PN(1,7), PN(6,3), PN(6,4), PN(1,5), PN(1,6), U8G_PIN_NONE); // ATMEGA 사용한 핀이 PE0~7번 , PG3,4,PB5~7 사용
}
void draw(void)
{
u8g_SetFont(&u8g, u8g_font_6x10);
u8g_DrawStr(&u8g, 0, 15, "HEllo Graphic LCD!");
}
int main(void)
{
u8g_setup();
/* Replace with your application code */
while (1)
{
u8g_FirstPage(&u8g);
do{
draw();
}while(u8g_NextPage(&u8g));
u8g_Delay(100);
}
return 0;
}
댓글 : 2
조회수 : 18,015
전자학습자님의 댓글
전자학습자 작성일
드라이버가 ST7920 일거라는 도움을 받아서
코딩에ks0108부분을 st7920으로 변경하니까 글씨가 나타났습니다.
그런데 저항을 끝까지 다돌려도 글씨가 흐리멍텅하면서 약간 깜빡거리는 이상한 상황이 생겼습니다.
master님의 댓글
master 작성일
LED 백라이트는 보통 2 종류가 있습니다.
LCD 내부에 저항등의 회로가 있는 경우에는 5V를 연결해도 되지만
그렇지 않은 LCD는 4.2V를 공급해야하므로
15옴 정도의 저항이나 정류 다이오드를 사용해서 과전류가 흐르지 않도록 제한하고 있습니다.
전원장치의 전류 부족으로 전압강하가 발생하는 것은 아닌지 체크해보세요