×
单片机 > 单片机程序设计 > 详情

AVR的uart串口通信程序

发布时间:2020-06-04 发布时间:
|

//  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}  
           
unsigned char getchar(void)  
      {  
      while(!(UCSRA& (1   }   
             
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         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);   
              }    
        }  
}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机中高阻态的实质及意义