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なりで動作確認.