嗨,我是新來的,我需要幫助。假設只是在實際中顯示'S',而不是'null'。會有什麼問題?它可以是註冊表嗎?或代碼本身?atmega8 UART-不顯示字符在realterm
#include <avr/io.h>
#include <util/delay.h>
void UART_Init(unsigned int ubrr)
{
UBRRH=(unsigned int)(ubrr>>8);
UBRRL=(unsigned int)ubrr;
UCSRA=0x00;
UCSRB=(1<<TXEN)|(1<<RXEN);
UCSRC=(0<<USBS)|(1<<UCSZ0)|(1<<UCSZ1);
}
void UART_Tx(unsigned char chr)
{
while (bit_is_clear(UCSRA,UDRE)){}
UDR=chr;
}
int main(void)
{
UART_Init(95);
DDRD|=0B11111111;
PORTD|=0B11111111;
while(1){
_delay_ms(10);
UART_Tx('S');
}
}
系統在xtal上以14745600Hz運行。主機速度爲9600波特。所有的設置應該是8N1。
它與14745600赫茲外部晶體運行,8位無奇偶校驗1停止位 – user2211932 2014-10-10 11:11:30
波特9600,8位無奇偶校驗1停止位 – user2211932 2014-10-10 11:18:12