📄 串口测试.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 + -