msp430 sayıcı

Başlatan atioky_216, 19 Mayıs 2011, 22:56:06

atioky_216

Merhaba arkadaşlar msp430 un herhangi bir girişine gelen 1 ve 0 ın süresini hesaplamak istiyorum bir kod yazdım ama bazı noksanları var ;


#include "msp430g2231.h"
#include <time.h>
void main( void )
{
  int  i,j;
  int mesafe[10] ;
  int bekleme[10];
  WDTCTL = WDTPW + WDTHOLD;    //Watchdog timer durduruluyor...
  P1DIR = BIT0 ;               //1111 1110  sadece P1.0 giris  0xFD
  BCSCTL1= CALBC1_1MHZ;     
                              //DCOCLK 1 MHZ Seçiliyor...
  DCOCTL = CALDCO_1MHZ;

  while(1)
  {
 
  for(i = 1 ; i < 100 ; i ++) {     // her peryotta 1 arttir
     
    j=0;
   // Unutma döngülere girilirken R14 registeri sıfırlanıp başlıyo saymaya
   // bu registeri bir şekilde kullanmnın  yolunu bulmalıyız
   
    while (P1IN == 0x01){
                         mesafe[j]=mesafe[j]+1;  // bir gelme süresi hesaplanacak
                         j=j+1;
                     
                         }
   
   
   
    j=0;
    while (P1IN ==  0x00 ){
                        bekleme[j] =  bekleme[j] +1;  // sifir gelme süresi hesaplanacak
                        j=j+1;
                         }
     
                       
     
         
      }
}
}





Burada farkettiğim kadarı ile R14 registerini kullanabilirim ama C de nasıl kullanırım anlamadım.Arkadaşım time() ile süreyi hesapla dedi ama onu da yapamadım.
Oluşacak mesafe ve bekleme matrislerinin boyutu değişken olduğu için statik değil de dinamik matris kullanmak istiyorum yani bazı anlarda boyur 10binlerde olurken  bazen 5 te kalacak.

unun hakkında her türlü fikir paylaşımını bekliyorum.

NOT:Matrisleri yukarıda rasgele tanımladım sanki 1X11 boyutlu imiş gibi