avatar_ete

Doğru çalışmayan programlar

Başlatan ete, 08 Aralık 2012, 19:58:35

ete

Programınız beklendiği gibi çalışmıyor ise,
LCD istediğiniz gibi çalışmıyor ise ,
Programınızda DEFINE satırları var ise
Mutlaka Define satırlarını BÜYÜK HARF ile yazmanız gerekitiğini unutmayın.
Bunun bir zorunluluk olduğunu bende yeni öğrendim. Ama doğru imiş.
Ne yazıkki derleyici bu konuda bir hata mesajı vermiyor ama küçük harflerle yazılmış define satırlarıda dikkate alınmıyormuş.

Ete


pwm.c

hocam şimdi denedim ama sorun çıkmadı. hatta küçük harfle yazınca otomatik olarak büyütüyor.
belki  " ı " ve " i "  farkından kaynakli bir sorun çıkmış olabilir çünkü küçük " ı " harfi Türkçe karakterdir. programda "define" yazdığımızda sorun yok ama "defıne" yazarsanız bunu görmez. zaten doğru yazıldığında harfler kalınlaşıyor.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

ete

#2
İmla yanlışı yapmada küçük harfler yada fazladan kelimeler hata mesajı verdirmiyor. Mesela
Define yazmanız sorun değil ama değerlendirilmiyor maalesef.
DEFINE OSC_ETE 4 yazıp dene istersen muhtemelen hata vermeyecektir.  (Denedim vermiyor hata.)
Sonuş olarak toparlar isek;
- Define Osc 4 şeklinde yazılmış bir komut hata mesajı verdirmeyecek ama değerlendirmeyede alınmayacaktır.
- Doğrusu DEFINE OSC 4 şeklinde yazılması gerekiyor.

Bir başka örnek de LCD tanımlamalarına vereyim.
DEFINE LCD_EREG PORTA  şeklinde yaptığımız tanımlama doğrudur. Çünki imla hatası yok ve her şey büyük harflerle yazılmıştır.
Define LCD_Ereg PortA şeklinde yazılmış bir komut satırınıda derleyici hata vermeden derler ancak değerlendirilmez (öyle deniliyor)
DEFINE LCD_EREG_ETE PORTA şeklindeki komut da hata mesajı verdirmiyor. Komut doğru ancak fazladan eklentiler var.
Muhtemelen doğru olarak değerlendiriliyor. Sonuçta söylenecek tek söz şu Define komutlarını tamamen büyük harflerle yazınız imla hatası yapmayınız.
Hepsi bu kadar.

Ete

pwm.c

#3
yok hocam denemiştim zaten. "osc" komutunuda küçük yazdım yine sorun çıkmadı. verdiğim değeri aynen işledi.
daha öncedende dediğim gibi "define" komutunu küçük yazsam bile program kendisi büyütüyor. diğer komutları ise değiştirmiyor ancak işleme alıyor.

kullandığım programlar:
MCSP 4.0.0.0
PBP 2.60A
proteus 7.10sp0
aygıt: PIC16F88
işletim sistemim: Win7 home premium 32bit

test yöntemim ise, bir PWM sinyali üretip osiloskoptan frekans değişimini gördüm ve LCD akranda düzgün çalıştı.

denememi istediğiniz başka bir durum var mı?
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

KAZIMUGUR


ete

Yok. Bu bilgi PBP (Melabs) da Melanie isimli kadınmıdır erkekmidir belli olmayan kişinin önerisi olarak okudum.
Şimdi linki bulamadım bulunca buraya koyarım.
Aynen benim dediklerimi söylemiş.

Ete


Maxim

ete hocam
protonda böyle hatalar varsa paylaşırmısınız?

hatta geçen bir yazınızı okudum ama baktım tekrar bulamadım
protonun birkaç azizliği var yazmıştınız.

ete

Protonla iligli çok yeni bir olayı açıklayayım.
Bir arkadaşım Proton da program yazıyor ve DS1307 ile ilgili sorunları oldu. Benim PBP da yazdığım satırları aynen kullanıyor.
Derleyici hata vermiyor ama sistemde çalışmıyor maalesef.
Çalışmayan satır şöyle;
TEMP=Dig DAK,1:TEMP=TEMP<<4:MINUTE=TEMP+Dig DAK,0
Anlamı şu Dak değişkeninin birinci digit'ini al ve TEMP değişkenine yerleştir. Sonra 4 bit sola kaydır ve buna sııfr nolu digiti ekle
Bu satır çalışmıyor. İtiraz da yok. Sonra ne yaptık,
Bir=DIG DAK,1
ONN=BIR<<4
Min=ONN+Bir
Şeklinde yazarsan çalışıyor. AMa onları ilk yazdığım gibi yazarsan çalışmıyor.

Bu arada direk PBP komutlarınıda kabul ediyor Proton onada itiraz etmiyor ama onlarda çalışmıyorlar.
Kodları şöyle yazarsanız;
TEMP=DIG DAK 1:TEMP=TEMP<<4:MIN=TEMP+DIG DAK 0 kabul ediyor ancak çalışmıyor kod.

Eskiden protonla çalışıyordum. Buna benzer bir sürü sorun çıkmış idi o yüzden bıraktım. Şimdi neler olduklarını hatırlamıyorum ama hatırladıkça yada karşılaştıkça buraya yazacağım.

Ete

Mucit23

O sorunla bende karşılaştım protonda. Matematiksel işlerle uğraşırken karşıma gelmişti.

Tam hatırlamıyorum ama sanırım iç içe 3 den fazla işlem yapmıyordu. Derleyici hata vermiyordu ama çalışmıyordu
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Powered by EzPortal