📄 uart.c
字号:
/*****************************************************/
/* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -