usart.c

来自「FM12864液晶驱动,单片机为ATMEGA48,GCC编译器开发,其中包含AD」· C语言 代码 · 共 44 行

C
44
字号

#include "atmega.h"
#include <avr/io.h>

#include <util/delay.h>
#include <avr/signal.h>
#include <avr/interrupt.h>

/*****************************************************/
#define RSrevmax  10
unsigned char rs232revbuf[RSrevmax];
unsigned char rs232mark = 0;
unsigned char rs232writeP = 0;
/*****************************************************/
void init_usart(void)
{
	UBRR0H = 0;
	UBRR0L = 51;//8M晶体
	UCSR0C = 0x06;//数据位8位
	UCSR0A = 0x00;
	UCSR0B = 0x90;//使能接收
}

/*****************************************************/
ISR(USART_RX_vect)
{
	rs232revbuf[rs232writeP]=UDR0;
	if(rs232writeP >= RSrevmax)rs232writeP = 0;
	else rs232writeP++;
}

/*****************************************************/
ISR(USART_TX_vect)
{
}

/*****************************************************/
void send_com(unsigned char data)
{
	UDR0 = data;
	UCSR0B = UCSR0B | 0x08;//发送数据
}
/*****************************************************/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?