'driverlib'에 해당되는 글 1건

  1. 2012.02.05 TI stellarisware / driverlib 기본설정 (uart예제) (4)
embeded/Cortex-M3 Ti2012.02.05 22:08
driverlib 관련 분석 내용 / uart 예제사용
전반적으로 초기화 설정을 보면 무언가.. 중복되도록 설정하는 느낌?
특히 UART의 경우에는 몇단계를 통해서 설정을 하는 것을 보면...

함수설명
extern void SysCtlClockSet(unsigned long ulConfig); // 클럭설정을 하도록 함.
 

extern void SysCtlPeripheralEnable(unsigned long ulPeripheral); // 포트를 사용하도록 설정함
extern void GPIOPinConfigure(unsigned long ulPinConfig); // GPIO로 쓸지 하드웨어 내장 기능을 쓸지 설정함

extern void GPIOPinTypeGPIOInput(unsigned long ulPort, unsigned char ucPins); // 해당 포트의 해당핀을 입력용으로 설정
extern void GPIOPinTypeGPIOOutput(unsigned long ulPort, unsigned char ucPins); // 해당 포트의 해당핀을 출력용으로 설정
extern void GPIOPadConfigSet(unsigned long ulPort, unsigned char ucPins, unsigned long ulStrength, unsigned long ulPadType);
                                                                                  // 해당 포트의 해당핀에 대한 GPIO 드라이브 전류와 pull-up / open-drain 설정
 

예제설명
int main(void)
{
    char cThisChar;

    // 시스템 클럭설정
    SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_OSC|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHZ);
    // UART0 기능을 사용하도록 함
    SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
    // UART 핀이 포함된 GPIOA 포트를 사용하도록 함
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
    // GPIO A의 0번 핀을 U0 RX로 사용하도록 함
    GPIOPinConfigure(GPIO_PA0_U0RX);
    // GPIO A의 1번 핀을 U0 TX로 사용하도록 함
    GPIOPinConfigure(GPIO_PA1_U0TX);
    // GPIO A의 0번 1번 핀을 UART에 할당함
    GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
    // UART의 클럭소스와 Baudrate등을 설정함
    UARTConfigSetExpClk(UART0_BASE, SysCtlClockGet(), 115200,
                       (UART_CONFIG_WLEN_8|UART_CONFIG_STOP_ONE|UART_CONFIG_PAR_NONE));
    do
    {
        // UART0로 부터 1문자를 받아옴(blocking 방식)
        cThisChar = UARTCharGet(UART0_BASE);
        // 받아온 문자을 UART0로 출력함
        UARTCharPut(UART0_BASE, cThisChar);
    } while((cThisChar != '\n') && (cThisChar != '\r'));

    return(0);
}

신고
Posted by 구차니

댓글을 달아 주세요

  1. 많이 보던 소스인데..
    c 같기도 하고 아닌것 같기도 하고.. ㅎㅎ
    오랜동안 랭귀지를 배우니.. 이제 실력도 많이 좋아졌겠어요!

    2012.02.06 13:56 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • C는 C 입니다만 TI cortex-m3 용 마이콤 소스에요 ㅋ
      항상 프로그래밍은 하지만 정리할께 없으면 소스코드를 올리지는 않아서요 ㅋㅋ

      근데 실력은 갈수록 주는 느낌이에요 ㅠ.ㅠ

      2012.02.06 14:00 신고 [ ADDR : EDIT/ DEL ]
  2. 이제 개발 한번 안해보실래요? ㅎㅎ
    요즘 개발자 구하기가 하늘의 별따기라는데.. ㅋㅋㅋ

    2012.02.06 13:57 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 개발은 항상 하고 있어요 ㅋㅋ
      일단은 개띠인것도 있고 직업은 개발자니까요 ㅋㅋ


      개발자는 구하기 쉬운데
      "쓸만하고 저렴한" 개발자는 구하기 힘들죠 ㅠ.ㅠ

      2012.02.06 14:01 신고 [ ADDR : EDIT/ DEL ]