CMSIS UART Kütüphaneyi kullanma

Başlatan esensoy, 25 Ocak 2015, 22:52:06

esensoy

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/

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;
En tehlikeli an "zafer" anıdır.

esensoy

Hani nerdesiniz armcılar, bilen yok mu?
En tehlikeli an "zafer" anıdır.

CLR

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
Knowledge and Experience are Power

mistek

/*----------------------------------------------------------------------------
   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
}
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

esensoy

#4
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,
En tehlikeli an "zafer" anıdır.