📄 main.c
字号:
/***************************************
串口测试
ICC-AVR
hushunlin
2008-4-22
***************************************/
#include<iom128v.h>
#include<macros.h>
//***************************************
#define uchar unsigned char
#define uint unsigned int
#define foce 8000000
#define baud 9600
//***************************************
void usart_init(void);
void putchar(uchar c);
void putstring(uchar *s);
uchar getchar(void);
//***************************************
uchar temp;
//***************************************
void main(void)
{
CLI();
usart_init();
SEI();
putstring("author:hushunlin");
putstring("QQ:250025437");
putstring("MAIL:shunlinhu@163.com");
while(1);
}
//***************************************
void usart_init()
{
UCSR0A=0X00;
UCSR0B=((1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0)|(1<<TXCIE0));
UCSR0C=((1<<UCSZ01)|(1<<UCSZ00));
UBRR0L=(foce/16/baud-1)%256;
UBRR0H=(foce/16/baud-1)/256;
}
//***************************************
void putchar(uchar c)
{
while(!(UCSR0A&(1<<UDRE0)));
UDR0=c;
}
//***************************************
void putstring(uchar *s)
{
while(*s)
{
putchar(*s);
s++;
}
putchar(0x0a);
putchar(0x0d);
}
//***************************************
uchar getchar(void)
{
while(!(UCSR0A&(1<<RXC0)));
return UDR0;
}
//***************************************
#pragma interrupt_handler usart0_rx:19
void usart0_rx(void)
{
temp=UDR0;
}
//***************************************
#pragma interrupt_handler usart0_tx:21
void usart0_tx(void)
{
if(temp!=0)
{
UDR0=temp;
temp=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -