uart.c

来自「基于ATmega64单片机以及vs1003的SD卡方案的MP3播放源代码」· C语言 代码 · 共 49 行

C
49
字号
/*****************************************************/
/*            File name : UART.c                                                    */
/* Description : code for UART0 of m64/128                             */
/* Platform     : AVRStudio4.13 + WinAVR20070525  for AVR     */
/* Author       : Michael Zhang - 章其波                            */
/* Email         : sudazqb@163.com                                          */
/* MSN          : zhangqibo_1985@hotmail.com                          */
/* Date          : 2006-12-26                                                    */
/* NOT FOR COMMERCIAL USE,     ALL RIGHT RESERVED!         */
/*****************************************************/
/* Change Log:                                                                      */
/*                   20061226: modify for AVRGCC, fdevopen();        */
/*                   20061226: original version from ATmel's datasheet*/
/*****************************************************/

#include"UART.h"


int USART_putchar(char CH)
{
	/* Wait for empty transmit buffer */
	while ( !( UCSR0A & (1<<UDRE0)) );
	/* Put data into buffer, sends the data */
	UDR0=CH;
	return 0;
}


int USART_getchar(void)
{
 	/* Wait for data to be received */
	while ( !(UCSR0A & (1<<RXC0)) );
	/* Get and return received data from buffer */
	return UDR0;
}


void COM_Initial(unsigned int UBRR_val)
{
	/* Set baud rate */
	UBRR0H = (unsigned char)(UBRR_val>>8);
	UBRR0L = (unsigned char)UBRR_val;
	/* Enable receiver and transmitter */
	UCSR0B = (1<<RXEN0)|(1<<TXEN0);
	/* Set frame format: 8data, 2stop bit */
	//UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);
	fdevopen(USART_putchar,USART_getchar);//
}

⌨️ 快捷键说明

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