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

📄 uart.c

📁 一个基于MEGA16的GUI
💻 C
字号:

/*********************************************************************************
**                            串口通信文件
*********************************************************************************/

#include "config.h"

#ifndef   UART_EN
#define   UART_EN    0                 /*如果要使用到串口则使能  (1)*/
#endif

#if  UART_EN  


/*****************************************************************************
**函数名:		UART_init
**
**功能描述:		串口初始化
**
** 
** 
*****************************************************************************/ 
void UART_init(void)  //11.0592MHz频率,设置波特率9.6k,8位数据位,无校验,接收发送使能,1位停止位 
{ 
  
//  UBRRH= ((Fosc/(16*Baud))-1)>>8;
UCSRC =0x06;  //0x06 8位数据,1位停止位,无校验 
UBRRH=0; 
//  UBRRL =((Fosc/(16*Baud))-1);     /*在异步情况下设置波特率*/
UBRRL=7;
UCSRA = 0x00;
UCSRB=(1<<RXCIE)|(1<<RXEN)|(1<<TXEN);  //发送接收使能,使用查询方式,故没有使能中断 

} 
/*****************************************************************************
**函数名:		UART_sentbyte
**
**功能描述:		出口发送数据查询方式发送接收字符
**
**入口参数:要发送的数据 
** 
*****************************************************************************/ 
void UART_sentbyte(uint8 c)  //
 { 
  while(!(UCSRA&(1<<UDRE)));//等待发送缓冲区为空 
  UDR=c; 
  }

/****************************************************************************
* 名称:ISendBuf()
* 功能:将缓冲区的数据发送回主机,并等待发送完毕。
* 入口参数:数据指针
* 出口参数:无
****************************************************************************/
void  UART_SendData(uint8 *ptr)
{  
	while (*ptr)
	{
		UART_sentbyte(*ptr++);
	}
	UART_sentbyte(0x0D);
	UART_sentbyte(0x0A);  //结尾发送回车换行   
}
/****************************************************************************
* 名称

⌨️ 快捷键说明

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