📄 uart.c
字号:
//**********************************
//*版本: Test 1.0
//*作者: XUGUOHONG
//*E-MAIL: KK20Y@YAHOO.COM.CN
//*WEBSITE:microdesign.000webhost.com
//**********************************
#include <iom162v.h>
void uart_init(void);
void uart_send(unsigned char);
unsigned char uart_rev(void);
//串口通信初始化设置
//1. 波特率设定
//2. 帧结构设定
//3. 接收和发送允许控制
void uart_init(void)
{
UBRR0H=0x00; //Fosc频率为16.0000Mhz
UBRR0L=0x33; //波特率设定为19200bps +/-0.2%
UCSR0B|=(1<<RXEN0)|(1<<TXEN0);
UCSR0C=(1<<URSEL0)|(1<<UCSZ01)|(1<<UCSZ00); //8位数据+无奇偶校验+1位STOP
}
void uart_send(unsigned char data)
{
while ( !( UCSR0A & (1<<UDRE0)) ) //检测是否可以发送,UDRE=1寄存器为空
;
UDR0=data;
}
unsigned char uart_rev(void)
{
while ( !(UCSR0A & (1<<RXC0)) ) //检测是否接收完成
;
return UDR0; //返回接收数据
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -