Merhaba. Nasrettin hocanın hikayesini bilirsiniz, komşusu" hoca hiç kazan ölür mü" diye sorunca hoca: " doğduğuna inanıyorsun da öldüğüne neden inanmıyorsun" demiş. Sizinki de bu hesap;
PC'den en fazla 255 gönderebileceğinize inanıyorsunuz da , pic'ten long sayı alamadığınıza mı inanmıyorsunuz.
Sizin sıkıntı şurda; getch() 8 bit ile geri döner. [long gelen=0; gelen=getch(); gelen=gelen*10;] Bu anlamda "gelen" sabiti tutarsız görünüyor. Sayıları getch() ile almak sıkıntılı, bunun yerine PC'den göndereceğiniz sayıyı string şeklinde yollayın. Örneğin sayi="43529" gibi. Pic'ten alırken de;
char sayi[5];
int16 i;
gets(sayi); //sayi stringini bekler
i=atol(sayi); //stringi 16 bitlik sayıya dönüştürür, stdlib.h gerektirir.
printf(lcd_putc,"\f%Lu",i); // LCD de göstermek isterseniz.
Böyle basit şekilde 16 bitlik sayıları direkt gönderebilirsiniz..