[PR]
SEO
TOPへ戻る
★
20070716 WinAVRのUSART(SIO)シリアルを試してみる2
ちょっと前に、シリアル通信の確認を行いましたが、送信だけの確認でしたので、受信側も試してみます。
※ATmega168 20MHz にて、確認を行っています。他のシリーズを使用する場合レジスタ等を変更してください。
★
ソースコード
#include
#include
#define FOSC 20000000 // 20MHz /** sio設定 **/ #define BAUD 38400 #define MYUBRR FOSC/16/BAUD-1 // sio分周率 /* No Operation */ void nop(int count){ int i; for(i = 0; i < count; i++){ _delay_ms(100); } } /* PORT設定 */ void port_init(void){ DDRB = 0x01; PORTB = 0x00; } /* sio設定 */ void sio_init(unsigned int ubrr){ UBRR0H = (unsigned char)(ubrr>>8); // ボーレート上位8bit UBRR0L = (unsigned char)ubrr; // ボーレート下位8bit UCSR0B = (1<
このコードで、ハイパーターミナルで文字を入力すると、エコーバックされることは確認しました。
で、本当は割り込みによる受信を行いたいのですが、受信割り込みによる受信がうまくできない。
2007/07/15 初版
TOPへ戻る