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 + -
显示快捷键?