Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

hexadesimal saydırma

Başlatan tufican, 11 Mart 2011, 16:01:52

tufican

selam arkadaslar elimde şoyle bir kod var

bildiginiz gibi bu kod i degerini arttırdıkça sırayla bu dosyaları 10 tane sayıyor  peki aynı bu mantıkla ben 0x00h dan başlayarak 0xFF e kadar bunu nasıl saydırabilirim buffer satırının sürekli degişmesi gerekiyor mantık olarak teşekkürler

void write_7_segmentt(int valuee) {
    const int lcd_seg[10]={0x40,0x79,0x24,0x30,0x19,
                           0x12,0x02,0x78,0x00,0x10};


buffer[2]=lcd_seg[valuee];



 while(TRUE) {     
        write_7_segmentt(i);
        delay_ms(700);
        if (i==10)
        i=0;
      
        }


[code/]
insanın gerçekten isteyipte yapamıcağı bişey oldugunu düşünmüyorum

fahri-

i=0 dan başlayıp i=255 e kadar yaparsanız dediğiniz olur

tufican

cok teşekkürler aslında cevabı bende biliyordum ama denemek gerekiyormuş otomatik olarak hex e donüşcegini tahmin etmemiştim :D tembelligimden otürü ozür diler emeginize duydugum saygıyı belirtmeyi borç bilirim :)
insanın gerçekten isteyipte yapamıcağı bişey oldugunu düşünmüyorum

tufican

yeni kodun tamamını yazıyorum pic 18 ile can bus hattını sürekli saydırmaya yarıyor ornek kodlar işinize yarayabilir program bu haliyle çalışıyor
400h adresinden  8 byte ilk 3 byte ini saydırıyor programımız :)))

#include <18F4580.h>
#fuses HS,NOPROTECT,NOLVP,NOWDT
#use delay(clock=20000000)
#include <can-18xxx8.c>

#define WRITE_REGISTER_D_ID  0x400

void write_7_segment(int i,a,b) {
   
    
    int buffer[3];

    buffer[0]=b;      //addr of gplat
    buffer[1]=a;      //mask
    buffer[2]=i;
  
    can_putd(WRITE_REGISTER_D_ID, buffer, 3, 1, TRUE, FALSE);
}





void main() {
   int i=0;
   int a=0;

   can_init();

   can_putd(0x100,0,0,1,TRUE,FALSE);  //send an on-bus message to wake up mcp250x0's
   delay_ms(1000);                    //wait for node c to power-up

   while(TRUE) {
          write_7_segment(i,a);
        
        delay_ms(50);
        if (i==255)
        {i=0;
        a++;
        }
        
        if (a==255)
        {a=0;
        b++;
        }
        i++;
             
         }
   
}
[code/]
insanın gerçekten isteyipte yapamıcağı bişey oldugunu düşünmüyorum