10 Aralık 2019, 06:01:37

Haberler:

Picproje Facebook Sayfası:  https://bit.ly/2pUitll


Mikroc grafik lcd sorunu

Başlatan tekniker_murat, 25 Kasım 2019, 22:33:29

tekniker_murat

25 Kasım 2019, 22:33:29 Son düzenlenme: 25 Kasım 2019, 22:37:01 tekniker_murat
Değerli ustalarım sorun bitmiyor 😊

Aşağıda resimdeki kod ile ekrana yazı yazdırmak istiyorum yazıyor ama aynı yazıyı peş peşe yaziyor

Yani :murat deneme yazdırmak istiyorum ama o satır bitene kadar murat denememurat denememurat şeklinde yazıyor

Glcd kütüphane kısmında tıklı ama ne yaptiysam olmadi acaba ekranin kutuphanesi mi uyumsuz yada daha once karsilasan oldu mu




alone_lover

hocamresimde ne kod yazdığını anlamak için uğraşmamızı istemiyorsun değil mi

tekniker_murat

@alone_lover elbette ve kesinlikle haklısınız hocam... Sebebine gelince iş yerinde alel acele belki işime yarar bir cevap gelir diye telefondan yazdığımdan resim ekledim özür dilerim sonuna kadar haklısınız...


char GLCD_DataPort at PORTB
;

sbit GLCD_CS1 at RC6_bit//PİNDE BAĞLI OLAN CS1 İLE BURASI TERS OLACAK

sbit GLCD_CS2 at RD4_bit//PİNDE BAĞLI OLAN CS1 İLE BURASI TERS OLACAK

sbit GLCD_RS at RD5_bit;

sbit GLCD_RW at RD6_bit;

sbit GLCD_EN at RD7_bit;

sbit GLCD_RST at RD1_bit;

sbit GLCD_CS1_Direction at TRISC6_bit///PİNLERİ BURAYA UYUMLU BAĞLA !!!!!!!!!!!!!!!!!!!!!!!!!

sbit GLCD_CS2_Direction at TRISD4_bit/// PİNLERİ BURAYA UYUMLU BAĞLA !!!!!!!!!!!!!!!!!

sbit GLCD_RS_Direction at TRISD5_bit;

sbit GLCD_RW_Direction at TRISD6_bit;

sbit GLCD_EN_Direction at TRISD7_bit;

sbit GLCD_RST_Direction at TRISD1_bit;

char index;
char gelen[1400];

void main() {

adcon1=7;

trise=0;

porte=0;

trisa=0;

porta=0;

trisb=0;

portb=0;

index=0;

gelen[1400]=0;

porta.ra1=1;

delay_ms(500);

porta.ra1=0;

delay_ms(500);

porta.ra1=1;

delay_ms(500);

porta.ra1=0;

delay_ms(500);

porta.ra1=1;

delay_ms(500);

porta.ra1=0;

porta=0;

porte=0;

UART1_Init(9600); // Initialize UART module at 9600 bps

Delay_ms(100); // Wait for UART module to stabilize

UART1_Write_Text("Start");

UART1_Write(10);

UART1_Write(13);

Glcd_Init(); // Initialize GLCD

Glcd_Fill(0x00); // Clear GLCD

delay_ms(1500);
Glcd_Write_Text("MURAT DENEME",1,1,1);
while (
1){

if (
UART1_Data_Ready() == 1) {
porta.ra0=1;
UART1_Read_Text(gelen[1400], "$GPGGA"1400); // $gpgga gelene kadar bekle gelince uarttan gelen verileri   gelen[1400] ün içine sakla
porta.ra0=0;
}
}
}

Uğraşmakta olduğum kod parçası bunlar burada main programının içinde Glcd_Write_Text("MURAT DENEME",1,1,1); yazıyorum ve ekranda yukarıdaki resimde görüldüğü gibi çıkıyor...

Bir sürü örnek inceledim ama neredeyse her biri aynı bir tane farklı kod buldum ondaki fark ise sadece ekrana yazılacak yazının boyutlarını gösteren bir komut o da şu : Glcd_Set_Font(Character8x7, 8, 7, 32); help kısmını okuduğumda diyor ki  ( anladığım kadarı ile ) eğer bu kısımı belirtmezseniz var sayılan değerler ile yazar...


alone_lover

trise=0;

porte=0;

trisa=0;

porta=0;

trisb=0;

portb=0;


Şurdan son iki satırı silerek dener misin bir de?
Portb nin registerlarına müdahale etmeden yani...

alone_lover



Bir de  bu "page_num" parametresi ne işe yarıyor tam olarak? Neye göre belirliyosun onu?

tekniker_murat

Alıntı yapılan: alone_lover - 29 Kasım 2019, 00:52:14Bir de  bu "page_num" parametresi ne işe yarıyor tam olarak? Neye göre belirliyosun onu?

Page num derken ?

Ben onu kullanmadım ki ama sayfa numarası olabilir mi ?