📄 usart.h
字号:
/*******************标准I/O功能****************开始********/
void USART_init(void)
{
// 晶振频率 : 4.0MHz
// 通信参数: 8 Data, 1 Stop, No Parity
// 波特率:
// UBRRL= 0x0C 19200;
// UBRRL= 0x19 9600;
// UBRRL= 0x33 4800;
// UBRRL= 0x67 2400
UCSRB |= (1<<RXEN)|(1<<TXEN); //允许发送和接收,|(1<<RXCIE)
UCSRC |= (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); //8位数据位+1位停止位
UBRRH = 0x00;
UBRRL = 71;//9600 baud 6MHz:38 4MHz:25:71:11.0592
//sei();
}
//标准I/O输出函数
int put_char(char c)
{
if(c == '\n')
{
put_char('\r');
}
UDR = c;
while(!(UCSRA &(1<<UDRE)));
UCSRA |= (1<<UDRE);
return 0;
}
//标准I/O输入函数
int get_char(void)
{
while(!(UCSRA &(1<<RXC)));
return UDR;
}
//发送指定长度的字符串
void send_nbyte(unsigned char *p,unsigned char L)
{
unsigned char w;
for(w=0;w<L;w++)
{
// UDR = *(p+w);
// while(!(UCSRA &(1<<UDRE)));
//UCSRA |= (1<<UDRE);
put_char(*(p+w));
}
}
//发送字符串
void put_str(unsigned char *Str)
{
while(*Str != '\0')
{
put_char(*Str);
Str++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -