Msp430 İle RF Modül

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mt93
    mt93's avatar
    Kayıt Tarihi: 15/Ocak/2013
    Erkek

    Merhabalar,Belki daha önce kullananlar için basit gelebilir ama  Rf modül ile Led yakıp söndürmeyi bile beceremiyorum . :( 

    http://www.fatiherdem.net/atx-arx-rf-modullerinizi-test-edin/ bu linkteki kodu Msp430 'a uyarlayamadım.Amacım tuşa basıldığında alıcı devresindeki ledi yakmak sadece ama programlam konusunda acayip sıkıntılarım var.Yardımcı olur musunuz?

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    All hail to Tux
    sandman
    sandman's avatar
    Kayıt Tarihi: 01/Eylül/2005
    Erkek

    MSP430'ların farklı modelleri var her modele göre farklı bir pin yapısı oluyor. Pinlerden emin misin?


    Mühendis kahveyi projeye dönüştüren bir insan evladıdır.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    org00h
    org00h's avatar
    Kayıt Tarihi: 03/Mayıs/2015
    Erkek


    Hocam önceki konuda da belirttiğim gibi, modül ile iletişim için UART protokolünü kullanman gerekiyor. Doğru konfigürasyonu yaptıktan sonra, gönderici için veriyi UCA0TXIFG registerına yazman gerekiyor. Aşağıdaki örnek koda bakabilirsin (mcu-turkey sitesinden alıntıdır -> http://www.mcu-turkey.com/msp430-launchpad-msp430g2553-donanimsal-uart-kullanimi/).

    Konfigürasyonla ilgili olan kısım;

    UCA0BR0 = 52;
    UCA0BR1 = 0;
    //Modulator ayari
    UCA0MCTL = 0x11;//formule gore bkz.

    http://mspgcc.sourceforge.net/baudrate.html Bu adreste baud rate'ine uygun register ayarlarını hesaplayabilirsin



    #include
     
    //foksiyon prototipleri
    void UARTInit(void);
    void TXData(unsigned char c);
     
    void main(void){
        WDTCTL = WDTPW + WDTHOLD;// watchdog timer kapali
        //DCO clock frekansi ayarlari
        BCSCTL1 = CALBC1_8MHZ;
        DCOCTL = CALDCO_8MHZ;   
     
        UARTInit();//Uart ayarlari cagirildi
     
        P1DIR = 0x41;//P1.3 input, P1.0 & P1.6 output
        P1OUT = 0x00; // output bitleri temizleme
     
        __bis_SR_register(GIE);//kesmeler aktif
     
        while(1){
            if(!(P1IN&BIT3)){
                P1OUT = 0x01;
                TXData('M');
                __delay_cycles(16000000);//8MHZ de calistigi icin 2 sn lik bir bekleme
            }
            else
                P1OUT = 0x40;
        }
    }
    //Uart Ayarlari
    void UARTInit(void){
        P1SEL |= (BIT1 + BIT2);//P1.1 = RXD P1.2 = TXD
        P1SEL2 |= (BIT1 + BIT2);//P1.1 = RXD P1.2 = TXD
        UCA0CTL1 = UCSSEL_2; // clock source SMCLK
        //UCOS16 = 1 icin Baudrate ayarlari
        UCA0BR0 = 52;
        UCA0BR1 = 0;
        //Modulator ayari
        UCA0MCTL = 0x11;//formule gore bkz.
     
        UCA0CTL1 &= ~UCSWRST; // USCI islemleri icin UCSWRST registeri temizlendi
     
        IE2 |= UCA0RXIE; // RXD kesmesi aktif edildi
    }
     
    void TXData(unsigned char c){
        while(!(IFG2&UCA0TXIFG));//UCA0TXIFG UCA0TXBUF bos iken set edilir.
        UCA0TXBUF = c; // data gonderiliyor
    }

    Düzenleme: Yukarıdaki gönderici kodu. Alıcı tarafta TXData yerine UCA0RXBUF registerını kullanarak gelen veriyi okuman gerekiyor. Yani oda aşağıdakine benzer birşey olacak;

    int RXData(){

    int data = -1;

        if (IFG2 & UCA0RXIFG) {
            data = UCA0RXBUF;

    return data;
    }

    Interrupt aracılığı ile okuma yapmazsan yukarıdaki fonksiyonu main fonksiyonu içerisinde sonsuz döngü içerisinde kullanman gerekiyor (Eğer interrupt aktif edersen sadece karakter geldiğinde okuma yapabilirsin). Eğer gönderdiğin karakteri okursan da tanımladığın porttan çıkış alırsın.

     

    org00h tarafından 02/Ara/15 14:29 tarihinde düzenlenmiştir
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mt93
    mt93's avatar
    Kayıt Tarihi: 15/Ocak/2013
    Erkek
    org00h bunu yazdı


    Hocam önceki konuda da belirttiğim gibi, modül ile iletişim için UART protokolünü kullanman gerekiyor. Doğru konfigürasyonu yaptıktan sonra, gönderici için veriyi UCA0TXIFG registerına yazman gerekiyor. Aşağıdaki örnek koda bakabilirsin (mcu-turkey sitesinden alıntıdır -> http://www.mcu-turkey.com/msp430-launchpad-msp430g2553-donanimsal-uart-kullanimi/).

    Konfigürasyonla ilgili olan kısım;

    ..........

    ben yapamıyorum kafam basmıyor kaçıncı sabahlamam yok olmuyor.Çok fazla yardımınız dokundu teşekkür ederim ama sonuç olarak pes ediyorum  :(

     

     

     

    mt93 tarafından 06/Ara/15 04:48 tarihinde düzenlenmiştir
Toplam Hit: 1127 Toplam Mesaj: 4
modül msp430 led rf