[AVR]/Mega82018. 8. 22. 05:55

ATmega88 EVM - Atmel START UART 테스트 예제

ATmega88 EVM - Atmel START UART 테스트 예제




Atemel Studio로 새로운 Atmel START 프로젝트를 생성해서 


"Add software component" 메뉴로 UART 드라이버를 추가 한다.






UART_0 가 생성되고 설정을 클릭해 보면 핀맵 및 보레이트 등의 UART 관련 설정들을 설정할 수 있다.

그리고 printf 지원 여부도 선택 할 수 있다.





이후에 프로젝트 생성하면 기본 코드가 자동으로 생성된다.





자동 생성된 코드는 usart_basic.c 파일로 저장되어 있고 주요 함수를 보면 아래와 같다.

AVR UART 초기화 코드

int8_t USART_0_init()

{


// Module is in UART mode


/* Enable USART0 */

PRR &= ~(1 << PRUSART0);


#define BAUD 115200


#include <utils/setbaud.h>


UBRR0H = UBRRH_VALUE;

UBRR0L = UBRRL_VALUE;


UCSR0A = USE_2X << U2X0 /*  */

         | 0 << MPCM0;  /* Multi-processor Communication Mode: disabled */


UCSR0B = 1 << RXCIE0    /* RX Complete Interrupt Enable: enabled */

         | 0 << UDRIE0  /* USART Data Register Empty Interupt Enable: disabled */

         | 1 << RXEN0   /* Receiver Enable: enabled */

         | 1 << TXEN0   /* Transmitter Enable: enabled */

         | 0 << UCSZ02; /*  */


// UCSR0C = (0 << UMSEL01) | (0 << UMSEL00) /*  */

// | (0 << UPM01) | (0 << UPM00) /* Disabled */

// | 0 << USBS0 /* USART Stop Bit Select: disabled */

// | (1 << UCSZ01) | (1 << UCSZ00); /* 8-bit */


#if defined(__GNUC__)

stdout = &USART_0_stream;

#endif


return 0;

}



AVR UART 송수신 코드

void USART_0_write(const uint8_t data)

{

while (!(UCSR0A & (1 << UDRE0)))

;

UDR0 = data;

}



uint8_t USART_0_read()

{

while (!(UCSR0A & (1 << RXC0)))

;

return UDR0;

}





Posted by nexp

댓글을 달아 주세요

[AVR]/Mega82018. 8. 22. 05:54

AVR Studio7 Atmel START 을 이용한 개발 환경설정

 AVR Studio7 Atmel START을 이용한 개발 환경설정






AVR 개발환경으로 Atmel START를 사용해 보았다. ST의 경우 CubeIDE를 제공하는데 요즘 MUC 추세가 개발환경의 편리성이 아닐까...


간단히 사용해본 소감은 상당히 편리하고 안정적이다. CubeIDE의 경우 뭔가 불편한 점들이 많았는데 그런 불편한 점들이 개선된 느낌.



아무튼 Atmel START를 사용하려면  웹상에서 개발하는 방법이 있고 atmel-studio-7를 설치 해서 사용할 수 도 있다.

https://start.atmel.com/


https://www.microchip.com/mplab/avr-support/atmel-studio-7






Atemel Studio 설치 하고 새로운 프로젝트를 Atmel START 메뉴로 생성한다.





AVR 디바이스를 선택한다.





각종 핀 설정 및 기능을 설정한다.

설정이 끝나면 Generate Project 로 프로젝트를 성성한다.






Atemel Studio에서 자동 코드가 생성되며 컴파일 및 프로그밍 할 수 있다.






atmel_start_pins.h 파일에서 생성 코드의 라이브러리를 확인 할 수 있다.





참고로 AVRISP  mkii 펌웨어 업데이트 에러 메시지가 출력 되는경우 옵션에서 펌웨어 업데이트 체크를 하지 않으면 해결 된다.





Posted by nexp

댓글을 달아 주세요