AVRStudio5でUSART(とりあえず送信だけ)

引き続きAVRStudio5でUSART.
手っ取り早くテストするために送信だけ.
HW的には前回と同じですが,シリアル通信用のモジュール(マルツ製MPL2303SA)を使います.

#include <avr/io.h>
#include <util/delay.h>

#define FOSC 16000000//16MHz(クリスタル)で動作させる

#define BAUD 9600//ボーレートの設定.
#define MYUBRR FOSC/16/BAUD-1//UBRRの算出

void port_init(void){
	DDRB = 0x01;//前回と同じ
	PORTB = 0x00;
}

void usart_init(unsigned int ubrr){
	UBRR0H = (unsigned char)(ubrr>>8);
	UBRR0L = (unsigned char)ubrr;
	UCSR0B = (1<<RXEN0)|(1<<TXEN0);//RxD, TxD設定
	UCSR0C = (1<<USBS0)|(3<<UCSZ00);//データは8bit
}

int main(void)
{
	port_init();//LED点滅用ポート初期設定
	usart_init(MYUBRR);//USART初期設定
	
    while(1)
    {
		UDR0 = 'A';//Aを送信.
		PORTB = ~PORTB;//LEDチカチカさせる.
		_delay_ms(300);	
    }
}

MPL2303SA用のドライバをインストールすれば,COMポートとして利用できる.
ハイパーターミナルなり,Acknwrichなりで動作確認.