Picproje Elektronik Sitesi

DERLEYİCİLER => Diğer Derleyiciler => KEIL => Konuyu başlatan: esensoy - 25 Ocak 2015, 22:52:06

Başlık: CMSIS UART Kütüphaneyi kullanma
Gönderen: esensoy - 25 Ocak 2015, 22:52:06
Keil 5.13 yüklü, bir proje açtım,
Elimde Keil in MCB1700 muadili bir bord var, (LandTiger V2.0 LPC1768)
https://developer.mbed.org/users/wim/notebook/landtiger-baseboard/ (https://developer.mbed.org/users/wim/notebook/landtiger-baseboard/)

Amaç; CMSIS kütüphanesini kullanarak UART0'dan 8N1 @115200bps string yollamak,
Bu amaç için ne kod eklemeliyim ki UART0 dan veri gönderebileyim?

Proje durumu;(http://i.hizliresim.com/rmpVkz.jpg) (http://hizliresim.com/rmpVkz)
Başlık: Ynt: CMSIS UART Kütüphaneyi kullanma
Gönderen: esensoy - 26 Ocak 2015, 15:35:20
Hani nerdesiniz armcılar, bilen yok mu?
Başlık: Ynt: CMSIS UART Kütüphaneyi kullanma
Gönderen: CLR - 26 Ocak 2015, 16:15:49
Aşağıda bolca örnekler var , sadece uart kısmına girip hangisini kullanacaksan incelemen gerekiyor (polling, dma, interrupt, 485 vs)

https://gitorious.org/nxp-lpc1768-cmsis/nxp-lpc1768-cmsis/source/3596e8614073ab5378efdbc9f3141928298f8f0e:Examples
Başlık: Ynt: CMSIS UART Kütüphaneyi kullanma
Gönderen: mistek - 26 Ocak 2015, 16:19:23


/*----------------------------------------------------------------------------
   UART1 pin ve Baudrate ayari
*----------------------------------------------------------------------------*/
void UART1_init (void)
{

     LPC_SC->PCONP |= ((1 << 4) | (1 << 15)); // UART1 & IOCON  aktif
 
     //LPC_PINCON->PINSEL4 |=  (2 << 0);        //Pin P2.0 pini TXD1           
     //LPC_PINCON->PINSEL4 |=  (2 << 2);        // Pin P2.1 pini RXD1           
     LPC_PINCON -> PINSEL0  |= 1 << 30; //P0.15 pini TXD1   
     LPC_PINCON -> PINSEL1  |= 1 << 0;  //P0.16 pini RXD1

     LPC_UART1->LCR    = 0x83;                     // 8 bits, no Parity, 1 Stop bit   
     LPC_UART1->DLL    = 108;   //9600baud         // 115200 Baud Rate için 9yaz @ 25.0 MHZ PCLK
     LPC_UART1->FDR    = 0x21;                     // FR 1,507, DIVADDVAL=1, MULVAL=2
     LPC_UART1->DLM    = 0;                        // High divisor latch = 0         
     LPC_UART1->LCR    = 0x03;                     // DLAB = 0                       
   return;
}


/*----------------------------------------------------------------------------
  Karakter Yazma - UART1
*----------------------------------------------------------------------------*/
int UART1_putchar (int c)
{
     while (!(LPC_UART1->LSR & 0x20));    //THR bosalana kadar bekle
     LPC_UART1->THR = c;      // c yi gönder
     return (c);
}

/*----------------------------------------------------------------------------
  Karakter Okuma - UART1
*----------------------------------------------------------------------------*/
int UART1_getchar (void)
{
     while (!(LPC_UART1->LSR & 0x01));    //RBR bosalana kadar bekle
     return (LPC_UART1->RBR);      //RBR yi oku
}
Başlık: Ynt: CMSIS UART Kütüphaneyi kullanma
Gönderen: esensoy - 26 Ocak 2015, 16:21:29
Bunlar bordun cdsinde de var zaten, benim merak ettiğim CMSIS kütüphanesi ile nasıl oluyor?

@clr senin gönderdiğini şimdi gördüm, Bir inceleyeyim de peşin konuşmuş olmıyayım,