< Bu mesaj bu kişi tarafından değiştirildi ipli jeton -- 4 Mart 2024; 18:54:17 > < Bu ileti mini sürüm kullanılarak atıldı > |
Ccs C, DS18B20 sorunu
![](/static/forum/img/downicon.png)
![](/static/forum/img/upicon.png)
![](/static/forum/img/close.png)
-
-
ds1820_read(); fonksiyonunu bulamıyor. Bunun geçtiği (kodlarını mesaj içerisinde paylaştığınız kütüphane) .h veya .c dosyasını bu fonskiyonu kullandığınız unit içerisinde üstte
#include <dosyaadi.c> şeklinde projenize dahil etmeniz gerekiyor.
-
-
Hazır kurulu ccs yok bende ama ccsnin standart kütüphaneleri içindede ds1820.c var diye hatırlıyorum. İsim benzerliğinden dolayı kendi standart olanı önce görüyor olabilir.
Bunu anlamanın kolay yolu sizin kullandığınız ds1820.c nin dosya ismini farklı bir şey yapın ve #include yaptığınız yerde bu yeni ismi kullanın. Yukarıdaki paylaştığınız kod örneğinde bir problem görünmüyor.
-
Koda bakınca konu ile çok alakalı olmayan ama gereksiz / hatalı kullanım gözüme çarptı.
while(TRUE)
{
enable_interrupts(INT_RDA2); // <<----- bu kısım gereksiz. Zaten yukarıda enable yapıldı. Başka yerdede disable yapılmıyor.
genCounter++;
-
Üstadım bu kodlar uğraştığınız geliştirme kartı ile birlikte gelen örnek kodlarmı?
Gözüme
#INT_RDA2
void rda2_isr(void)
{
.......
}
içindeki kullanım çarptı. Kesme içerisinde do While kullanımı çok çok yanlış bir uygulama.
-
Çalıştığım kartla birlikte bana gönderilen örnek kodlar. Saat üzerinde çalışan bir Firmware var. Sıcaklığı DS18B20'den mi alıyor yoksa SHT11'den mi aliyor bilmiyorum.
Açıkçası şu aşamada hata veren ds1820_read fonksiyonuna odaklandığım için kesmelere dikkat etmedim. Kesme içinde sonsuz döngü kullanılması hatalı bir kullanım evet. Kesme fonksiyonun işi bittiğinde kesmeden çıkmayı engelleyecek bir şeydir bu. Belki de saatteki laglı çalışma bundan kaynaklanıyordur. Saniyeler bazen iki üç saniye takılıyor. 1,2,3,4 diye düzenli gitmiyor.
Alette kod koruması yok, içindeki kodu okutup yedeğini aldım. O da kenarda duruyor.
< Bu mesaj bu kişi tarafından değiştirildi ipli jeton -- 4 Mart 2024; 21:29:3 >
< Bu ileti mini sürüm kullanılarak atıldı > -
ds18b20.c dosyasının adını değiştirince düzeldi.
< Bu ileti mini sürüm kullanılarak atıldı > -
Tahminimiz doğru çıktı, ama bu durum beni şaşırttı doğrusu. Derleyiciler sistemde aynı isimde kütüphaneler olduğunda, kaynak kodların bulunduğu klasördekine öncelik tanır ve onu import eder. CCS bu noktada farklı bir yol tercih etmiş demekki
Alıntı
metni:saniyeler bazen iki üç saniye takılıyor. 1,2,3,4 diye düzenli gitmiyor. Kart ile birlikte gelen kodların paylaştığınız kadarından edindiğim intibaya göre kötü kodlama / algoritma ve sistem kaynaklarının düzgün kullanılmaması gibi durumların geri kalan kütüphane ve örneklerdede olacağını tahmin ediyorum. Bu nedenle performans problemi çıkartacak farklı durumlar ile karşılaşmanız kuvvetle muhtemel.
Alıntı
metni:Sıcaklığı DS18B20'den mi alıyor yoksa SHT11'den mi aliyor bilmiyorum. Kodlara bakmadan, eğer her iki sensörde bağlı ise, bir tanesini biraz ısıtın, test uygulamalarında ekranda sıcaklık gösteren bir örnek varsa sonucu oradan gözlemleyebilirsiniz. Ayrıca SHT11 in nem ölçme özelliğide var. Örnek uygulamada nem ile ilgili bir şey varsa oradanda ayrıştırabilirsiniz.
< Bu mesaj bu kişi tarafından değiştirildi rafet32 -- 5 Mart 2024; 23:8:11 >
-
Saatin içindeki yazılımdan. Saati yapan adam çeşitli forumlarda fide kullanıcı adıyla yer alıyor. Burada yok sanırım. Bana söylediğine gore:
Hava yazan yerdeki sıcaklık bilgisi DS18B20'den geliyormuş. Alt satırda T yazan yerdeki sıcaklık SHT11'den geliyormuş.
H yazan yer Nem(humidity), L de ortam ışığı miktarı.
< Bu mesaj bu kişi tarafından değiştirildi ipli jeton -- 6 Mart 2024; 20:53:57 >
< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X