Bildirim
18f2550 konfigürasyon bitleri
Daha Fazla
Bu Konudaki Kullanıcılar:
Daha Az
3 Misafir - 3 Masaüstü
Giriş
Mesaj
-
-
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.
-
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.
Sayfa:
1
Ip işlemleri
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X