⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 串口测试.c

📁 AVR学习开发 板
💻 C
字号:
/**************************************************************
     实验名称:串口通信演示实验
	     作者:王晓波
		 晶振:内部   8M
     接线方法:
	          1.PD0接RXD,PD1接TXD
			  2.打开串口调试助手
	 使用说明:
	         1.本程序能够测试串口数据发送与接收。发送采用
			 查询方式,接收采用中断方式,通信波特率为19200。
			 2.当上位机软件发送一串数据时,单片机收到后回送相同
			 的数据。
*****************************************************************/
	 
#include <iom8v.h>
#include <macros.h>
#pragma interrupt_handler uart_getchar:12//开启串口接收中断
void uart_init(void)
{
 	 UCSRB|=(1<<RXEN)|(1<<TXEN)|(1<<RXCIE);//发送使能,接收使能,接收中断使能
	 UBRRL=25;//波特率19200
	 UBRRH=0x00;
	 UCSRC|=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);//8位数据,无检验,1个停止位
	 SREG=0x80;
}
void uart_putchar(char x)
{
 	 while (!(UCSRA&0x20))//查询发送区是否为空
	 ;
	 UDR=x; //发送数据 
}

unsigned char uart_getchar(void)//接收数据 
{
	 char y;
	 while (!(UCSRA&(1<<RXC)));
	 y=UDR;
	 uart_putchar(y);//把接收到的数据返回给上位机
	 //return UDR; 
}
void uart_main()
{
	 DDRD=0x03;//打开串口端口
	 uart_init();//串口初始化
	 while(1)
	 {
	 ;
	 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -