Şimdi Ara

18f2550 konfigürasyon bitleri

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
8
Cevap
0
Favori
1.985
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaşlar, elimde bir tane brenner8 pic progarmlayıcı vardı ancak firmware güncellemesi sırasında brenner8'in içinde var olan 18f2550'nin programının silinmesine sebep oldum. Şimdi 18f2550 yi tekrar programlamak için delab'dan aldığım d128 progamlayıcı kullanıyorum. Programlamada problem yok ancak konfigürasyon bitlerini bir türlü ayarlayamadım. Hatta kendi yazdığım basit bir C kodunu bile pic e atarken konfigürasyon bitlerini ayarlayamıyorum. Malum 18f2550'te ayarlanacak çok şey var. Yardım ederseniz sevinirim. Yazdığım deneme programı aşağıdadır. Acaba bu program için konfigürasyon bitlerini nasıl ayarlamalıyım.

    konfigürasyon ekranının görünüşü de budur arkadaşlar.
     18f2550 konfigürasyon bitleri



    #include "C:\Users\mertdogar\Desktop\osc\code3\main.h" 


    void main()
    {

    setup_adc_ports(NO_ANALOGS|VSS_VDD);
    setup_adc(ADC_OFF);
    setup_spi(SPI_SS_DISABLED);
    setup_wdt(WDT_OFF);
    setup_timer_0(RTCC_INTERNAL);
    setup_timer_1(T1_DISABLED);
    setup_timer_2(T2_DISABLED,0,1);
    setup_comparator(NC_NC_NC_NC);
    setup_vref(FALSE);

    //Setup_Oscillator parameter not selected from Intr Oscillotar Config tab

    set_tris_a(0);

    for(;;)
    {
    output_high(pin_a0);
    delay_ms(1000);
    output_low(pin_a0);
    delay_ms(1000);


    }
    // TODO: USER CODE!!

    }



    ilgilenenlere çok teşekkür ederim...



    < Bu mesaj bu kişi tarafından değiştirildi trash_ -- 5 Şubat 2008; 21:33:23 >







  • Sorunu tam olarak anlayamadım.Senin bir programlayıcın vardı ve güncellerken içindeki kodu bozdun.Sonra yeni bir programlayıcı aldın ve bununla eski bozduğun programlayıcıya eski kodu tekrar yüklemek istiyorsun ama hangi seçenekleri dahil edeceğini bilmiyorsun.Eğer durum böyleyse o seçenekler zaten koda dahil edilmiştir.

    Yazdığın koddaki ayarlarıda o şekilde yapma. programın başında #fuses xxxx diye yaz.Zaten yazdığın kod biraz alakasız olmuş birşey anlamadım.



    < Bu mesaj bu kişi tarafından değiştirildi AdreNaline® -- 5 Şubat 2008; 22:11:11 >
  • Brenner8'e USBurn ile yanlış bir yazılım atsan dahi sorun yok. Bootloader halen yerindedir ! Kart üzerindeki bootloader pinlerini kısa devre ederek bilgisayara takınca dahili PIC'e doğru yazılımı atabilirsin. Başka bir deyişle Brenner8'i kendi programıyla tam manasıyla bozmak oldukça zordur.

    Bozdun diyelim, orjinal HEX'in config fuseları zaten ayarlıdır. Programa gösterdiğinde otomatik olarak düzenlenecektir.
  • quote:

    Orjinalden alıntı: AdreNaline®

    Sorunu tam olarak anlayamadım.Senin bir programlayıcın vardı ve güncellerken içindeki kodu bozdun.Sonra yeni bir programlayıcı aldın ve bununla eski bozduğun programlayıcıya eski kodu tekrar yüklemek istiyorsun ama hangi seçenekleri dahil edeceğini bilmiyorsun.Eğer durum böyleyse o seçenekler zaten koda dahil edilmiştir.

    Yazdığın koddaki ayarlarıda o şekilde yapma. programın başında #fuses xxxx diye yaz.Zaten yazdığın kod biraz alakasız olmuş birşey anlamadım.





    aslında verdiğin cevap ilk sorum içindi teşekkürler. ama bir sorum daha var. ben açıkçası 18f2550 nin konfigürasyon ayarlarını pek anlayamadım. yukarıda örnek olarak basit bir program var. acaba onun için nasıl bir konfigürasyon seçeneği denemliyim. (programlamada kullandığım programda bazı hatalar olduğu için konfigürasyon ayarlarını otomatik yapmıyor ve malesef başka bir programlayıcı da kullanamıyorum)

    bu arada hazar bey size de bir sorum olacak acaba brennerda dediğiniz işi yapabilmem için daha ayrıntılı bilgi verebilir misiniz?




  • Eğer senin elinde programlayıcının işlemcisine yüklemek istediğin hex dosyası varsa bunu yüklediğin programda (örneğin winpic)açarsan zaten bahsettiğin seçenekler otomatik olarak ayarlanır.Benim elimdeki programlayıcı o değil ama en azından öyle olacağını umuyorum.

    Kod a gelince;
    örneğin kodunun kopyalanmasını önlemek istiyorsun,wdtimer ı devredışı bırakmak istiyorsun ,osilatör olarak kristal kullanıyorsun.O halde kodun başına şu şekilde yazman lazım. #fuses PROTECT,NOWDT,XT .Bunları yazman makina kodunun içerisine bu seçeneklerin dahil edilmesini sağlar.Sonradan yükleyici programından bunları tek tek ayarlamana gerek yok.Makine kodunu(HEX) yükleyicide açtığında seçeneklerin yükleyici programda otomatik olarak seçildiğini görürsün.

    setup_timer_x(xxx) , setup_adc_ports(NO_ANALOGS|VSS_VDD) ... bu şekilde yazdığın satırlar çalışan mikrodenetleyicinin içindeki ek donanımları ayarlamana,çalıştırmana veya durdurmana yarar.Örneğin sayıcılara değer yükleyebilirsin önbölücülerini ayarlayabilirsin dahili - harici darbelermi sayılacak ayarlayabilirsin.ADC işlemleri için portları analog veya dijital kurabilirsin referans pinlerini belirleyebilirsin gibi.Bu tür ayarları düşündüğün yerde bulamassın.Bunlar çalışma esnasında ayarlanır.
    Umarım anlatabilmişimdir.




  • quote:

    Orjinalden alıntı: AdreNaline®

    Eğer senin elinde programlayıcının işlemcisine yüklemek istediğin hex dosyası varsa bunu yüklediğin programda (örneğin winpic)açarsan zaten bahsettiğin seçenekler otomatik olarak ayarlanır.Benim elimdeki programlayıcı o değil ama en azından öyle olacağını umuyorum.

    Kod a gelince;
    örneğin kodunun kopyalanmasını önlemek istiyorsun,wdtimer ı devredışı bırakmak istiyorsun ,osilatör olarak kristal kullanıyorsun.O halde kodun başına şu şekilde yazman lazım. #fuses PROTECT,NOWDT,XT .Bunları yazman makina kodunun içerisine bu seçeneklerin dahil edilmesini sağlar.Sonradan yükleyici programından bunları tek tek ayarlamana gerek yok.Makine kodunu(HEX) yükleyicide açtığında seçeneklerin yükleyici programda otomatik olarak seçildiğini görürsün.

    setup_timer_x(xxx) , setup_adc_ports(NO_ANALOGS|VSS_VDD) ... bu şekilde yazdığın satırlar çalışan mikrodenetleyicinin içindeki ek donanımları ayarlamana,çalıştırmana veya durdurmana yarar.Örneğin sayıcılara değer yükleyebilirsin önbölücülerini ayarlayabilirsin dahili - harici darbelermi sayılacak ayarlayabilirsin.ADC işlemleri için portları analog veya dijital kurabilirsin referans pinlerini belirleyebilirsin gibi.Bu tür ayarları düşündüğün yerde bulamassın.Bunlar çalışma esnasında ayarlanır.
    Umarım anlatabilmişimdir.



    ben bunları biliyorum. CCS ile 16f877 yi programlıyordum. 16f84 de ullandım ancak 18f2550 nin configleri çok fazla ve farklı. datasheet ini biraz okudum. pek çok osilatçr konfigürasyonu var. mesela kendi içinde 6mhz ye kadar çıkabilen bir osilatörü bile var. ayrıca hem usb için hem işlemci için ayrı ayrı osilatörler kullanabiliyorsunuz. Benim kullandığım windows programı (delab'ın vermiş olduğu program) config ayarlarını yanlış alıyor. Bunu kendilerine de sordum, el ile ayarlaman gerekli dediler. İşte ben de tam bu noktada takılıyorum. Yukarıda gönderdiğim resimdende görüldüğü gibi çok çeşitli config ayarları var. 16f877'den 5-6 kat daha fazla. O nedenle doğru ayarları bir türlü bulamadım. Sanırım problemim osilatör ayarında.



    [b] 
    Osilatör ile ilgili bazı ayarlar seçenekler şunlar:[/b]
    Fail Safe Clock Mon = Enabled, Disabled

    usbPLL = Divide by 2 , No Divide

    CPUDIV = Div/6 wPLL, Div/4, Div/4 wPLL, Div/3 , Div/3 wPLL, Div/2 , Div/2 wPLL, NO Div

    PPLDIV = Osc/12 (48Mhz) , Osc/10 (40Mhz) , Osc/6 (24Mhz) , Osc/5 (20Mhz) , Osc/4 (16Mhz) , Osc/3 (12Mhz) , Osc/2 (8Mhz) , No Divide (4Mhz)

    OSCSEN = Disabled , Enabled

    osc = hs osc PLL hs/usb , hs osc, hs/usb , Intn osc, hs/usb , Intn osc, xt/usb , Intn osc, clko/RA6, ec/usb , Intn osc, i/o on RA6, ec/usb , ec osc, PLL on, clko on RA6, ec/usb , ec osc, PLL on, i/o on RA6, ec/usb , ec osc, clko on RA6, ec/usb , ec osc, i/o on RA6, ec/usb , xt osc, PLL on, xt/usb , xt osc, xt/usb


    görüldüğü gibi pek çok osilatör ayarı var. ben ise 20mhz kristal ile hem usb hem de işlemciyi kontrol etmek istiyorum. Ancak denediğim ayarlar bir türlü sonuç vermiyor. Bi fikri olan var mı




  • Dediğini anladım.Elindeki devreyi,yazılan kodu bilmediğimden dolayı hangi konfg. kullanacağını söyleyemem. 18 serisini kullanmadığımdan dolayı yazdığın programlarda hangi ayarları kullanacağın hakkında yardım edemem.Okuyup anlayıp anlatmam lazım.Onun yerine kendin okuyup anlarsan daha verimli olur.
    Ancak daha önce benim ve hazarın dediği gibi bu ayarlar hex dosyasının içinde olmalı diye düşünüyorum.Sana şu şekilde yardım edebilirim.Kullandığın brenner9 programlayıcısına ait hex dosyasını buldum(sanırım firmware9) bu sürüme ait ayarlar aşağıdaki şekilde görülüyor.Umarım işini görür.

     18f2550 konfigürasyon bitleri




  • yardımların için çok teşekkür ediyorum. hemen deneyeceğim...


    quote:

    Orjinalden alıntı: AdreNaline®

    Dediğini anladım.Elindeki devreyi,yazılan kodu bilmediğimden dolayı hangi konfg. kullanacağını söyleyemem. 18 serisini kullanmadığımdan dolayı yazdığın programlarda hangi ayarları kullanacağın hakkında yardım edemem.Okuyup anlayıp anlatmam lazım.Onun yerine kendin okuyup anlarsan daha verimli olur.
    Ancak daha önce benim ve hazarın dediği gibi bu ayarlar hex dosyasının içinde olmalı diye düşünüyorum.Sana şu şekilde yardım edebilirim.Kullandığın brenner9 programlayıcısına ait hex dosyasını buldum(sanırım firmware9) bu sürüme ait ayarlar aşağıdaki şekilde görülüyor.Umarım işini görür.

     18f2550 konfigürasyon bitleri





  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.