📄 uart.c
字号:
#include "iom16v.h"
#include "macros.h"
#include "main.h"
void main(void)
{
uart_init(); //TART初始化
SEI();
//全局中断使能
for(;;)
{
//USART_TXD(08); //发送时选择
int i= Uart_Receive( );//把接受到的数据在显示出来
USART_TXD(i);
}
}
//===============================================================
void uart_init(void) //UART初始化
{ DDRD = 0x02;
PORTD = 0x00;
UCSRA = 0x02; /*无倍速*/
UCSRB = 0x18; /*允许接收和发送*/
UCSRC = 0x06; /*8位数据,1位停止位,无校验*/
UBRRH = 0x00;
UBRRL = 12; /*9600*/
}
//===============================================================
void USART_TXD(uint8 data) //发送采用查询方式
{
while( !(UCSRA & BIT(UDRE)) );
UDR=data;
while( !(UCSRA & BIT(TXC )) );
UCSRA|=BIT(TXC);
}
/*数据接收,查询方式*/
unsigned char Uart_Receive( void ) {
while (!(UCSRA & (1<<RXC))); /* 等待接收数据*/
return UDR; /* 获取并返回数据*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -