ccs ile 32 bit sayaç yapmada sorun yasıyorum

Başlatan zamzam23, 11 Ağustos 2010, 11:52:29

zamzam23

int32 aks;
int16 aks1,aks2;
int8 high1,high2,low1,low2;
--------------------------
aks (32 bit) sayısını eepromdan okuyup lcd de göstermek için kod asagıda
-------
high1=read_eeprom(20);
low1=read_eeprom(21);
high2=read_eeprom(22);
low2=read_eeprom(23);

aks1=make16(high1,low1);
aks2=make16(high2,low2);
aks=make32(aks1,aks2);
printf(lcd_putc,"%Lu",aks);
------------------------------
tusa bastıgımda aks ı 1 artırıp eeproma kayıt için kod asagıda
----
high1=read_eeprom(20);
low1=read_eeprom(21);
high2=read_eeprom(22);
low2=read_eeprom(23);

aks1=make16(high1,low1);
aks2=make16(high2,low2);
aks=make32(aks1,aks2);

aks=aks+1;

aks2=make16(aks,0);
aks1=make16(aks,1);
    high1=make8(aks1,1);
    low1=make8(aks1,0);
    high2=make8(aks2,1);
    low2=make8(aks2,0);

    write_eeprom(20,high1);
    write_eeprom(21,low1);
    write_eeprom(22,high2);
    write_eeprom(23,low2);
------------------------
arkadaslar bu kodu çalıstıramadım 1,2,3 diye artması gerekırken olmuyor. yardım eder mısınız?

fahri-

değişkeni neden parçalıyorsun???

int32 aks;

aks=read_int32_eeprom(0); // 0 adresinden oku
if (tus_basili) aks=aks+1;
write_int32_eeprom(0,aks);


//daha kolay değil mi?

zamzam23

read_int32_eeprom
böyle bır komut oldugunu bilmiyordum. tesekkurler.