ATmega128 シリアル ポートを USB-シリアル コンバーター経由でコンピューターに接続する際に問題があります。USB-シリアル コンバーターを使用してコンピューターを CDMA モデムに接続したため、USB シリアル コンバーターは検証済みです。ただし、atmega128 に接続しようとすると、問題がわかりません。シリアルLCD(CLCD)に接続してみましたが、問題なく動作しています。仮想端末でのシミュレーションでも問題ありません。シリアルポートに関連する何かを見逃していないかどうか知りたいです。ハードウェアオプションと仮想端末でボーレートを確認しました。これがコードです。
#include<avr/io.h>
#include<util/delay.h>
char str1[]="AT\r\n";
char str2[]="AT+CMGF=1\r\n";
char str3[]="AT+CMGS=\"01068685673\"\r\n";
char str4[]="hello\x1A\r\n";
int i;
void TX_CHAR(char ch)
{
while(!(UCSR1A&0x20));
UDR1=ch;
}
int main()
{
UBRR1H=0; UBRR1L=103; UCSR1B=0x08;
UCSR1C=0b00000110;
while(1)
{
i=0; while(str1[i])TX_CHAR(str1[i++]);
_delay_ms(200);
i=0; while(str2[i])TX_CHAR(str2[i++]);
_delay_ms(200);
i=0; while(str3[i])TX_CHAR(str3[i++]);
_delay_ms(200);
i=0; while(str4[i])TX_CHAR(str4[i++]);
_delay_ms(3000);
}
}