LPC2104 ve Proteus Problemi

Başlatan fatihinanc, 08 Eylül 2010, 16:02:09

fatihinanc

Arkadaşlar dün lpc2104 ile ufaktan bir ARM denemesi yapayım dedim.
Kod sağlam çalışıyor ama Proteusta;
Simulation is not running in real time due to excessive CPU load. uyarısını alıyorum.
İşlemci %80 lere fırlıyor birden.
Forumdan @FxDev e sordum onda da aynı problem var.

Derleyici : Keil uVision - ARM 4.11
Simulasyon : Proteus 7.6 sp4
İşlemci : LPC2104

ISIS dosyası ve hex dosyası linkte.
http://www.4shared.com/file/zi6nazPk/keil.html

Kod
#include <LPC21xx.H>                       /* LPC21xx definitions */

void wait (void)  {                        /* wait function */
  unsigned int  d;

  for (d = 100000; d>0; d--);           /* only to delay for LED flashes */
  //for (d = 200000; d>0; d--);           /* only to delay for LED flashes */
}

int main (void) {
  	int i=1,j=1;
  IODIR0 = 0x000000FF;                  

  	while (1)
		{
		wait();
		IOSET0=i;
		j<<=1;
		i+=j;
		if(i>255)
		{
		j=1;
		i=255;
		do
		{
		wait();
		IOCLR0=~i;
		i-=j;
		j<<=1;
		}
		while(i>-1);
			j=1;
			i=1;
		}
		}	
}

Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

ahmet2004

Gerçek zamanlı çalıştırmaya çalışıyor beceremiyor. Timestep per Frame değerini düşür. i7 860 PC animasyonu çalıştırıyor.

Değeri düşürdüğünde animasyon yavaşlar ve bu mesaj çıkmaz.




fatihinanc

@ahmet2004 hocam sağolun problem çözüldü.
Gerçek zamanlı çalışsa daha iyi olacaktı ama böyle idare ederiz artık.
Bendeki işlemci de P8700 2.53GHz.
Alttaki saniye artık daha yavaş.Zamanı gözlemlemenin başka bir yolu var mıdır?
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

teknikelektronikci

selam bende kasma yok
ama alttaki kodu keilde derledim isis e attim isis de tik yok calismyior gerekli olan vss vcc 3.3 1.8 ve reset i 3.3 e cektim ama cikislarda bir sey yok

#include <LPC21xx.H>                       /* LPC21xx definitions */

void wait (void)  {                        /* wait function */
  int  d;

  for (d = 0; d < 1000000; d++);           /* only to delay for LED flashes */
}

int main (void) {
  unsigned int i;                          /* LED var */

  IODIR1 = 0x00FF0000;                     /* P1.16..23 defined as Outputs */

  while (1)  {                             /* Loop forever */
    for (i = 1<<16; i < 1<<23; i <<= 1) {  /* Blink LED 0,1,2,3,4,5,6 */
      IOSET1 = i;                          /* Turn on LED */
      wait ();                             /* call wait function */
      IOCLR1 = i;                          /* Turn off LED */
    }
    for (i = 1<<23; i > 1<<16; i >>=1 ) {  /* Blink LED 7,6,5,4,3,2,1 */
      IOSET1 = i;                          /* Turn on LED */
      wait ();                             /* call wait function */
      IOCLR1 = i;                          /* Turn off LED */
    }
  }
}


kod örneklerdkei kod
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

ahmet2004

*teknikelektronikci *

sol taraf GENARATORS butonuna bas ordan DC yi seç.

3v ve 1.8v olarak ekle çalışır.fatihinanc  ın üsteki dosyasını aç incele besleme kısmını.

fatihinanc

@tekinkelektronikci
eğer denemeyi lpc2104 için yaptıysanız o mcu da GPIO1 diye bir port yok.GPIO0 var.
Koddaki IODIR1 , IOSET1 , IOCLR1 olan yerleri IODIR0 , IOSET0 , IOCLR0 olarak değiştirip denemeyi deneyin.
Şuan yukarıda sizin yazdığınız kod bende çalışıyor.
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

teknikelektronikci

cevaplar icin tesekür ederim
ekde proteus varmis görmedim kuusra bakmayin

fatihinanc üstad c yi ve bu arm oalyini daha yeni ögreniyorum o yüzden olcak bu kadar :)


hocam generator dc ollarak yapmyiorum genelde bu 8. kisimdaki bölümdne sase ve voltajlari yapiorum ama söylediginizide deniyecem tesekürler
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

teknikelektronikci

#7
bir sey daha sormak isterim mesela bu iodir ioset bunlari datasheet e arattigimda bunlarla ilgiye bilgiye ulasamiyorum sadece gpio ya ait register oldugu yaziyor ve adresleri yaziyor bu gibi bilgiler niye "PIC" datasheet deki gibi değil veya ben farkli bir dükümana mi bakiyorum ?


edit:

http://rapidshare.com/files/417902857/Neuer_Ordner.rar

linkte dosyalar var ayrica sizin isi dosyasi ilede denedim olmuyor dediigniz ayarlari yaptim port 0 icin
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

fatihinanc

galiba bunlarda datasheet denildiği zaman çipin modelleri,genel yapısı... kısacası mcu genel olarak inceleniyor.

datasheetdeki başlıklar;


bizim işimize yarayan şey bu noktada users maual diye tabir edileni ;)

http://www.nxp.com/documents/user_manual/UM_LPC2106_2105_2104.pdf
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

teknikelektronikci

Alıntı yapılan: fatihinanc - 08 Eylül 2010, 22:05:54
galiba bunlarda datasheet denildiği zaman çipin modelleri,genel yapısı... kısacası mcu genel olarak inceleniyor.

datasheetdeki başlıklar;
(Resim gizlendi görmek için tıklayın.)

bizim işimize yarayan şey bu noktada users maual diye tabir edileni ;)

http://www.nxp.com/documents/user_manual/UM_LPC2106_2105_2104.pdf

Hay hocam allah sizden razi olsun :D valla delircekdim :P arm ye kac zaamndir hevesliyim c ögrenmek istyiorum bu yüzden bir baslayalim deidk az kalsin vazgeciyordum bu biraz iyi geldi :)
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

fatihinanc

hocam sizin projenizde startup.s ve retarget.c dosyaları eksik. örnek olsun diye ben kendi proje dosyamı göndereyim size.
http://www.4shared.com/file/XJzHkhoT/shiftregister.html
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

teknikelektronikci

#11
hocam tesekür ederim
bunu kullanmamiz gerektigini bilmiyordum fakat verdiginiz programda

include <startup.s> diye bir sey yok buna ragmen projede eklenmis vaziete ben bunu kendi projeme nasil eklerim ? projenin olduug klasör olabilirmi :)

edit : ekleyebildim c klasörünü ekler gibiymis :D
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

fatihinanc

hocam soldaki menulerden ekleme yapılabiliyor. gönderdiğim projede startup. dosyası solda "Startup Code" kısmında ekli mesela.
diğerleri aynı şekilde...
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

teknikelektronikci

ya hocam sorun dosyada degilmis yanlis dosyayi gösterip duruyormusum :) ayni isimde farkli dosyayi :D neyse simdi calisiyor tesekürler ilginize :)
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

teknikelektronikci

gercekten su an cok heveslendim umarim kisa sürede gelir kitler

sormak istediigm bir sey daha var c de geciktirme kütüphanesi iicn yani delay_ms icin hangi kütüphaneyi eklemek gerekyior acaba ?
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!