Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

MSP430F447

Başlatan ayhan_eee, 15 Eylül 2012, 14:32:50

ayhan_eee

merhaba arkadaşlar elimde MSP430F447 deneme kartı var kendi tasarladığım.Staj yaptığım firmada yapmıştım.Ama programlayıcı-debugger ünitesi yok.bununla ilgili ne yapabilirim.Baktım ebay de 7 dolara programlayıcı gördüm ama sanırım debugger özelliği yok.Bu konuda ne önerirsiniz.Başka bir yolu varmıdır?Mesela bir launcpad edinip onun üstünden bir şekilde programlamak?Bu arada Core üzerinde debuggera uygun jtag girişi var?

Bu arada girmişken bir de saat kodu koyayım MSP430F447 ile yaptığım.Saatte kullandığım LCD özel üretim olduğu için onun yerine 2*16 lık lcd kullanılabilir.

/*Adi:BasicTimer ile Ayarli Saat
 *
 *Aciklama:BT birimi saat oluturuldu
 *Herhangi bir anda P1.0 basilrak ayarlama yapılabilir.
 *
 *Yazar:Ayhan Korkmaz
 */
#include "io430.h"
#include "LCD.h"

unsigned char sn1,sn2,dk1,dk2,s1,s2,i=1,x='?',a=0x00;
char s=0;
unsigned char j=1,yj=2;
char m=0;

void tara(unsigned char *x)
{

  
 P3OUT = BIT3;

      if(P3IN&BIT0)
      {       
        while(P3IN&BIT0);
        *x=1;
          } 
      if(P3IN&BIT1)
      {                              
        while(P3IN&BIT1);
       *x=2; 
      }
      if(P3IN&BIT2)
      {
        while(P3IN&BIT2);  
        *x=3;
      }

 
 
  

  P3OUT= BIT4;
 
      if(P3IN&BIT0)
      {
        while(P3IN&BIT0);  
        *x=4;
      }
     
      if(P3IN&BIT1)
      {
        while(P3IN&BIT1);  
        *x=5;
          }
      if(P3IN&BIT2)
      {
        while(P3IN&BIT2);
        *x=6;
      }
 
 
 

    P3OUT= BIT5;

      if(P3IN&BIT0)
      {
        while(P3IN&BIT0);
        *x=7;
      }
      if(P3IN&BIT1)
      {
        while(P3IN&BIT1);
        *x=8;
      }
      if(P3IN&BIT2)
      {
        while(P3IN&BIT2);
        *x=9;
      }
    P3OUT= BIT6;

      if(P3IN&BIT0)
      {
        while(P3IN&BIT0);
        *x='*';
      }
      if(P3IN&BIT1)
      {
        while(P3IN&BIT1);
        *x=0;
      }
      if(P3IN&BIT2)
      {
        while(P3IN&BIT2);
        *x='#';
      }

     
 
}


int main( void )
{
WDTCTL = WDTPW + WDTHOLD;

P3DIR  =0xF8; //Keypad icin giris cikis ayari

LCD_Init();


BTCTL = BT_ADLY_1000; // 1000ms de bir kesme yap
IFG2_bit.BTIFG=0;//BAsic Timer Flag sil
IE2_bit.BTIE=1;//BT izin ver
  
  P1IE_bit.P0=1;//P1.0 kesme izin ver
  P1IES_bit.P0=1;//
  P1IFG_bit.P0=0;
  
 //*********************************************TimerA Ayarlama
  TAR=0x0000;
  TACTL=TASSEL_2+ID_0+MC_1;
  TACCR0=50000;
  TACCTL0_bit.CCIE=0;
  //********************************************

__enable_interrupt();





for(;;)
{

if(i)
LCD_Yaz('Y',1,'P');
else
LCD_Yaz('Y',1,'O');
}

}

#pragma vector=BASICTIMER_VECTOR

__interrupt void sn(void)
{ 
  sn1++;
  if(sn1>9)
  {
    sn1=0;
    sn2++;
  }
      if(sn2>=6)
      {
        sn2=0;
        dk1++;
      }
          if(dk1>9)
          {
          dk1=0;
          dk2++;
          }
            if(dk2>=6)
            {
            dk2=0;
            s1++;
            }
  if(s2<2){
              if(s1>9)
              {
              s1=0;
              s2++;
              }
  }
  if(s2==2)
  {
  if(s1>=4)
  {
                s2=0;
                s1=0;
                dk1=0;
                dk2=0;
                sn1=0;
                sn2=0;
  }
  }
           
          
      
  
  
  
  
LCD_Sil(); 
LCD_Yaz('S',2,s2);
LCD_Yaz('S',3,s1);
LCD_Yaz('S',4,dk2);
LCD_Yaz('S',5,dk1);
LCD_Yaz('S',6,sn2);
LCD_Yaz('S',7,sn1);
if(i==1)
i=0;
else
i++; 

}

#pragma vector = PORT1_VECTOR

__interrupt void Ayar(void)
{
  if(j==1)   LCD_Sil();
  
TACTL_bit.TAIFG=0;  //TimerA bayrak temizle
TACCTL0_bit.CCIE=1;//TimerA calistir
IE2_bit.BTIE=0;//BT kapat

P1IFG_bit.P0=0;//P1.0 IF temizle


j++;

}

#pragma vector = TIMERA0_VECTOR

__interrupt void tersle(void)
{


if(j==yj)
{
s++;
if(s==10)
{
  m^=0x01;
Segment_Blink(m,j);
s=0;
}
}
 tara(&x);
if(x!='?')
{
  s=0;
  LCD_Seg_Sil(j);
  if(j==yj)
  {
    yj++;
  }
 if(j==2)
 { 
  
 LCD_Yaz('S',j,x);
 s2=x;
 }
  if(j==3)
 {
 s=0; 
LCD_Yaz('S',j,x);
 s1=x;
 } 
 if(j==4)
 {
   s=0;
LCD_Yaz('S',j,x);
 dk2=x;
 }
 if(j==5)
 {
   s=0;
LCD_Yaz('S',j,x);
 dk1=x;
 }
 if(j==6)
 {
    s=0;
LCD_Yaz('S',j,x);
 sn2=x;
 } 
 if(j==7)
 {
  
LCD_Yaz('S',j,x);
 sn1=x;
 
TACCTL0_bit.CCIE=0;
j=1;
yj=2;
IE2_bit.BTIE=1;
}
x='?';
}
TACTL_bit.TAIFG=0;
}


ayhan_eee

Bu konuda önerisi veya bilgisi olan yok mu?

fgokcegoz



Bu cihaz ile USB üzerinden programlama ve hata ayıklama(debugging) işlemlerini yapabilirsin. Texas Instruments ın sitesinde fiyatı 99$ olarak görünüyor. Eğer launchpad in varsa onun üzerindeki programlama kısmınıda kullanabilirsin. Ama eğer profesyonel olarak çalışacaksan TI ın kendi debugger ını kullanmak daha doğru olacaktır.

http://www.ti.com/tool/msp-fet430uif
"Vicdanın ziyası, ulûm-u diniyedir. Aklın nuru, fünun-u medeniyedir. İkisinin imtizacıyla hakikat tecelli eder." (Bediüzzaman Said Nursi)

ayhan_eee

Profesyonel olarak çalışmayacağım.Onun o fiyatta olduğunu biliyorum zaten stajda iken onunla programlayıp debug ettim.Benim aradığım şu anda alacabileceğim ucuz  ve kullanışlı birşey.Bende launcpad yok ancak onu kullanarak nasıl yapabilirim?Onu kullanırsam debug işlemi yapabilir miyim?Birde kullanımı yani programlama nasıl oluyor launcpad ile.Kolay mı kullanımı?

Birde ebayde 7 dolara programlayıcı var ama debug yok o yüzden sordum

mehmet

MSP430 başlangıcı istiyorsan LauncPad(MSP-EXP430G2)
kiti var. 4.3$ evine geliyor.
http://www.ti.com/tool/msp-exp430g2
ValueLine serisi mcu lar için yapılmış. USB üzerinden
programlayıp debug yapabilirisin.
http://www.cizgi-tagem.org/ sitesinden de bunla ilgili
dersler var.
TI'nin daha gelişmiş mcu larında debug yapmak
pahalı.

Saygılar...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

ayhan_eee

Elimde hazır kendi tasarladığım 447 gibi MCU varken onu kullanmak daha mantıklı geldi.Onun eve geldiğini biliyorum ama sorduğum onu alırsam onunla 447 üzerinde debug yapabilir miyim?
Ben zaten MSP430F447 nin neredeyse bütün ünitelerini kullandım bu arada.Sadece bundan sonra arada proje yapmak için istiyorum.

Baktım da 7 dolara programmer var ama debugerı yok.launcpad ile olabilir mi?

mehmet

#6
LauncPad sadece Spy-Bi ware ile programlama ve
debug yapabiliyor. F447 de sadece Jtag var.,
:(

Saygılar...

Not: Ebay'da bu var ama ne kadar güvenilir bilmiyorum...
http://www.ebay.com/itm/New-MSP430-MCU-Parallel-Debugger-JTAG-Programmer-Emulator-With-download-cable-/290612735569?pt=LH_DefaultDomain_0&hash=item43a9de6e51
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

ayhan_eee

onun için birde parelel to USB çevirici gerekir.Bence istenileni vermeyebilir.onun yerine,nasılsa elimde deneme kartım var,direk programer alayım diyorum ne dersiniz?

http://www.ebay.com/itm/Advanced-MSP430-BSL-USB-programmer-download-cable-USB-port-/180962175777?pt=LH_DefaultDomain_0&hash=item2a222fab21

ayhan_eee

Arkadaşlar bu aralar blogumda yazdığım kodları yayınlamaya başladım bir programıer alıp sorun olursa denemek istiyorum da en son önerdiğimi kullanan var mı?

demket

S.A., arkadaşlar,

MSP430-BSL-USB programlayıcıyı nasıl kullanıyoruz. JTAG bağlantısı vasıtasıyla mı? Eğer öyleyse bu programlayıcıdan elimde mevcut. Pinlerin ne olduğunu nereden bulabilirim?


ayhan_eee

JTAG ile programlanıyor.netten bilgi bulabilirsin bence