C Programlama diliyle şamatalar

Başlatan z, 23 Ekim 2011, 15:32:04

z

Alıntı yapılan: ErsinErce - 03 Kasım 2011, 16:18:20
bu konu için ne kadar sabırsızlandığımı anlatamam, Exception yapılarının sebeplerini az çok anladım gibi
Ama nasıl işliyor, işledikten sonra neler oluyor, bu işlemleri ne kadar etkileyebiliyoruz gibi sorular hazırda bekliyor hocam  :)

Bu kısımları açıkcası yüzeysel biliyorum.

Mesela CM3(4) işlemciye yüklediğiniz kod bir noktada işlemciyi ARM moduna sokup bu şekilde kod koşturumu yapacak olsun. Böyle bir kodu rahatlıkla yazabiliriz.

CM3(4) işlemciye yüklenmiş böyle bir fonksiyon işletilip processor, ARM moduna geçmeye zorlandığında derhal usage exception oluşur.

Bu aşamada port çıkışlarını güvenli konumlara çekmek, interrrupları yasaklamak ve ardından win deki gibi mavi ekran üzerinde uygulamanın sona erdirilildiğini işletilen kodun bu işlemciye uygun olmadığını duyurmaktan başka çok da fazla bir seçeneğimiz yok görünüyor.




Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

MC_Skywalker

Ben bu kitabı paylaşmıştım forumda lik var.
ulaşamazsanız yenide upload ederim.

ErsinErce

bahsettiğiniz kitap exceptionları biraz hızlı geçmiş interruptlar üzerine yönelmiş daha çok,
bulduklarım arasında son kaynak genel ARM yapısından bahsediyor bizim çipi kapsıyor mu tam emin değilim ama diğer pdf biraz daha geniş yer vermiş bu konuya
http://infocenter.arm.com/help/topic/com.arm.doc.dui0056d/DUI0056.pdf
http://vatly.ucoz.com/_ld/0/36_Elsevier-ARM_Sy.pdf

dikkati daha fazla bu yöne çekmeyeyim, kaldığımız yerden devam edelim hocam

80486

#169
Selam arkadaşlar aranıza yenikatıldım, ARM'lerede yeni bulaştım...:) Elimde stm32f100rb kart var,  Keil kullanıyorum, C yi dde örnekleri inceleyerek ve kaynaklarla öğreniyorum, C# biliyorum birazda picbasic ama C kodlarınıda okuyabildiğimi de fark ettim burayıda keşfettim iyi oldu açıkcası...

Şimdi elimde 2x16 paralel LCD var, sheetler yardımıyla bağlantılarıyaptım, şimdi örnekleri veyayazdıklarımı derleme vakti geldi, denemelere başlamam gerek artık, ama Keil'de derleyemiyorum "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)" hatası alıyorum...

Ama Keil'in örneklerinde kit üzerinde gelen yazılımın aynısı var, onu ise istediğim değişiklikleri yapıp derleyebiliyorum, sanırım bir yerde hatam var, yardımcı olabilirsinizsanırım, şimdiden teşekkürler...

z

https://www.picproje.org/index.php/topic,35719.0.html

Sorunun cok acik degil. Belki yukaridaki link yardimci olur.

Projeyi olustururken linkteki anlatimlari izle.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mcan

#171
Keil ile çalışırken __IO tanımlamasını nasıl kullanıyoruz ,tanımını- açıklamasını bulamadım. sadece ilgili işlemcinin .h dosyasının içinde görüyorum,ancak kesin tanımını okumak istiyorum.

Buldum buymuş ;
#define     __IO    volatile

Yeni sorum var;
Keilde bir structure tanımlayalım ve bu structure yapısında bir pointer tanımlayalım ve bu pointerin adresini tanımlama aşamasında belirleyelim;
Buşekilde yapabiliyorum ;
Alıntı Yaptypedef struct {
   uint32_t fg ;
  }output_;
#define df   ((output_ *) (GPIOC_BASE+(uint32_t)0x0C))

Ancak benim istediğim
Alıntı Yaptypedef struct {
   uint32_t fg ;
  }output_;
output_ *yu=(GPIOC_BASE+(uint32_t)0x0C);
Yani adresi tanımlama yapılırken belirlenmiş pointer elde etmek istiyorum ancak hata veriyor.

z

Ne oldu şimdi?

Basic ve ASM kullananan arkadaşlar C de bir şeyler karalayabilir hale geldilermi?

Keil'de proje dosyası açıp, derleyip debug edebiliyorlarmı?

Yoksa Mevlam kayıra saldım çayıra durumları mı?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fryrmnd

proje ve derlemede sıkıntı yok. bunalmış hocam. sadece datasheeti biraz daha incelemek lazım kendi adıma.

bymrz

@bunalmiş hocam,

Merak etme, kitler milletin eline geçince başını baya bi ağrıtacak herkes  :)

sayment

Yazılanları okudum emeğinize sağlık bir kaç tane sorum var.

S1-)
GPIOD->OSPEEDR= 0xFFFFFFFF;

Daha önce bir kişi daha sormuş ama verilen cevaplardan pek bir şey anlamadım.
Bu komuttaki "->" operatörün görevi tam olarak nedir, ne iş yapar, neyi sağlar ?
Örnek verebilir misiniz?

S2-)
Alıntı Yap
Eğer bir fonksiyon f1(int i); şeklinde tanımlanmışsa başına otomatik olarak int belirleyicisi eklenir ve şu anlama gelir;

int f1 (int i);
Dışarıdan int türünde bir parametre al ve geriye de int türünde bir değer döndür.

void f1 (int i);
Dışarıdan int türünde bir parametre al ve geriye değer döndürme
Bu ifadede "int f1 (int i);" fonksiyonu geriye bir değerle dönüyor denmiş.
Geriye dönen değeri nasıl kontrol ediyoruz, fonksiyon dışında geriye dönen değeri nasıl kullanıyoruz bir örnekle açıklayabilir misiniz?

S3-)
Mesela c#'da değişkene karakter yüklemek istidiğimizde değişkeni string olarak tanımlıyorduk. Bu platformda değişkene karakter atamak için nasıl tanımlamalıyım ?


z

#176
Soruya soruyla cevap vereyim.

Once sen cevapla.

Siradan bir degiskene nasil erisirsin? Bu degiskene pointer ile nasil erisirsin?

Structure nedir?

Structure'a dogrudan nasil erisirsin?  Bir structure'a pointer ile nasil erisirsin?

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

sayment

Alıntı yapılan: bunalmis - 22 Aralık 2011, 23:06:52
Siradan bir degiskene nasil erisirsin? Bu degiskene pointer ile nasil erisirsin?
Hocam bu sorunun cevabı gene sizin yazdığınız kodlar olabilir mi ?
void main()
{
int a,b;        //  a ve b integer iki degisken
int* p          //  p,  integer degiskenlerin adresini saklayabilen bir degisken, yani bir pointer

       p=&a    //   a degiskeninin adresini p ye yukledik
       a=1;     //   a=1 yaptik
       b=*p;   //  p degiskenindeki adresdeki veriyi b ye yazdik. (b=a oldu)
}

Alıntı yapılan: bunalmis - 22 Aralık 2011, 23:06:52
Structure nedir?
Bunu da siz öğrettiniz.
Standart veri tipleri dışında veri tipi oluşturmamıza yarayan yapı.

Alıntı yapılan: bunalmis - 22 Aralık 2011, 23:06:52
Structure'a dogrudan nasil erisirsin?  Bir structure'a pointer ile nasil erisirsin?
Gene sizin örneklerinizden cevaplamaya çalışayım.
struct Ozel
{
   int IntBileseni;
   char CharBileseni;
}

int* k;
int* l;
struct Ozel A;

A.IntBileseni=0x1234;
A.CharBileseni='Z'

*k=A.IntBileseni;
*l=A.CharBileseni;


EMG81

Ben Pointer olayını halen tam olarak olarak kavramış değilim.
Pointer hakkında bişeyler yapıyorum ama ezbere.  :-\

z

@EMG81

soyle oturakli islemcilerden birisi icin assembly biliyormusun. 

@Sayment

Yazdigin cevaplari keil de derlemeyi denedinmi? Bu cevaplari bilerek mi yazdin yoksa cut-copy mi?

Pointerin canina okumanin vakti geldi demekki.



Bana e^st de diyebilirsiniz.   www.cncdesigner.com