MSPM0 사용하면서 가장 기본이 되는 장치라 할 수 있는 UART 테스트를 해 보자.
syscfg를 사용하면 쉽게 UART를 추가 하고 간단하게 설정 할 수 있다.
MSPM0의 UART핀맵도 쉽게 설정가능하다.
기본 코드를 생성하고 DL_UART_Main_transmitDataBlocking() 함수로 UART로 데이터 전송이 가능하다.
#include "ti_msp_dl_config.h"
#define DELAY (32000000)
int main(void)
{
SYSCFG_DL_init();
while (1)
{
delay_cycles(DELAY);
DL_GPIO_togglePins(GPIO_GRP_0_PORT, GPIO_GRP_0_PIN_0_PIN);
DL_UART_Main_transmitDataBlocking(UART_0_INST, ‘a’);
}
}
printf 사용하기
printf를 사용하려면 fputc, fputs 함수를 재정의 하면 된다.
#include <stdio.h>
#include <string.h>
int fputc(int ch, FILE *f)
{
DL_UART_transmitDataBlocking(UART_0_INST, ch);
return (ch);
}
int fputs(const char* restrict s, FILE* restrict stream)
{
uint16_t i,len;
len = strlen(s);
for(i=0;i<len;i++)
{
DL_UART_transmitDataBlocking(UART_0_INST, s[i]);
}
return len;
}
int puts(const char* _ptr)
{
int count = fputs(_ptr,stdout);
count += fputs("\n",stdout);
return count;
}
int main(void)
{
SYSCFG_DL_init();
while (1)
{
delay_cycles(DELAY);
DL_GPIO_togglePins(GPIO_GRP_0_PORT, GPIO_GRP_0_PIN_0_PIN);
//DL_UART_Main_transmitData(UART0, 'a');
printf("%d\r\n", cnt++);
}
}
반응형