DERS 4 , DEVİCE SATIRLARI HATA VERİYOR.

Başlatan oguzerdal, 09 Ocak 2023, 20:09:58

oguzerdal

ETE hocam, her gün çok değerli şeyler öğreniyorum çok teşekkürler ama bazen takılıyoruz. Ders4 ,a,b,c hepsinde @ DEVİCE 16F628..... satırları hata veriyor. önlerine  '  koyunca sorunsuz çalışıyor. Ne yapmak lazım?

ete

etepic.com sitesinde Önemli bilgiler kısmında sigorta ayarları nedir başlığında yazılanları okumak lazım.

Ete

oguzerdal

ETE hocam, sigorta ayarları kısmını okudum, diğer arkadaşların sorunlarını da okudum. INC dosyalarının içine dediğiniz gibi ; koydum. Olmadı. Programın başına ASM ....EndAsm koydum, ama yine de DEVİCE satırlarına ' koyduktan sonra hata vermedi. ( config1 ibaresini de kaldırdım , onu da beğenmedi ) Yani böyle mi olacak ?

onurinci

ben böyle kullanıyorum, birde hangi işlemci kullanmışım yazılımda hatırlayabilmek için REM satırı arkasına işlemci adını yazıyorum.tabi bu satırın derleme ile hiçbir ilgisi yok..

#CONFIG
 __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF &_PWRTE_ON & _CP_OFF & _LVP_OFF & _BODEN_OFF
#ENDCONFIG

REM 16F628A
DEFINE OSC 4

oguzerdal

Teşekkürler Onur bey. Böyle oluyor demek ki? Ama ETE beyin dediği yerleri hepsini okuyup yapmama rağmen @ DEVİCE... şeklinde olmadı. Başka bir arkadaş yaptım oldu demiş. Anlamadım alt tarafı INC dosyasında 2 satıra ; koyuyoruz.. :(

ete

Sorulara doğru yanıt alabilmek için derleyici veriyonunu da belirtmen gerekiyor.
Verdiğim linkteki açıklamaların tamamı 2,61 versiyon için idi. 3.x versiyondan itibaren config tanımlama şekli değişti.

ete

oguzerdal

#6


ETE hocam tam çıktı mı bilemiyorum. MCS 4.0.0.0 , PİC BASIC PRO 2.50 diyor. Üzerine tıklayınca tam resim çıkıyor.

ete

En eski versiyon bu kullandığın.
Normal şartlarda başında @ Device şeklinde başlayan satırın hata vermemesi gerekirdi.
Senin versiyonun formatı odur.

Gerçi o versiyonu hiç kullanmadım tam olarak emin değilim.
Ancak anlamanın bir yolu var.
C klasöründe yer alan PBPxx klasörünü bul. İçinde Devices şeklinde isimlendirilmiş bir alt klasör olması gerekir.
O klasöre gir ve arama kısmına *16F628* yazıp enter tuşuna bas.
Birden fazla seçenek gelirse PIC16F628A.PBPINC  dosyasını bulmaya çalış.
Bulursan o dosyayı MCS içinde veya Notpad ile açıp içine bak aşağıya doğru sigorta ayarlarının yazılış şeklini görebilirsin.

Aynısını kopyalayıp programına ekle ve derle.


Ete

oguzerdal


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  The #CONFIG block is passed directly to the asm file, but PBP will replace it
;  automagically with the contents of a user-defined #CONFIG block if one is
;  found in the PBP source program.  There is no need to edit or comment this
;  block in this file.  Simply copy it to your source program and edit it there.
#CONFIG
    __config _XT_OSC & _WDT_ON & _PWRTE_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF
#ENDCONFIG

    ETE hocam selam ve teşekkürler. Söylediğiniz dosyanın içindeki paragraf bu. Onurİnci bey doğru yolu bulmuş. İkiniz de çok sağolun.
    En eskisi dediğiniz PBP değil mi? Yükseltmeye değer mi? Şimdilik böyle ilerleyebilirim diye düşünüyorum. Siz ne dersiniz? Zaten bilgisayarcıya çok para verdim. :( ....Bayağı bir avantaj sağlayacaksa uğraşayım...

ete

 
#CONFIG
#ENDCONFIG
şeklindeki format 3.x versiyonları için geçerli olan format. Ortada bir hata var ama nerede anlamadım.
Ete

oguzerdal

ETE hocam ve diğer ustalar iyi pazarlar. PBP 4b ve 4c dersini geçen hafta sizlerden gelen bilgilerle F84'e yükleyip şıkır şıkır çalıştırmıştım.Şimdi geçen gün 628A aldım, derste olması gerektiği gibi buna yüklemeye çalışıyorum,Compile işlemi hatasız olmasına rağmen, Exprog "yükleme başarısız " diyor. Diğer dersler yüklendi,çalıştı.Yani işlemci sağlam.Yaptığım yegane değişiklik Expkit kartına göre LCD pinlerini ayarlamak.Nerede hata oluyor anlamadım.


ete

Programda bir kusur görülmüyor. Bu sorunun bir kaç sebebi olabilir.
Birincisi 16F628 işlemcinin varyasyonlarından kaynaklanan sorun ki açıklaması şöyle,
Piyasada iki tip 16F628 mevcut. Birincisi eski nesil olanlar ki işlemci üzerinde Pic16F628-04 (veya 16F628/04) gibi bir işaretleme ile satılıyorlar. Sonda yer alan 04 rakamı onun en fazla 4 Mhz de çalışabildiğini gösteriyor. Bu işlemcide Komparatör bulunmuyor dolayısıyla programda yer alan CMCON=7 komutunun kaldırılması gerekir.
Diğeri ise Pic16F628A şeklinde bir işaretle satılıyor ve bu işlemci 1-20Mhz arasında herhangi bir frekasnta çalışabilir. Üstelik içinde komparatörde mevcut ve CMCON=7 komutu bu komparatörleri iptal etmek için koyulmuştur programa.

Senin işlemcin 16F628A ise bu açıklamayı direk atlayabilirsin.
Diğeri işlemcinin bir şekilde bozulmuş olma ihtimalidir. Exprog programı işlemciye yazar sonra verify etmek için yazılanlar ile yazılmak istenen karşılaştırılır uyum olmaz ise hata verir. Yazma işlemi gerçekleşmez. Bu sıklıkla karşılaşılan (yeni nesil işlemcilerde artık pek karşılaşmıyoruz) bir problemdir.

Bunun dışında diğer bir olası ihtimalde, işlemcini DTA ve CLK pinlerinin bir şekilde devre üzerinden başka amaçlarla kullanılıyor olması ihtimalidir. Bu programlama bacakları genelde PORTB.6 (ICSP-CLK) ve PORTB.7 (ICSP-DTA) pinleridir. Bu pinleri programda yada devrede bir yerlara bağlıyor isen muhtemelen bağladığın noktalar data veya CLK sinyallerini bozuyordur. Bu durumda o pinlerin ana devreden izole edilmeleri ve ISCP soketine direk bağlı olmaları gerekir. Böylece programlama sorunsuz yapılabilir.

Aklıma başka sorun gelmedi. Device satırlarını kapatmışsın. Bir config ayarı verilmesi gerektiğini unutma.
Mümkünse bir başka işlemci ile denemeye çalış yada mevcut işlemciyi bir başka program ile denemeye çalış. Birinden birisi sana işlemcinin sağlamlığı konusunda bilgi verecektir.
İşlemciler statik elektriğe hassas elemanlardır. Bacaklarına mümkün olduğunca çıplak elle dokunmamaya çalışmanızı şiddetle öneririm.

Ete

oguzerdal

Ete hocam, işlemci 16F628A.Ledlerle yapılan giriş çıkış, buton uygulamaları sorun çıkartmadı.Yüklerken ilk byte'ı yükleyip kalıyor.Config satırlarını da resimde görüldüğü gibi kabul ediyor,veya @ config.....şeklinde.O konuyu öğrendim neyse ama bu üzdü beni tabii.Başka örnekler deneyeceğim tabii ama mesela 3.dersde problem olmadı.Bu tür sorunlar öğrenmek istenen dilden daha çok yoruyor adamı.B6 veya B7 pinleriyle de işim yok zaten.

oguzerdal

ETE hocam başınızı ağrıtmaya devam ediyorum ama, yeni 16F628A-I/P aldım. "Programlama başarısız" sorunu çözüldü.Demek ki Chip bozukmuş.Ancak kart h/w ayarlamalarını vs.. yapmama rağmen mesela 6.dersinizde LCD ekran çalışmıyor. Compile ok, yükleme ok, Kart expkit. Bu kartı en iyi siz biliyorsunuz.F84de çalışan program neden şimdi çalışmasın?

onurinci

Oğuz bey LCD'nin RW ayağı GND'ye çekilimi ?

Powered by EzPortal