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)
Hani nerdesiniz armcılar, bilen yok mu?
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
/*----------------------------------------------------------------------------
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
}
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,