📄 uart.c
字号:
#include <iom16v.h>
#include <macros.h>
#include <bit.h>
//UART0 initialize
// desired baud rate: 9600
// actual: baud rate:9615 (0.2%)
void uart0_init(void)
{
UCSRB = 0x00; //disable while setting baud rate
UCSRA = 0x00;
UCSRC = BIT(URSEL) | 0x06;
UBRRL = 0x33; //set baud rate lo
UBRRH = 0x00; //set baud rate hi
UCSRB = 0x08;
}
void put_c(uchar c) //发送采用查询方式
{
while( !(UCSRA & (1<<UDRE)) );
UDR=c;
}
void put_asc8(uchar dat)
{
put_c(dat/100 + 0x30);
dat = dat % 100;
put_c(dat/10 + 0x30);
dat = dat % 10;
put_c(dat + 0x30);
}
void put_asc16(uint dat)
{
put_c(dat/10000 + 0x30);
dat = dat % 10000;
put_c(dat/1000 + 0x30);
dat = dat % 1000;
put_c(dat/100 + 0x30);
dat = dat % 100;
put_c(dat/10 + 0x30);
dat = dat % 10;
put_c(dat + 0x30);
}
void put_string(uchar *ptr)
{
while(*ptr)
{
put_c(*ptr);
ptr++;
}
}
#define CR put_string("\r\n")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -