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

📄 uart.c

📁 avr单片机的ADC驱动程序
💻 C
字号:
#include 	<avr/io.h> 

#include 	<avr/interrupt.h>
#include <inttypes.h>
//#include 	<stdint.h>
//#include 	<stdlib.h>         
#include 	<string.h>  
//#include 	<stdio.h>


/*
	ADC in Free Running mode
	sum the eight times in each channel
	I(Young 13shao) finished!
*/
#define uchar unsigned char
#define uint  unsigned int

////////////////////////////////////////


/////////////////////////////////////////////////
void USART_Init(void )
{
/* 设置波特率*/
UBRR0H=0;		
	UBRR0L=47;//9600
/* 接收器与发送器使能 */
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
/* 设置帧格式: 8 个数据位, 2个停止位 */
UCSR0C = (1<<USBS0)|(3<<UCSZ0);
}

void USART_Transmit_bit( unsigned char data )
{
/* 等待发送缓冲器为空 */
while ( !( UCSR0A & (1<<UDRE0)) );
/* 将数据放入缓冲器,发送数据 */
UDR0 = data;
}
void USART_Transmit_str (unsigned char  *str)
{
	while (1) 
	{
		if (*str == '\0')	break;		// 遇到结束符,退出
		USART_Transmit_bit(*str++);			// 发送数据
	}
}

unsigned char USART_Receive_bit( void )
{
/* 等待接收数据 */
while ( !(UCSR0A & (1<<RXC0)) );
/* 从缓冲器中获取并返回数据 */
return UDR0;
}

void USART_Receive_str (unsigned char *s, int n)
{
	for ( ; n>0; n--)
	{
		*s++ = USART_Receive_bit();
	}
}



⌨️ 快捷键说明

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