Hi-Tech C18 Gecikme Kütüphanesi

Başlatan serhat1990, 21 Eylül 2012, 09:55:08

serhat1990

Günaydın PicProje Ailesi ;)

Bir sorum olacaktı. Hi-tech c18 için iyi bir gecikme kütüphanesi nereden bulabilirim . uS ' lik gecikmeler önemli. Yazılımsal usart fonksiyonumda kullanacam. hi-tech c16 için yazdığım var fakat gecikme kütüphaneleri farklı olduğundan değiştirdim. c18 gecikme kütüphanesine uyarladım fakat süreler ile ilgili sıkıntı var. Timer kullanarak yapmak isterim fakat timer'ları başka işlemler içinde kullanıyorum . Kesme fonksiyonum biraz fazla uzayabilir.

Yanıtlarınızı bekliyorum. Herkese iyi çalışmalar.

Not: Konu ile ilgili __delay_us vs kütüphanesi ile ilgili birşeyler okudum forumda , orada sordum tam cevap bulamadım .

arslan74

Us süreleri cok kritik Zaman dir. Hele onu pic16 veya pic18 gibi islemciler icin düşünülürse, onu timer kesmesiyle yapmak islemciyi cok kasacaktir. Onun yerine dongu rutinlerle yapmaya calistiginda timer kesmeleri sureyi bozacak. En kolay cozum global kesmeyi kapatip dongulerle yapmak.

serhat1990

Alıntı yapılan: arslan74 - 21 Eylül 2012, 11:49:07
Us süreleri cok kritik Zaman dir. Hele onu pic16 veya pic18 gibi islemciler icin düşünülürse, onu timer kesmesiyle yapmak islemciyi cok kasacaktir. Onun yerine dongu rutinlerle yapmaya calistiginda timer kesmeleri sureyi bozacak. En kolay cozum global kesmeyi kapatip dongulerle yapmak.

Hocam bende öyle düşünüyorum . Fakat doğru çalışan bir kütüphane bulamadım . Kendi yazdığım yazılımsal usart kütüphanesini , picc18 için düzenledim. Ama us'lik gecikmeler doğru çalışmıyor bu yüzden baud uyuşmazlığı yaşıyorum. Bakıyorum düzgün çalışan bir kütüphanede bulamadım . Timer ile yapmayı düşündüm ama programda zaten kullanıyorum buda sıkıntı yaratacak . Kendim yazmayı düşünmeye başladım artık Hocam . Bir türlü bulamadım .

arslan74

Yazılımsal uart haberleşme hızı kac olacak. Eğer 9600 ise onu cok rahat timer kesmesiyle yapabilirsin. Yüksek hızlarda timer kesmesi sorun olabilir.

C18 in timer kütüphanesi sorunsuz çalışıyor. C18 i kullanabilirsin.

Hi-tech kullanacaksan o zaman XC18 dene, temelinde Hi-tech var. Büyük ihtimalle XC18 de C18 kütüphanesinide kullanabilirsin.


serhat1990

Alıntı yapılan: arslan74 - 21 Eylül 2012, 12:32:15
Yazılımsal uart haberleşme hızı kac olacak. Eğer 9600 ise onu cok rahat timer kesmesiyle yapabilirsin. Yüksek hızlarda timer kesmesi sorun olabilir.

C18 in timer kütüphanesi sorunsuz çalışıyor. C18 i kullanabilirsin.

Hi-tech kullanacaksan o zaman XC18 dene, temelinde Hi-tech var. Büyük ihtimalle XC18 de C18 kütüphanesinide kullanabilirsin.

Hocam 2,4k arası ve 9,6k arası ayarlanabilecek . Pek fazla hız gerektirmiyor. Programı picc18 ' de yazıyorum . Baya bir yazdım şimdi xc geçmek gözümü korkutuyor. XC ile çalışma fırsatım olmadı . Bir inceleyeyim teşekkür ederim Hocam .

Picc16'da gecikme kütüphanesini direk kullanarak yapmıştım 1.2 ,9.6 arası sıkıntısız çalışıyordu. picc18'de gecikme kütüphanesini kullandınızmı Hocam. uS'ler mertebesinde .

arslan74

2.4k için timer interruptu kullanın daha kararlı ve stabil çalışır. Döngülerle yaptığınızda daha önce dediğim gibi zamanı doğru ölçmek için kesmeler kapalı olmalı. Ama timer ile yaptığınızda bu sorun ortadan kalkıyor. tek yapmanız gereken 1 bit süresi kadar timer kesmeleri olurturmak. sonra da her timer kesmesinde bitleri göndermek, gayet kolay.

Hi-tech timer delaylarıin hepsini denedim, hiçbiri verilen değeri birebir sağlamiyor. Onun yerine kendim sıfır delay kodlar yazdım böylelikle istediğim süreyi elde ettim. Aslında kesmeyi kapatmanız önemli değil ise o zaman kendi yazacağınız delay kodunu yapabilirsiniz. O zaman delay ile kod yazması, timer kullanmaktanda basit ve kısa olur.


serhat1990

Anladım Hocam başladım bile ;)

Teşekkürler ....