Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Cortex ARM => Konuyu başlatan: magnetron - 09 Nisan 2021, 15:01:40

Başlık: cubeide neden hata veriyor ?
Gönderen: magnetron - 09 Nisan 2021, 15:01:40
merhaba forum,

RTC HAL libdeki fonksiyonun başındaki static ibaresini kaldırdım

başka c dosyasındaki fonksiyondan çağırıyorum

neden gene bu hatayı veriyor

(RTC yi MX de aktive ettim)

teşekkür


(https://i.imgyukle.com/2021/04/09/OuguWo.png)
Başlık: Ynt: cubeide neden hata veriyor ?
Gönderen: Tagli - 09 Nisan 2021, 15:45:29
Normalde kütüphane dosyalarının içini değiştirmemelisin. Fonksiyonu static olarak tanımlamışlarsa bu demektir ki bu fonksiyon kütüphane arayüzünün bir parçası değil ve son kullanıcı tarafından kullanılması planlanmamış. Senin sadece kütüphane arayüzünde sunulan fonksiyonları kullanman gerekir. Aksi halde kütüphanenin çalışması olumsuz etkilenebilir ve hatalı sonuçlar alabilirsin.

static ifadesini kaldırmana rağmen fonksiyonun bulunamamasının nedeni muhtemelen header dosyasında yer almamasıdır. Bu şaşırtıcı değil, çünkü kütüphane içinde kullanılan ve arayüzün bir parçası olmayan fonksiyonlar genelde header dosyalarına konulmaz.
Başlık: Ynt: cubeide neden hata veriyor ?
Gönderen: volkanunal - 09 Nisan 2021, 15:47:08
Static keywordünün fonksiyonda kullanılmasının sebebi, sadece ilgili dosya scope içerisinde kullanılmasını sağlamak. Yani client kodların ona erişimi zaten olmayacaktır. Sizin onu kaldırmanız erişebileceğiniz anlamına gelmiyor yani hocam. Zaten .h dosyası içerisinde ön bildirimi yoktur diye düşünüyorum ilgili fonksiyonun.

Edit : Tagli hocamız aynı şeyleri belirtmiş zaten, yazdıktan sonra farkettim.