⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usart.c

📁 脱机ISP编程器
💻 C
字号:
/*------------------------------------------------------
Function:	part of Offline Downloader
Author:		avenbbs(8785116@qq.com)
Version:	1.0
Date:		2008-9-28~2008-10-1
--------------------------------------------------------*/
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include "usart.h"
#include "command.h"

extern volatile unsigned char xmodem_rcv;

ISR(SIG_USART_RECV)
{
	// TODO: Add your code here
	unsigned char tmp;
	tmp=UDR0;
	xmodem_rcv=tmp;
	com_process(tmp);
		
}

unsigned char usart_rcv(void)
{
	while (!(UCSR0A & (1<<RXC0)))
		;
		
	return UDR0;
}

void usart_tsmt(unsigned char data)
{
	while (!(UCSR0A & (1<<UDRE0)))
		;
		
	UDR0 = data;
}

void usart_init(unsigned int baud)
{
	UBRR0H = (unsigned char)(baud>>8);/* 设置波特率*/
	UBRR0L = (unsigned char)baud;
	UCSR0B = (1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);/* 接收器与发送器使能 */
	UCSR0C = (3<<UCSZ00);/* 设置帧格式: 8 个数据位, 1个停止位 */
}

void sendstr(char *str)
{
	while (*str)
		usart_tsmt(*str++);
		
	usart_tsmt(0x0D);
	
	usart_tsmt(0x0A);
}

void pgm_sendstr(char *str)
{
	while (pgm_read_byte(str))
		usart_tsmt(pgm_read_byte(str++));
		
	usart_tsmt(0x0D);
	
	usart_tsmt(0x0A);
}

⌨️ 快捷键说明

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