Picproje Elektronik Sitesi

DERLEYİCİLER => Diğer Derleyiciler => IAR => Konuyu başlatan: subram - 14 Mart 2011, 03:36:19

Başlık: IAR delay sleep sorunu
Gönderen: subram - 14 Mart 2011, 03:36:19
merhaba elimde msp430 launchpad var. C bilmediğim için bu vesile ile C'yi de öğrenmeye çalışıyorum. programda gcikme kullanmk istiyorum fakat hangi komut tam olar bilmiyorum. "delay_ms()" ve "sleep()" komutlarını kullandım fakat olmadı. Ne yapmam lazım?
Başlık: Ynt: IAR delay sleep sorunu
Gönderen: Erol YILMAZ - 14 Mart 2011, 14:27:46
IAR derleyici içinde delay gibi bir fonksiyon olmayabilir !

Kısa zamanlı gecikmeleri basit bir döngü ile yapabilirsin.

Uzun olanlar zaten "Delikanlı programcıyı bozar..."

Kolay gelsin...
Başlık: Ynt: IAR delay sleep sorunu
Gönderen: subram - 14 Mart 2011, 14:34:21
programda şöyle birşey kullanıyorum gecikme için ;
for (i = 500; i > 0; i--);
dediğiniz gibi ise yani IAR de delay gibi bir fonksiyon yoksa biraz garip açıkcası.  IAR kullanan arkdaşlar nasıl yapıyor acaba...
Başlık: Ynt: IAR delay sleep sorunu
Gönderen: Erol YILMAZ - 14 Mart 2011, 14:55:31
Alıntı yapılan: ramoon - 14 Mart 2011, 14:34:21
programda şöyle birşey kullanıyorum gecikme için ;
for (i = 500; i > 0; i--);
dediğiniz gibi ise yani IAR de delay gibi bir fonksiyon yoksa biraz garip açıkcası.  IAR kullanan arkdaşlar nasıl yapıyor acaba...

Ben  IAR  kullanmıyorum fakat delay_ms() gibi bir fonksiyon da kullanmıyorum,
Bu açıkçası işlemciyi AŞIRI derecede BAĞLAYAN bi fonksiyon.
Görevler çok, Yola devam! kabilinden,

10 ms'de 1 kere oluşturduğum Timer Tick leri sayıyorum,,,
İstediğim adede varıncaya kadar diğer görevleri de yapabiliyorum.

"delay_ms"  gibi bir fonksiyonu ancak "Yeni başlayanlar için" yazılmış Derleyiciler de bulabilirsiniz.
IAR, KEIL, GCC gibi sağlam derleyicilerde bulunmaz.

Bunun yanında RTOS  veya Real Time Kernel lerde
"sadece o görevi" bekleten,
delay_tick()
sys_sleep()
sleep()    gibi fonksiyonlar var.
Ama bunlar sadece o görevi bekletmeyi becerebilen sistemler...


Kolay gelsin...
Başlık: Ynt: IAR delay sleep sorunu
Gönderen: subram - 14 Mart 2011, 22:21:01
yorumların için teşekürler..
Başlık: Ynt: IAR delay sleep sorunu
Gönderen: controller - 14 Mart 2011, 22:47:20
IAR'da gecikme için __delay_cycles() fonksiyonu var. AVR'da kullanıyordum, MSP430 içinde olması lazım.

Bu fonksiyon değişken parametre almıyordu sanırım, sabit değer vermelisiniz.

Örnek, 16MHz kristalli AVR için;

__delay_cycles(16000000);

satırı 1 saniye gecikme yapar.
Başlık: Ynt: IAR delay sleep sorunu
Gönderen: subram - 14 Mart 2011, 22:53:28
hocam işe yaramadır dediğiniz!  şöyle bir hata mesajı alıyorum;

Building configuration: subram - Debug
Updating build tree...
main.c 
Warning[Pe223]: function "__delay_cycles" declared implicitly C:\Documents and Settings\smurf\Desktop\msp\main.c 49
Linking
Error[e46]: Undefined external "__delay_cycles" referred in main ( C:\Documents and Settings\smurf\Desktop\msp\
Debug\Obj\main.r43 )
Error while running Linker

Total number of errors: 2
Total number of warnings: 2
Başlık: Ynt: IAR delay sleep sorunu
Gönderen: controller - 14 Mart 2011, 22:59:58
Header dosyasını eklemen lazım, sanırım <inmsp.h>
Başlık: Ynt: IAR delay sleep sorunu
Gönderen: subram - 14 Mart 2011, 23:07:17
#include <io430x20x1.h>
#include <inmsp.h>


kodu yukarıdaki şekilde ekledim yine hata mesajı verdi;

Building configuration: subram - Debug
Updating build tree...
main.c 
Fatal Error[Pe1696]: cannot open source file "inmsp.h" C:\Documents and Settings\smurf\Desktop\msp\main.c 15
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0 Evaluation\430\inc\dlib\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0 Evaluation\430\inc\"
            searched: "C:\Program Files\IAR Systems\Embedded Workbench 6.0 Evaluation\430\inc\dlib\c\"
Error while running C/C++ compiler

Total number of errors: 2
Total number of warnings: 0
Başlık: Ynt: IAR delay sleep sorunu
Gönderen: controller - 14 Mart 2011, 23:10:54
MSP430 kullanmadım ezbere hangi header dosyasında olduğunu bilmiyorum, fonksiyonu header dosyaları içinde aramayı deneyin, birinde çıkacaktır.
Başlık: Ynt: IAR delay sleep sorunu
Gönderen: subram - 15 Mart 2011, 00:51:47
bakalım umarım bulurum
Başlık: Ynt: IAR delay sleep sorunu
Gönderen: fatihinanc - 15 Mart 2011, 08:09:41
Hocam in430.h i eklemeniz gerekiyor.

#include "in430.h"
Başlık: Ynt: IAR delay sleep sorunu
Gönderen: subram - 15 Mart 2011, 13:10:34
Alıntı yapılan: fatihinanc - 15 Mart 2011, 08:09:41
Hocam in430.h i eklemeniz gerekiyor.

#include "in430.h"

sağol fatih hocam aradığım buydu. msp430 ile ilgili yazılarınızı takip ediyorum. lauchpad ile ilgili bir iki devre yapmayı düşünüyorum bende. ama önce şu C yi öğrenmem lazım :D