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

📄 uart.c

📁 通过在ATMEGA16
💻 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 + -