Atmega128串口详解
********************包含头文件********************************/
#include
#include
/***********************************宏定义**********************************/
#define fosc 8000000 //晶振8MHZ
#define baud 2400//波特率
/****************************************************************************
函数功能:uart0初始化程序
入口参数:
出口参数:
****************************************************************************/
void uart0_init(void)
{
UCSR0B = 0x00; //关闭UART00
UCSR0A = 0x00; //不使用倍速发送(异步)
UCSR0C =(1
UBRR0H=(fosc/16/(baud+1))/256;
UCSR0B =(1
/****************************************************************************
函数功能:uart0发送单字节数据
入口参数:c
出口参数:
****************************************************************************/
void putchar0(unsigned char c)
{
while (!(UCSR0A&(1
}
/****************************************************************************
函数功能:uart0接收单字节数据
入口参数:
出口参数:
****************************************************************************/
unsigned char getchar0(void)
{
while(!(UCSR0A& (1
}
/****************************************************************************
函数功能:uart0发送字符串数据
入口参数:*s
出口参数:
****************************************************************************/
void puts0(char *s)
{
while (*s)
{
putchar0(*s);
s++;
}
putchar0(0x0a);//回车换行
//putchar0(0x0d);
}
/****************************************************************************
函数功能:主程序
入口参数:
出口参数:
****************************************************************************/
void main(void)
{
unsigned char i;
uart0_init();//UART0初始化
puts0("HELLO!");
while(1)
{
puts0("test ok!");
}
}
串口通信(USART1)
/***************************************************************************/
/*串口1测试程序 */
/*目标器件:ATmega128 */
/*晶振:RC 8MHZ */
/*选用的波特率:9600(也可以另外设定),改了波特率后需要将电源拔了再插上方可使用*/
/*编译环境:ICCAVR 7.13 */
/*E-Mail:number007cool@163.com */
/*时间:2010年1月14日 */
/***************************************************************************/
/*********************************包含头文件********************************/
#include
#include
/***********************************宏定义**********************************/
#define fosc 8000000 //晶振8MHZ
#define baud 9600//波特率
/****************************************************************************
函数功能:uart1初始化程序
入口参数:
出口参数:
****************************************************************************/
void uart1_init(void) //USART1初始化
{
UCSR1B = 0x00; //关闭USART1
UCSR1A = 0x00; //不适使用倍速发送
UCSR1C = (1
UBRR1H=(fosc/16/(baud+1))/256;
UCSR1B =(1
/****************************************************************************
函数功能:uart1发送单字节数据
入口参数:c
出口参数:
****************************************************************************/
void putchar1(unsigned char c)//串口1发送字符
{
while (!(UCSR1A&(1
}
/****************************************************************************
函数功能:uart1接收单字节数据
入口参数:
出口参数:
****************************************************************************/
unsigned char getchar1(void) //串口1接回收数据
{
while(!(UCSR1A& (1
}
/****************************************************************************
函数功能:uart1发送字符串数据
入口参数:*s
出口参数:
****************************************************************************/
void puts1(char *s)
{
while (*s)
{
putchar1(*s);
s++;
}
putchar1(0x0a);//回车换行
putchar1(0x0d);
}
/****************************************************************************
函数功能:主程序
入口参数:
出口参数:
****************************************************************************/
void main(void)
{
unsigned char i;
Atmega128串口详 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)