Bu kodda hata nerede?? :-(

Başlatan mustafacan, 05 Temmuz 2006, 20:34:15

mustafacan

Aarkadaşlar ekteki şemayı çizdim ve pbp de kodları yazdım ancak displayda istediim noktaya hükmedemiyorum. Acaba Kodda nerede hatalıyım!

Şema ve pbp kodum burada
Keşfedilecek çok teknoloji var. Boş Vaktim Yok!

seco06

Kod tamamen hatalı.Sen bu adrese bir göz at.Bu işin başlangıcı burada.başarılar  ;)
http://www.teknomerkez.net/makale.asp?konu=157

mustafacan

tamamda benim kodaki hatam/hatalarım nerede? Bu konuda fikir danıştım. Mehmet Yılmaz'ı yakından hepimiz tanırız!
Keşfedilecek çok teknoloji var. Boş Vaktim Yok!

ground

⌒╮'╭⌒╮⌒╮.
╱◥██◣                  
| 田︱田田|              
╬╬╬╬╬╬╬╬╬

Picproje - Sözde değil özde paylaşım..

ete

Hatalarını ben sana söyleyeyim.

1. Program içinde iki ardışık satırda TRIS registerlerini set etmişsin. Bu tek olmalı.

2. Liste1 şeklinde bir alt programın var fakat bu alt programa ulaşacak bir komutun yok. Yani program o kısıma hiç gidemiyor. Halbuki programın en başına GOSUB LISTE1 şeklinde bir komut koymalı idin.

3. Program TARAMA isimli bir etiketle başlıyor. İlk çalışmada program değişkenleri set ettikten sonra Tarama etiketine gelecek. Burada verilen komutları işleyecek. Komutların sonunda burada olmaması gereken bir komut var GOSUB TARAMA şeklinde. Gosub ile gidilen alt programların en sonunda bir RETURN bulunması gerekir. Bu RETURN programın gelinen yere geri dönülmesini sağlar.
Şimdi sen Tarama isimli etiketin sonuna Gosub tarama demişsin. Bu durumda progra tekrar Tarama bölümüne gidecek ve tarama sonunda bir return arayacak. Halbuki karşısına tekrar Gosub Tarama çıkacağı için stack doluncaya kadar taramaya gidip gelecek ve sonunda kitlenecektir.

Programdaki mantığını çok iyi anlamadığım için kendimce doğru şekli aşağıdaki şekilde tanımladım.

a) TRIS komutları programın yalnızca 1 yerinde ve mümkünse en başlarda  verilmeli. Senin programda ilk satırlarda verilen trisA komutunda portA nın ilk 4 pini giriş olarak ayarlanmış gözüküyor. Halbuki burada giriş olarak ayarlanacak bir işlem yok. Sanırım. Bu yüzden bu komut TrisA=%00000000 şeklinde değiştirilmeli.
b) Tarama isimli etiketten önce bir GOSUB LISTE1 komutu ilave edilmeli
c) Tarama isimli etiketin altında bulunan GOSUB TARAMA yerine GOTO
TARAMA şeklinde bir komut yazılmalı.

Bu kadar.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

mustafacan

Ete usta teşekkürler! dediğin düzeltmeleri düzenlemeleri yaptım ve sorun halloldu!
Keşfedilecek çok teknoloji var. Boş Vaktim Yok!