// 1、使用ICCAVR的終端調試窗口(Terminal),進行通信調試。
// 2、對ICCAVR的終端調試窗口進行設置,設置串口為com1或com2
// 通信波特率為19200(Tools->Environment Options...)。
// 3、將PC屏幕光標定位于調試窗口中。
#include
#define fosc 8000000 //晶振8MHZ
#define baud 19200 //波特率
#define osc_address 0x1ff0
extern unsigned char read_flash(unsigned int add);
void putchar(unsigned char c)
{
while (!(UCSRA&(1< UDR=c;
}
unsigned char getchar(void)
{
while(!(UCSRA& (1< return UDR;
}
int puts(char *s)
{
while (*s)
{
putchar(*s);
s++;
}
putchar(0x0a);//回車換行
putchar(0x0d);
return 1;
}
void putstr(char *s)
{
while (*s)
{
putchar(*s);
s++;
}
}
void uart_init(void)
{
OSCCAL=read_flash(osc_address);
UCSRB=(1< UBRRL=(fosc/16/(baud+1))%6;
UBRRH=(fosc/16/(baud+1))/256;
UCSRC=(1<}
void main(void)
{
unsigned char i;
uart_init();
puts("廣州天河雙龍電子公司RS232通信演示程序");
puts("HTTP://WWW.SL.COM.CN");
puts("MAIL Tsllg@sl.com.cn");
while(1)
{
i=getchar();
if (i!=0)//按PC鍵盤開始測試
{
putstr("當前按鍵是:");
putchar(i);
putchar(0x0a);
putchar(0x0d);
puts("廣州天河雙龍電子公司RS232通信演示程序");
puts("HTTP://WWW.SL.COM.CN");
puts("MAIL Tsllg@sl.com.cn");
putchar(0x0a);
putchar(0x0d);
}
}
}