#define Bps_Uart1 38400
#define Fosc 16000000
/////////////////////////////////////////////
//UART0 初始化
void uart0_init(unit32 bps)
{
unit32 temp;
temp=Fosc/bps/8-1;
UCSR0B = 0x00; //disable while setting baud rate
UCSR0A = 0x02; //disable while setting baud rate
UBRR0L =temp;
UBRR0H =(temp>>8);
UCSR0C = 0x86;
UCSR0A = 0x02; //enable 2倍波特率
UCSR0B = 0x98; //enable
}
///////////////////////////////////////////
//UART1 初始化
void uart1_init(unit32 bps)
{
unit32 temp;
temp=Fosc/bps/8-1;
UCSR1B = 0x00; //disable while setting baud rate
UCSR1A = 0x02; //disable while setting baud rate
UBRR1L =temp;
UBRR1H =(temp>>8);
UCSR1C = 0x86;
UCSR1A = 0x02; //enable 2倍波特率
UCSR1B = 0x98; //enable
}
/*********************************************************/
//向串口usart0发送一个字节函数
void Uart0_putchar( unsigned char sdbyte)
{
UDR0=sdbyte;
while(!(UCSR0A&0x40));
UCSR0A|=0x40;
}
/*********************************************************/
//向串口usart0发送一个数组函数
void Uart0_sendbuf(unsigned char *ptr,unsigned char len)
{
while(len>0)
{
Uart0_putchar(*ptr++);
len--;
}
}
/*********************************************************/
//向串口usart1发送一个字节函数
void Uart1_putchar( unsigned char sdbyte)
{
UDR1=sdbyte;
while(!(UCSR1A&0x40));
UCSR1A|=0x40;
}
/*********************************************************/
//向串口usart1发送一个数组函数
void Uart1_sendbuf(unsigned char *ptr,unsigned char len)
{
while(len>0)
{
Uart1_putchar(*ptr++);
len--;
}
}
//////////////////////////////////////////////////////////
//多参数打印函数
void Uart1_printf(char *str,...)
{
char buf[128];
unsigned char i = 0;
va_list ptr;
va_start(ptr,str);
vsprintf(buf,str,ptr);
while(buf[i])
{
Uart1_putchar(buf[i]);
i++;
}
}
////////////////////////////////////////////////////////
void Uart0_printf(char *str,...)
{
char buf[128];
unsigned char i = 0;
va_list ptr;
va_start(ptr,str);
vsprintf(buf,str,ptr);
while(buf[i])
{
Uart0_putchar(buf[i]);
i++;
}
}
上一篇:AVR单片机JTAG接口的使用方法
下一篇:AVR I/O使用方法
推荐阅读最新更新时间:2024-03-16 15:17
设计资源 培训 开发板 精华推荐
- 看MPLAB® Harmony集成软件框架之学习篇 你来评论我送礼!
- 电感知识大考:遇到这些问题怎么办?|“MPS电感探索季:发现小且不凡的秘密!”第一站
- 有奖直播|第三代 TI C2000™ 新特性资源更新
- 观看安森美半导体高精度、高能效的电池电量计量IC方案,答题赢好礼!
- “慧眼”识PCIe——阅读《PCIe要了解的十件事》和泰克OPEN-DAY的培训资料 抽奖、分享赢好礼!
- 激情竞赛日--看谁最给力!
- 上演你的“ADI实验室电路”DIY,赢取E金币 !
- 月度原创精选评选2018年7月(总第6期)
- 泰克示波器旅行指南 更高带宽、更低噪声、更多通道
- “集齐五友”参与KW41Z创意征集活动,赢100元京东卡!