i2c-led

Başlatan modernherakles, 12 Aralık 2007, 13:52:23

modernherakles

Sayın üstadlar ben mikroişlemciye nacizane yeni başlamış biri olarak sizlerden 2 adet pici i2c ile seri haberleştirmenin yolun araştırıyorum.İlk etapta amacım 1. picten butonla giriş yapmak ve 2.deki ledlere ulaşmak bunun ccs te ki i2c komutlarıyla nasıl yapacagımı belirtirseniz çok sevinirim.not:2 adet 18f452 kullanıcagım:)
If we hear, we forget; if we see, we remember; if we do, we understand – Confucius

F493

başalaman güzel,sevindim öncelikle,

Yeni başladım diyorsun,ancak karmaşık bir işle giriş yapmışsın,

öncelikle ,mantıgı kavrayacak konulardan başlamanı tavsiye ederim.
Mesala bunu seri haberleşmeyle yapmayı dene ,yani iki pic arasında tx,rx uçlarıyla haberleş derim.

İşin kötü tarafı ccs c insanları hazıra alıştırıyor,ı2c yazdık bitti!!'ye geliyor

Ama olaya hakimiyet ve hazıra dag dayanmaz kavramlarını unutmamak lazım .

Amacım nasihat vermek değil ,yanlış anlaşılmasın ,yardımcı olmak .:D

işin özünü ögrenmeye çalışmak lazım ,bence ilk önce datashett'den ı2c nin donanımını incele , algoritmasını akış diyagramını çıkar

sonra zaten asm de de  yazarsın..

ı2c ile iki pici haberleştiren bir uygulama pratigi bilmiyorum ,ama var ise de işlemcinin birini master ikincisini slave moda ayarliyacaksin master modu ile ,start  sinyalini gönderceksin
ve  slave'' i 0 nolu adrese ayarla

sonra master oldugun için R/W seçeneginde W sececeksin ardından bilgini  bit bit göndereceksin sonrasında ise bilginin sonlandıgını ack ile bitireceksin

datashett lerde bunların süreleri var, 1bayt 1cümle ack den sonra ardından yeni bir cümle(bayt)gönderirsin....

ben genel olarak bahsettim arada yanlışlıkta yapmış olabilirim ,umarım faydalı olmuştur..
siz yinede bu konuyu araştırıp sonra yazmaya başlayın ccs c 'in kütüpanesine bagımlı kalmamış olursunuz.

iyi çalışmalar

tyildizak

Uygulamanız öğrenme amaçlı ise f493'ün önerdiği gibi i2c protokolünü inceleyip, hazır kütüphane fonksiyonunu kullanmak yerine kendiniz yazabilirsiniz. Hatta kendi mantığınıza göre yeni haberleşme protokolleri üretebilirsiniz.

modernherakles

f493 e uzun uzun yazıp anlattıgı için çok teşekkür ediyrum benim için biraz karmaşık oldugunu kabul etmekle beraber bitirme için gerekli olan PIC kullanma becerisii kısa bir zaman aralıgında geliştirmem gerekmekte.
öyleyse çalışma TX veRx ten gerçekleştirmeye çalışıcam ancak bu seri haberleşme konusunu gercekten iyi bilmiyorum,bu konuda da yardımınızı rica ediceğim(bahsettiğim basit led yakma konusunda)
Tyildizak arkadaşda yazdığı için sağolsun ancak kendi haberleşme protokolnü yazabilirsin derken neyi kastettiğini tam anlayamadım.yeni birisi için bu konuu biraz açabilirmi?
If we hear, we forget; if we see, we remember; if we do, we understand – Confucius

F493

PIC PROGRAMLAMA TEKNIKLERI VE PIC16F877A  
ALTAŞ YAYINLARI

 bu kitabı al ve incele,ez 2kez okumalısın ,ilk okumada fazla anlaman gerekmez,sıkılıp bırakmamalısın,2. ve hatta 3.kez okursan (tabi okurken gözlerinde merak ,içinde heyacan olmalı). birşeyler yerleşecektir..

kitapta seri haberleşme ile ilgili asm örnekleri var,buarada donanımı tanıyacaksın,

CCS C İLE PIC PROGRAMLAMA
ALTAŞ YAYINLARI


sonrasında c bilgin var ise bu ögrendiklerini c de adım adım yazacaksın,
bol bol kod incelemesin ne bulursan ,sonra amaçsızda olsa eline kagıt kalem alıp kodları kagıda yaz  ,emin ol faydasını görceksin,birde kulaktan dolma bilgilerle değil kaynagı okuyarak ögreneceksin kimseye ve hiçbir kaynaga baglı kalmamalısın....

Kitapta herşey ayrıntılı olarak anlatılıyor .. anlamadıgın olursa yaz ,ekip olarak zaten yardımcı oluruz sana,ama biraz inatçı olman gerekli,
tabi bu arada senin sorularınla bizde bişiler ögrencez,bilmedigimiz birşey varsa ,açıp bakıcaz..

birde açıkcası bence iki pic'i haberleştirmeden önce buton'la counter yap,sonra displey sür ,lcd sür ,nedeni bunlar iç birim sayılır  ,yani hatayla başetmen daha rahat olur ,seri haberleşmeyide ilk önce bilgisayarla yap,hyper terminali kullan ,,klavyeden bir karaktere bas,displey ,led ,lcd de gör ,

adım adım ve fonksiyonel ,modüler olarak çalış,,sonra bunların hepsini bir arada çalıştırmaya çalış kesmeleri falan kullan,

bit nedir ,bitsel toplama çıkarma ,carry biti.......  OKUMALISIN bunları..

ist.üni yıllarca çalışmanın sonunda koyun kopyaladı ,1gün sonra 2. :D  kopyaladı ,yani herşey yapana kadar ,sonrasıı, aynı zaten.

tyildizak; kendi protokünü de yazabilirsin dedi, o da açıklıcaktır ben benim sorularıma cevap verdim...

           iyi çalışmalar.

modernherakles

kitap adı için gerçekten sağol un bende böyle bir kitap arıyordum türkçe kitap pek yok sizin de bildiğiniz gibi.
bahsettiğiniz ilk 3 proje;(counter-kesme flan)bunları geçtim dediğiniz sırada.Sıra şimdi dediğim gibi bu seri haberleşmede.
emeğinize saglık bakıcam dediğiniz kitaba,yalnız diğer müdavimden cevabını hala bekliyorum.problemi çözene için yine bu konuda olucam.(sorular için hazır olun!)
herkese iyi çalışmalar.
If we hear, we forget; if we see, we remember; if we do, we understand – Confucius